regex: add many uses of __attribute_warn_unused_result__
[gnulib.git] / ChangeLog
1 2010-01-28  Jim Meyering  <meyering@redhat.com>
2
3         regex: add many uses of __attribute_warn_unused_result__
4         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
5         * lib/regexec.c: Likewise.
6         Extracted from a messy glibc commit.
7
8         regcomp.c: spelling and merge-artifact from glibc
9         * lib/regcomp.c: Merge remainder of glibc's
10         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
11
12         regcomp.c: sync white-space changes from glibc
13         * lib/regcomp.c: Merge to accommodate white space
14         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15
16         regcomp.c: do not ignore internal return values
17         * lib/regcomp.c: Do not ignore internal return values.
18         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
19         but without its white-space changes and spelling fixes.
20
21         regex_internal.h: define __attribute_warn_unused_result__
22         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
23
24         maint: add a syntax-check rule to check for vulnerable Makefile.in
25         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26
27 2010-01-27  Jim Meyering  <meyering@redhat.com>
28
29         ncftpput-ftp: clean up spaces
30         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31         Remove trailing blanks.
32
33 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34
35         * build-aux/git-version-gen: Fix copyright statement.
36         * build-aux/gnupload: Likewise.
37         * tests/test-arcfour.c: Likewise.
38         * tests/test-arctwo.c: Likewise.
39         * tests/test-count-one-bits.c: Likewise.
40         * tests/test-crc.c: Likewise.
41         * tests/test-des.c: Likewise.
42         * tests/test-gc-arcfour.c: Likewise.
43         * tests/test-gc-arctwo.c: Likewise.
44         * tests/test-gc-des.c: Likewise.
45         * tests/test-gc-hmac-md5.c: Likewise.
46         * tests/test-gc-hmac-sha1.c: Likewise.
47         * tests/test-gc-md2.c: Likewise.
48         * tests/test-gc-md4.c: Likewise.
49         * tests/test-gc-md5.c: Likewise.
50         * tests/test-gc-pbkdf2-sha1.c: Likewise.
51         * tests/test-gc-rijndael.c: Likewise.
52         * tests/test-gc-sha1.c: Likewise.
53         * tests/test-gc.c: Likewise.
54         * tests/test-gethostname.c: Likewise.
55         * tests/test-gettimeofday.c: Likewise.
56         * tests/test-hash.c: Likewise.
57         * tests/test-hmac-md5.c: Likewise.
58         * tests/test-hmac-sha1.c: Likewise.
59         * tests/test-md2.c: Likewise.
60         * tests/test-md4.c: Likewise.
61         * tests/test-md5.c: Likewise.
62         * tests/test-memchr.c: Likewise.
63         * tests/test-memchr2.c: Likewise.
64         * tests/test-memcmp.c: Likewise.
65         * tests/test-memmem.c: Likewise.
66         * tests/test-memrchr.c: Likewise.
67         * tests/test-rawmemchr.c: Likewise.
68         * tests/test-read-file.c: Likewise.
69         * tests/test-rijndael.c: Likewise.
70         * tests/test-sockets.c: Likewise.
71         * tests/test-strchrnul.c: Likewise.
72         * tests/test-strstr.c: Likewise.
73         * tests/test-strtod.c: Likewise.
74         * build-aux/ncftpput-ftp: Likewise.
75
76 2010-01-26  Eric Blake  <ebb9@byu.net>
77
78         ignore-value: update recommended header name
79         * modules/ignore-value (Include): Only use <> for headers that
80         exist in glibc.
81
82 2010-01-26  Jim Meyering  <meyering@redhat.com>
83
84         test-userspec.c: avoid compiler warnings
85         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
86         and "initialization discards qualifiers..." warnings.
87         Put the first "uid" in its own scope, and make char* members "const".
88
89 2010-01-25  Bruno Haible  <bruno@clisp.org>
90
91         gnulib-tool: Make warning diagnostics consistent.
92         * gnulib-tool (func_warning): New function.
93         Use it everywhere where gnulib-tool produces output to stderr and it is
94         not a fatal error.
95
96 2010-01-25  Bruno Haible  <bruno@clisp.org>
97
98         Fix test dependencies.
99         * modules/xstrtol-tests (Depends-on): Add inttypes.
100         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
101
102 2010-01-25 Pádraig Brady <P@draigBrady.com>
103
104         syntax-check: detect incorrect boolean macro values in config.h
105         * modules/maintainer-makefile (configure.ac): Parameterize the location
106         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
107         The logic is from Eric Blake and the location indicated by Jim Meyering.
108         Note the more natural CONFIG_HEADER name is prohibited by automake
109         for backwards compatibility reasons.
110         * top/maint.mk (sc_Wundef_boolean): New rule.
111
112 2010-01-25  Jim Meyering  <meyering@redhat.com>
113
114         bootstrap: detect MacOS 10.6's shasum, too
115         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
116         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
117
118 2010-01-23  Jim Meyering  <meyering@redhat.com>
119
120         xstrtoll: new module
121         * modules/xstrtoll: New file.
122         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
123         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
124         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
125         ./configure fails if you use this module and lack "long long".
126         * modules/xstrtoll-tests: New module.
127         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
128         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
129         new init.sh-based test framework.
130
131 2010-01-24  Bruno Haible  <bruno@clisp.org>
132
133         Tests for module 'yn'.
134         * modules/yn-tests: New file.
135         * tests/test-yn.c: New file.
136
137         Tests for module 'y1'.
138         * modules/y1-tests: New file.
139         * tests/test-y1.c: New file.
140
141         Tests for module 'y0'.
142         * modules/y0-tests: New file.
143         * tests/test-y0.c: New file.
144
145         Tests for module 'tanh'.
146         * modules/tanh-tests: New file.
147         * tests/test-tanh.c: New file.
148
149         Tests for module 'tan'.
150         * modules/tan-tests: New file.
151         * tests/test-tan.c: New file.
152
153         Tests for module 'sqrt'.
154         * modules/sqrt-tests: New file.
155         * tests/test-sqrt.c: New file.
156
157         Tests for module 'sinh'.
158         * modules/sinh-tests: New file.
159         * tests/test-sinh.c: New file.
160
161         Tests for module 'sin'.
162         * modules/sin-tests: New file.
163         * tests/test-sin.c: New file.
164
165         Tests for module 'rint'.
166         * modules/rint-tests: New file.
167         * tests/test-rint.c: New file.
168
169         Tests for module 'remainder'.
170         * modules/remainder-tests: New file.
171         * tests/test-remainder.c: New file.
172
173         Tests for module 'pow'.
174         * modules/pow-tests: New file.
175         * tests/test-pow.c: New file.
176
177         Tests for module 'nextafter'.
178         * modules/nextafter-tests: New file.
179         * tests/test-nextafter.c: New file.
180
181         Tests for module 'modf'.
182         * modules/modf-tests: New file.
183         * tests/test-modf.c: New file.
184
185         Tests for module 'logb'.
186         * modules/logb-tests: New file.
187         * tests/test-logb.c: New file.
188
189         Tests for module 'log1p'.
190         * modules/log1p-tests: New file.
191         * tests/test-log1p.c: New file.
192
193         Tests for module 'log10'.
194         * modules/log10-tests: New file.
195         * tests/test-log10.c: New file.
196
197         Tests for module 'log'.
198         * modules/log-tests: New file.
199         * tests/test-log.c: New file.
200
201         Tests for module 'lgamma'.
202         * modules/lgamma-tests: New file.
203         * tests/test-lgamma.c: New file.
204
205         Tests for module 'ldexp'.
206         * modules/ldexp-tests: New file.
207         * tests/test-ldexp.c: New file.
208
209         Tests for module 'jn'.
210         * modules/jn-tests: New file.
211         * tests/test-jn.c: New file.
212
213         Tests for module 'j1'.
214         * modules/j1-tests: New file.
215         * tests/test-j1.c: New file.
216
217         Tests for module 'j0'.
218         * modules/j0-tests: New file.
219         * tests/test-j0.c: New file.
220
221         Tests for module 'hypot'.
222         * modules/hypot-tests: New file.
223         * tests/test-hypot.c: New file.
224
225         Tests for module 'fmod'.
226         * modules/fmod-tests: New file.
227         * tests/test-fmod.c: New file.
228
229         Tests for module 'fabs'.
230         * modules/fabs-tests: New file.
231         * tests/test-fabs.c: New file.
232
233         Tests for module 'exp'.
234         * modules/exp-tests: New file.
235         * tests/test-exp.c: New file.
236
237         Tests for module 'erfc'.
238         * modules/erfc-tests: New file.
239         * tests/test-erfc.c: New file.
240
241         Tests for module 'erf'.
242         * modules/erf-tests: New file.
243         * tests/test-erf.c: New file.
244
245         Tests for module 'cosh'.
246         * modules/cosh-tests: New file.
247         * tests/test-cosh.c: New file.
248
249         Tests for module 'cos'.
250         * modules/cos-tests: New file.
251         * tests/test-cos.c: New file.
252
253         Tests for module 'copysign'.
254         * modules/copysign-tests: New file.
255         * tests/test-copysign.c: New file.
256
257         Tests for module 'cbrt'.
258         * modules/cbrt-tests: New file.
259         * tests/test-cbrt.c: New file.
260
261         Tests for module 'atan2'.
262         * modules/atan2-tests: New file.
263         * tests/test-atan2.c: New file.
264
265         Tests for module 'atan'.
266         * modules/atan-tests: New file.
267         * tests/test-atan.c: New file.
268
269         Tests for module 'asin'.
270         * modules/asin-tests: New file.
271         * tests/test-asin.c: New file.
272
273         Tests for module 'acos'.
274         * modules/acos-tests: New file.
275         * tests/test-acos.c: New file.
276
277 2010-01-24  Bruno Haible  <bruno@clisp.org>
278
279         Fix tests for common <math.h> functions.
280         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
281         code snippet that references the function pointer, rather than merely
282         calling the function. Substitute the FUNC_LIBM variable.
283         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
284         * modules/acos (configure.ac): Likewise.
285         * modules/asin (configure.ac): Likewise.
286         * modules/atan (configure.ac): Likewise.
287         * modules/atan2 (configure.ac): Likewise.
288         * modules/cbrt (configure.ac): Likewise.
289         * modules/copysign (configure.ac): Likewise.
290         * modules/cos (configure.ac): Likewise.
291         * modules/cosh (configure.ac): Likewise.
292         * modules/erf (configure.ac): Likewise.
293         * modules/erfc (configure.ac): Likewise.
294         * modules/exp (configure.ac): Likewise.
295         * modules/fabs (configure.ac): Likewise.
296         * modules/fmod (configure.ac): Likewise.
297         * modules/hypot (configure.ac): Likewise.
298         * modules/j0 (configure.ac): Likewise.
299         * modules/j1 (configure.ac): Likewise.
300         * modules/jn (configure.ac): Likewise.
301         * modules/ldexp (configure.ac): Likewise.
302         * modules/lgamma (configure.ac): Likewise.
303         * modules/log (configure.ac): Likewise.
304         * modules/log10 (configure.ac): Likewise.
305         * modules/log1p (configure.ac): Likewise.
306         * modules/logb (configure.ac): Likewise.
307         * modules/modf (configure.ac): Likewise.
308         * modules/nextafter (configure.ac): Likewise.
309         * modules/pow (configure.ac): Likewise.
310         * modules/remainder (configure.ac): Likewise.
311         * modules/rint (configure.ac): Likewise.
312         * modules/sin (configure.ac): Likewise.
313         * modules/sinh (configure.ac): Likewise.
314         * modules/tan (configure.ac): Likewise.
315         * modules/tanh (configure.ac): Likewise.
316         * modules/y0 (configure.ac): Likewise.
317         * modules/y1 (configure.ac): Likewise.
318         * modules/yn (configure.ac): Likewise.
319
320 2010-01-24  Bruno Haible  <bruno@clisp.org>
321
322         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
323         * tests/test-acosl.c (x): New variable.
324         (main): Store argument in x and fetch it from x.
325         * tests/test-asinl.c (x): New variable.
326         (main): Store argument in x and fetch it from x.
327         * tests/test-atanl.c (x): New variable.
328         (main): Store argument in x and fetch it from x.
329         * tests/test-cosl.c (x): New variable.
330         (main): Store argument in x and fetch it from x.
331         * tests/test-expl.c (x): New variable.
332         (main): Store argument in x and fetch it from x.
333         * tests/test-logl.c (x): New variable.
334         (main): Store argument in x and fetch it from x.
335         * tests/test-sinl.c (x): New variable.
336         (main): Store argument in x and fetch it from x.
337         * tests/test-sqrtl.c (x): New variable.
338         (main): Store argument in x and fetch it from x.
339         * tests/test-tanl.c (x): New variable.
340         (main): Store argument in x and fetch it from x.
341
342 2010-01-24  Bruno Haible  <bruno@clisp.org>
343
344         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
345         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
346         assignments to the initial TESTS_ENVIRONMENT.
347         * doc/gnulib.texi (Unit test modules): Document it.
348         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
349         TESTS_ENVIRONMENT.
350         * modules/btowc-tests (Makefile.am): Likewise.
351         * modules/c-stack-tests (Makefile.am): Likewise.
352         * modules/c-strcase-tests (Makefile.am): Likewise.
353         * modules/copy-file-tests (Makefile.am): Likewise.
354         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
355         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
356         * modules/mbrtowc-tests (Makefile.am): Likewise.
357         * modules/mbscasecmp-tests (Makefile.am): Likewise.
358         * modules/mbscasestr-tests (Makefile.am): Likewise.
359         * modules/mbschr-tests (Makefile.am): Likewise.
360         * modules/mbscspn-tests (Makefile.am): Likewise.
361         * modules/mbsinit-tests (Makefile.am): Likewise.
362         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
363         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
364         * modules/mbspbrk-tests (Makefile.am): Likewise.
365         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
366         * modules/mbsrchr-tests (Makefile.am): Likewise.
367         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
368         * modules/mbsspn-tests (Makefile.am): Likewise.
369         * modules/mbsstr-tests (Makefile.am): Likewise.
370         * modules/nl_langinfo-tests (Makefile.am): Likewise.
371         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
372         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
373         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
374         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
375         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
376         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
377         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
378         * modules/wcrtomb-tests (Makefile.am): Likewise.
379         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
380         * modules/wcsrtombs-tests (Makefile.am): Likewise.
381         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
382         assignments from TESTS_ENVIRONMENT.
383         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
384         augmentation.
385         * modules/argp-version-etc-tests (Makefile.am): Likewise.
386         * modules/atexit-tests (Makefile.am): Likewise.
387         * modules/binary-io-tests (Makefile.am): Likewise.
388         * modules/closein-tests (Makefile.am): Likewise.
389         * modules/dprintf-posix-tests (Makefile.am): Likewise.
390         * modules/exclude-tests (Makefile.am): Likewise.
391         * modules/fflush-tests (Makefile.am): Likewise.
392         * modules/fpending-tests (Makefile.am): Likewise.
393         * modules/fprintf-posix-tests (Makefile.am): Likewise.
394         * modules/freadahead-tests (Makefile.am): Likewise.
395         * modules/freadptr-tests (Makefile.am): Likewise.
396         * modules/freadseek-tests (Makefile.am): Likewise.
397         * modules/fseek-tests (Makefile.am): Likewise.
398         * modules/fseeko-tests (Makefile.am): Likewise.
399         * modules/ftell-tests (Makefile.am): Likewise.
400         * modules/ftello-tests (Makefile.am): Likewise.
401         * modules/idpriv-drop-tests (Makefile.am): Likewise.
402         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
403         * modules/lseek-tests (Makefile.am): Likewise.
404         * modules/parse-duration-tests (Makefile.am): Likewise.
405         * modules/perror-tests (Makefile.am): Likewise.
406         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
407         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
408         * modules/pipe-tests (Makefile.am): Likewise.
409         * modules/pread-tests (Makefile.am): Likewise.
410         * modules/printf-posix-tests (Makefile.am): Likewise.
411         * modules/select-tests (Makefile.am): Likewise.
412         * modules/sigpipe-tests (Makefile.am): Likewise.
413         * modules/tsearch-tests (Makefile.am): Likewise.
414         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
415         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
416         * modules/uniname/uniname-tests (Makefile.am): Likewise.
417         * modules/uniwidth/width-tests (Makefile.am): Likewise.
418         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
419         * modules/version-etc-tests (Makefile.am): Likewise.
420         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
421         * modules/vprintf-posix-tests (Makefile.am): Likewise.
422         * modules/xalloc-die-tests (Makefile.am): Likewise.
423         * modules/xprintf-posix-tests (Makefile.am): Likewise.
424         * modules/xstrtoimax-tests (Makefile.am): Likewise.
425         * modules/xstrtol-tests (Makefile.am): Likewise.
426         * modules/xstrtoumax-tests (Makefile.am): Likewise.
427         * modules/yesno-tests (Makefile.am): Likewise.
428         Suggested by Jim Meyering.
429
430 2010-01-24  Bruno Haible  <bruno@clisp.org>
431
432         More documentation.
433         * doc/gnulib.texi (Writing modules): New chapter.
434         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
435         the new chapter.
436
437 2010-01-24  Jim Meyering  <meyering@redhat.com>
438
439         maint.mk: do not prepend "./" after filtering
440         * top/maint.mk (_prepend_srcdir_prefix): New variable
441         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
442         "./" when $(srcdir) is ".".
443
444         define STREQ(a,b) consistently, removing useless parentheses
445         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
446         since the only risk is that "a" or "b" contains an unparenthesized
447         comma, but if either did that, STREQ would have 3 or more arguments.
448         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
449         * lib/fts.c (STREQ): Remove unnecessary parentheses.
450         * lib/hash-triple.c (STREQ): Likewise.
451         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
452         * lib/getugroups.c (STREQ): Likewise.
453
454 2010-01-23  Jim Meyering  <meyering@redhat.com>
455
456         maint.mk: fix syntax-check in a non-srcdir build directory
457         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
458         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
459
460 2010-01-22  Jim Meyering  <meyering@redhat.com>
461
462         userspec: add unit tests
463         * tests/test-userspec.c: New file.
464         * modules/userspec-tests: Likewise.
465
466 2010-01-21  Jim Meyering  <meyering@redhat.com>
467
468         maint.mk: handle source file names containing "." robustly
469         * top/maint.mk (_dot_escaped_srcdir): Define.
470         (VC_LIST): Use it in LHS of sed substitution.
471
472 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
473
474         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
475         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
476         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
477         from a non-srcdir build.
478
479 2010-01-20  Eric Blake  <ebb9@byu.net>
480
481         warn-on-use: use instead of link-warning
482         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
483         * modules/unistd (Depends-on, Makefile.am): Likewise.
484         * modules/arpa_inet (Depends-on): Replace link-warning with
485         warn-on-use.
486         (Makefile.am): Update rules accordingly.
487         * modules/ctype (Depends-on, Makefile.am): Likewise.
488         * modules/dirent (Depends-on, Makefile.am): Likewise.
489         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
490         * modules/inttypes (Depends-on, Makefile.am): Likewise.
491         * modules/langinfo (Depends-on, Makefile.am): Likewise.
492         * modules/locale (Depends-on, Makefile.am): Likewise.
493         * modules/math (Depends-on, Makefile.am): Likewise.
494         * modules/search (Depends-on, Makefile.am): Likewise.
495         * modules/signal (Depends-on, Makefile.am): Likewise.
496         * modules/spawn (Depends-on, Makefile.am): Likewise.
497         * modules/stdlib (Depends-on, Makefile.am): Likewise.
498         * modules/string (Depends-on, Makefile.am): Likewise.
499         * modules/strings (Depends-on, Makefile.am): Likewise.
500         * modules/sys_file (Depends-on, Makefile.am): Likewise.
501         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
502         * modules/sys_select (Depends-on, Makefile.am): Likewise.
503         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
504         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
505         * modules/sys_times (Depends-on, Makefile.am): Likewise.
506         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
507         * modules/wchar (Depends-on, Makefile.am): Likewise.
508         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
509         should be poisoned.
510         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
511         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
512         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
513         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
514         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
515         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
516         * m4/math_h.m4 (gl_MATH_H): Likewise.
517         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
518         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
519         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
520         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
521         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
522         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
523         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
524         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
525         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
526         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
527         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
528         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
529         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
530         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
531         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
532         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
533         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
534         GL_LINK_WARNING.
535         * lib/ctype.in.h: Likewise.
536         * lib/dirent.in.h: Likewise.
537         * lib/fcntl.in.h: Likewise.
538         * lib/inttypes.in.h: Likewise.
539         * lib/langinfo.in.h: Likewise.
540         * lib/locale.in.h: Likewise.
541         * lib/math.in.h: Likewise.
542         * lib/search.in.h: Likewise.
543         * lib/signal.in.h: Likewise.
544         * lib/spawn.in.h: Likewise.
545         * lib/stdio.in.h: Likewise.
546         * lib/stdlib.in.h: Likewise.
547         * lib/string.in.h: Likewise.
548         * lib/strings.in.h: Likewise.
549         * lib/sys_file.in.h: Likewise.
550         * lib/sys_ioctl.in.h: Likewise.
551         * lib/sys_select.in.h: Likewise.
552         * lib/sys_socket.in.h: Likewise.
553         * lib/sys_stat.in.h: Likewise.
554         * lib/sys_times.in.h: Likewise.
555         * lib/sys_utsname.in.h: Likewise.
556         * lib/unistd.in.h: Likewise.
557         * lib/wchar.in.h: Likewise.
558
559 2010-01-20  Bruno Haible  <bruno@clisp.org>
560
561         Avoid duplicate -lm.
562         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
563         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
564         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
565         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
566         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
567         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
568         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
569         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
570         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
571         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
572         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
573         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
574         Reported by Paolo Bonzini.
575
576 2010-01-19  Bruno Haible  <bruno@clisp.org>
577
578         langinfo, nl_langinfo: Relicense under LGPLv2+.
579         * modules/langinfo (License): Change to LGPLv2+.
580         * modules/nl_langinfo (License): Likewise.
581         Patch by David Lutterkort <lutter@redhat.com>.
582
583 2010-01-19  Bruno Haible  <bruno@clisp.org>
584
585         Avoid compilation error with cc on OSF/1 5.1.
586         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
587         statement, not before.
588         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
589
590 2010-01-18  Bruno Haible  <bruno@clisp.org>
591
592         Avoid a link error due to the __printf__ symbol.
593         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
594         and 2.6.x.
595         (__format__, __printf__): Remove definitions.
596         * lib/argp-fmtstream.h: Likewise.
597         * lib/argp.h: Likewise.
598         * lib/error.h: Likewise.
599         * lib/vasnprintf.h: Likewise.
600         * lib/xprintf.h: Likewise.
601         * lib/xvasprintf.h: Likewise.
602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
603
604 2010-01-18  Bruno Haible  <bruno@clisp.org>
605
606         Tests for module 'tanl'.
607         * modules/tanl-tests: New file.
608         * tests/test-tanl.c: New file.
609
610         Tests for module 'sqrtl'.
611         * modules/sqrtl-tests: New file.
612         * tests/test-sqrtl.c: New file.
613
614         Tests for module 'sinl'.
615         * modules/sinl-tests: New file.
616         * tests/test-sinl.c: New file.
617
618         Tests for module 'logl'.
619         * modules/logl-tests: New file.
620         * tests/test-logl.c: New file.
621
622         Tests for module 'expl'.
623         * modules/expl-tests: New file.
624         * tests/test-expl.c: New file.
625
626         Tests for module 'cosl'.
627         * modules/cosl-tests: New file.
628         * tests/test-cosl.c: New file.
629
630         Tests for module 'atanl'.
631         * modules/atanl-tests: New file.
632         * tests/test-atanl.c: New file.
633
634         Tests for module 'asinl'.
635         * modules/asinl-tests: New file.
636         * tests/test-asinl.c: New file.
637
638         Tests for module 'acosl'.
639         * modules/acosl-tests: New file.
640         * tests/test-acosl.c: New file.
641
642         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
643         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
644         tanl): Use the standard gnulib idiom.
645         * lib/cosl.c: Don't include trigl.c and sincosl.c.
646         * lib/sinl.c: Likewise.
647         * lib/tanl.c: Don't include trigl.c.
648         (kernel_tanl): Make static.
649         * lib/sincosl.c: Include trigl.h first.
650         * lib/trigl.c: Likewise.
651         * m4/acosl.m4: New file.
652         * m4/asinl.m4: New file.
653         * m4/atanl.m4: New file.
654         * m4/cosl.m4: New file.
655         * m4/expl.m4: New file.
656         * m4/logl.m4: New file.
657         * m4/sinl.m4: New file.
658         * m4/sqrtl.m4: New file.
659         * m4/tanl.m4: New file.
660         * m4/mathl.m4: Remove file.
661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
662         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
663         Don't initialize GNULIB_MATHL.
664         * modules/acosl: New file.
665         * modules/asinl: New file.
666         * modules/atanl: New file.
667         * modules/cosl: New file.
668         * modules/expl: New file.
669         * modules/logl: New file.
670         * modules/sinl: New file.
671         * modules/sqrtl: New file.
672         * modules/tanl: New file.
673         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
674         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
675         substitute GNULIB_MATHL.
676         * modules/mathl: Rewritten.
677         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
678         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
679         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
680         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
681         * doc/posix-functions/expl.texi: Mention the 'expl' module.
682         * doc/posix-functions/logl.texi: Mention the 'logl' module.
683         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
684         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
685         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
686
687 2010-01-18  Bruno Haible  <bruno@clisp.org>
688
689         sqrt: Make gl_FUNC_SQRT requirable.
690         * m4/sqrt.m4: New file.
691         * modules/sqrt (Files): Add it.
692         (configure.ac): Invoke gl_FUNC_SQRT.
693
694 2010-01-18  Bruno Haible  <bruno@clisp.org>
695
696         New modules for common <math.h> functions.
697         * m4/mathfunc.m4: New file.
698         * modules/acos: New file.
699         * modules/asin: New file.
700         * modules/atan: New file.
701         * modules/atan2: New file.
702         * modules/cbrt: New file.
703         * modules/copysign: New file.
704         * modules/cos: New file.
705         * modules/cosh: New file.
706         * modules/erf: New file.
707         * modules/erfc: New file.
708         * modules/exp: New file.
709         * modules/fabs: New file.
710         * modules/fmod: New file.
711         * modules/hypot: New file.
712         * modules/j0: New file.
713         * modules/j1: New file.
714         * modules/jn: New file.
715         * modules/ldexp: New file.
716         * modules/lgamma: New file.
717         * modules/log: New file.
718         * modules/log10: New file.
719         * modules/log1p: New file.
720         * modules/logb: New file.
721         * modules/modf: New file.
722         * modules/nextafter: New file.
723         * modules/pow: New file.
724         * modules/remainder: New file.
725         * modules/rint: New file.
726         * modules/sin: New file.
727         * modules/sinh: New file.
728         * modules/sqrt: New file.
729         * modules/tan: New file.
730         * modules/tanh: New file.
731         * modules/y0: New file.
732         * modules/y1: New file.
733         * modules/yn: New file.
734         * doc/posix-functions/acos.texi: Mention the 'acos' module.
735         * doc/posix-functions/asin.texi: Mention the 'asin' module.
736         * doc/posix-functions/atan.texi: Mention the 'atan' module.
737         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
738         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
739         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
740         * doc/posix-functions/cos.texi: Mention the 'cos' module.
741         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
742         * doc/posix-functions/erf.texi: Mention the 'erf' module.
743         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
744         * doc/posix-functions/exp.texi: Mention the 'exp' module.
745         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
746         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
747         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
748         * doc/posix-functions/j0.texi: Mention the 'j0' module.
749         * doc/posix-functions/j1.texi: Mention the 'j1' module.
750         * doc/posix-functions/jn.texi: Mention the 'jn' module.
751         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
752         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
753         * doc/posix-functions/log.texi: Mention the 'log' module.
754         * doc/posix-functions/log10.texi: Mention the 'log10' module.
755         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
756         * doc/posix-functions/logb.texi: Mention the 'logb' module.
757         * doc/posix-functions/modf.texi: Mention the 'modf' module.
758         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
759         * doc/posix-functions/pow.texi: Mention the 'pow' module.
760         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
761         * doc/posix-functions/rint.texi: Mention the 'rint' module.
762         * doc/posix-functions/sin.texi: Mention the 'sin' module.
763         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
764         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
765         * doc/posix-functions/tan.texi: Mention the 'tan' module.
766         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
767         * doc/posix-functions/y0.texi: Mention the 'y0' module.
768         * doc/posix-functions/y1.texi: Mention the 'y1' module.
769         * doc/posix-functions/yn.texi: Mention the 'yn' module.
770
771 2010-01-18  Jim Meyering  <meyering@redhat.com>
772
773         ignore-value: relax license to LGPLv2+
774         * modules/ignore-value (License): Relax to LGPLv2+.
775
776         getdate: don't leak when TZ contains two or more '"'s
777         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
778         double quote in TZ after the first one.
779
780         readtokens: do not leak internal token_lengths buffer
781         * lib/readtokens.c (readtokens): Free the local, lengths,
782         when the supplied "token_lengths" parameter is NULL.
783
784 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
785
786         Fix a couple of missing LIBTHREAD link failures on AIX.
787         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
788         $(LIBTHREAD).
789         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
790
791         Link test-poll against INET_PTON_LIB.
792         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
793         for inet_pton on Solaris 10.
794
795 2010-01-17  Bruno Haible  <bruno@clisp.org>
796
797         unistdio/*-sprintf: Fix typo in module description.
798         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
799         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
800         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
801         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
802         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
803         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
804         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
805         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
806
807 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
808
809         gnulib-tool: fix filelist for AIX, HP-UX ksh.
810         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
811         variables in shell case patterns, for AIX and HP-UX ksh.
812
813         Split large sed scripts, for HP-UX sed.
814         * modules/stdio: Split sed scripts around 50 sed commands,
815         to avoid HP-UX limit of 99 commands, in the near future.
816         * modules/string: Likewise.
817         * modules/unistd: Likewise.
818
819         gnulib-tool: avoid writing in the current directory.
820         * gnulib-tool (func_emit_lib_Makefile_am)
821         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
822         not in the current directory, so concurrent gnulib-tool
823         instances do not interfere.
824
825 2010-01-16  Jim Meyering  <meyering@redhat.com>
826
827         doc: update users.txt
828         * users.txt: Add grep.
829         (diffutils, gzip): Update URLs.
830
831 2010-01-12  Bruno Haible  <bruno@clisp.org>
832
833         posix_spawn: Avoid test failure on Cygwin.
834         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
835         characters.
836         Reported by Simon Josefsson.
837
838 2010-01-12  Bruno Haible  <bruno@clisp.org>
839
840         * tests/test-cond.c (main): When skipping the test, show the reason.
841
842 2010-01-12  Simon Josefsson  <simon@josefsson.org>
843
844         * lib/striconv.c (str_cd_iconv): Avoid if before free.
845
846 2010-01-12  Simon Josefsson  <simon@josefsson.org>
847
848         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
849         VC_LIST_ALWAYS_EXCLUDE_REGEX.
850
851 2010-01-12  Eric Blake  <ebb9@byu.net>
852
853         build: guarantee AS_VAR_IF
854         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
855         (gl_AS_VAR_IF): Move...
856         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
857         Reported by Simon Josefsson.
858
859 2010-01-12  Simon Josefsson  <simon@josefsson.org>
860
861         * lib/stdio.in.h: Fix typo.
862
863 2010-01-12  Simon Josefsson  <simon@josefsson.org>
864
865         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
866         libgpg-error.
867
868 2010-01-12  Simon Josefsson  <simon@josefsson.org>
869
870         * tests/test-xalloc-die.sh: Use $EXEEXT.
871
872 2010-01-12  Simon Josefsson  <simon@josefsson.org>
873             Bruno Haible  <bruno@clisp.org>
874
875         getlogin, getlogin_r: Avoid test failure.
876         * tests/test-getlogin.c: Include <stdio.h>.
877         (main): Skip the test when the function fails because stdin is not a
878         tty.
879         * tests/test-getlogin_r.c: Include <stdio.h>.
880         (main): Skip the test when the function fails because stdin is not a
881         tty.
882
883 2010-01-11  Eric Blake  <ebb9@byu.net>
884
885         tests: avoid more large file warnings
886         * tests/test-fflush.c: Avoid warning about ftell use.
887         * tests/test-fseek.c: Avoid warning about fseek use.
888
889 2010-01-10  Bruno Haible  <bruno@clisp.org>
890
891         nproc: Work better on Linux when /proc and /sys are not mounted.
892         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
893         as lower bound when, on glibc/Linux systems,
894         sysconf (_SC_NPROCESSORS_CONF) returns 1.
895         Suggested by Pádraig Brady <P@draigbrady.com>.
896         Reported by Dmitry V. Levin <ldv@altlinux.org>.
897
898         nproc: Refactor.
899         * lib/nproc.c (num_processors_via_affinity_mask): New function,
900         extracted from num_processors.
901         (num_processors): Call it.
902
903 2010-01-11  Jim Meyering  <meyering@redhat.com>
904
905         utimecmp: avoid new warning from upcoming gcc-4.5.0
906         * lib/utimecmp.c (BILLION): Define using #define rather than an
907         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
908
909 2010-01-11  Eric Blake  <ebb9@byu.net>
910
911         math: add portability warnings for classification macros
912         * modules/math (Depends-on): Add warn-on-use.
913         (Makefile.am): Provide new substitutions.
914         * m4/math_h.m4 (gl_MATH_H): Require inline.
915         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
916         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
917         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
918         implement warnings.
919
920         unistd: warn on use of environ without module
921         * modules/unistd (Depends-on): Add warn-on-use.
922         (Makefile.am): Provide new substitutions.
923         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
924         * lib/unistd.in.h (environ): Wrap with a warning helper function.
925
926         stdio: warn on suspicious uses
927         * modules/stdio (Depends-on): Add warn-on-use.
928         (Makefile.am): Provide new substitutions.
929         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
930         fseeko.
931         * lib/stdio.in.h (gets): Always warn on use.
932         (fseek, ftell): Adjust when warnings are issued, and honor
933         _GL_NO_LARGE_FILES as a way to silence the warning.
934         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
935         any warning about large file offsets.
936         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
937         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
938         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
939         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
940         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
941         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
942         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
943         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
944
945         warn-on-use: new module
946         * modules/warn-on-use: New file.
947         * build-aux/warn-on-use.h: Likewise.
948         * m4/warn-on-use.m4: Likewise.
949         * MODULES.html.sh (Support for building): Mention it.
950
951 2010-01-10  Bruno Haible  <bruno@clisp.org>
952
953         Tests for module 'unistr/u32-strdup'.
954         * modules/unistr/u32-strdup-tests: New file.
955         * tests/unistr/test-u32-strdup.c: New file.
956
957         Tests for module 'unistr/u16-strdup'.
958         * modules/unistr/u16-strdup-tests: New file.
959         * tests/unistr/test-u16-strdup.c: New file.
960
961         Tests for module 'unistr/u8-strdup'.
962         * modules/unistr/u8-strdup-tests: New file.
963         * tests/unistr/test-u8-strdup.c: New file.
964         * tests/unistr/test-strdup.h: New file.
965
966         Tests for module 'unistr/u32-strncmp'.
967         * modules/unistr/u32-strncmp-tests: New file.
968         * tests/unistr/test-u32-strncmp.c: New file.
969
970         Tests for module 'unistr/u16-strncmp'.
971         * modules/unistr/u16-strncmp-tests: New file.
972         * tests/unistr/test-u16-strncmp.c: New file.
973
974         Tests for module 'unistr/u8-strncmp'.
975         * modules/unistr/u8-strncmp-tests: New file.
976         * tests/unistr/test-u8-strncmp.c: New file.
977         * tests/unistr/test-strncmp.h: New file.
978
979         Tests for module 'unistr/u32-strcoll'.
980         * modules/unistr/u32-strcoll-tests: New file.
981         * tests/unistr/test-u32-strcoll.c: New file.
982
983         Tests for module 'unistr/u16-strcoll'.
984         * modules/unistr/u16-strcoll-tests: New file.
985         * tests/unistr/test-u16-strcoll.c: New file.
986
987         Tests for module 'unistr/u8-strcoll'.
988         * modules/unistr/u8-strcoll-tests: New file.
989         * tests/unistr/test-u8-strcoll.c: New file.
990
991         Tests for module 'unistr/u32-strcmp'.
992         * modules/unistr/u32-strcmp-tests: New file.
993         * tests/unistr/test-u32-strcmp.c: New file.
994         * tests/unistr/test-u32-strcmp.h: New file.
995
996         Tests for module 'unistr/u16-strcmp'.
997         * modules/unistr/u16-strcmp-tests: New file.
998         * tests/unistr/test-u16-strcmp.c: New file.
999         * tests/unistr/test-u16-strcmp.h: New file.
1000
1001         Tests for module 'unistr/u8-strcmp'.
1002         * modules/unistr/u8-strcmp-tests: New file.
1003         * tests/unistr/test-u8-strcmp.c: New file.
1004         * tests/unistr/test-u8-strcmp.h: New file.
1005         * tests/unistr/test-strcmp.h: New file.
1006
1007         Tests for module 'unistr/u32-strncat'.
1008         * modules/unistr/u32-strncat-tests: New file.
1009         * tests/unistr/test-u32-strncat.c: New file.
1010
1011         Tests for module 'unistr/u16-strncat'.
1012         * modules/unistr/u16-strncat-tests: New file.
1013         * tests/unistr/test-u16-strncat.c: New file.
1014
1015         Tests for module 'unistr/u8-strncat'.
1016         * modules/unistr/u8-strncat-tests: New file.
1017         * tests/unistr/test-u8-strncat.c: New file.
1018         * tests/unistr/test-strncat.h: New file.
1019
1020         Tests for module 'unistr/u32-strcat'.
1021         * modules/unistr/u32-strcat-tests: New file.
1022         * tests/unistr/test-u32-strcat.c: New file.
1023
1024         Tests for module 'unistr/u16-strcat'.
1025         * modules/unistr/u16-strcat-tests: New file.
1026         * tests/unistr/test-u16-strcat.c: New file.
1027
1028         Tests for module 'unistr/u8-strcat'.
1029         * modules/unistr/u8-strcat-tests: New file.
1030         * tests/unistr/test-u8-strcat.c: New file.
1031         * tests/unistr/test-strcat.h: New file.
1032
1033         Tests for module 'unistr/u32-stpncpy'.
1034         * modules/unistr/u32-stpncpy-tests: New file.
1035         * tests/unistr/test-u32-stpncpy.c: New file.
1036
1037         Tests for module 'unistr/u16-stpncpy'.
1038         * modules/unistr/u16-stpncpy-tests: New file.
1039         * tests/unistr/test-u16-stpncpy.c: New file.
1040
1041         Tests for module 'unistr/u8-stpncpy'.
1042         * modules/unistr/u8-stpncpy-tests: New file.
1043         * tests/unistr/test-u8-stpncpy.c: New file.
1044         * tests/unistr/test-stpncpy.h: New file.
1045
1046         Tests for module 'unistr/u32-strncpy'.
1047         * modules/unistr/u32-strncpy-tests: New file.
1048         * tests/unistr/test-u32-strncpy.c: New file.
1049
1050         Tests for module 'unistr/u16-strncpy'.
1051         * modules/unistr/u16-strncpy-tests: New file.
1052         * tests/unistr/test-u16-strncpy.c: New file.
1053
1054         Tests for module 'unistr/u8-strncpy'.
1055         * modules/unistr/u8-strncpy-tests: New file.
1056         * tests/unistr/test-u8-strncpy.c: New file.
1057         * tests/unistr/test-strncpy.h: New file.
1058
1059         Tests for module 'unistr/u32-stpcpy'.
1060         * modules/unistr/u32-stpcpy-tests: New file.
1061         * tests/unistr/test-u32-stpcpy.c: New file.
1062
1063         Tests for module 'unistr/u16-stpcpy'.
1064         * modules/unistr/u16-stpcpy-tests: New file.
1065         * tests/unistr/test-u16-stpcpy.c: New file.
1066
1067         Tests for module 'unistr/u8-stpcpy'.
1068         * modules/unistr/u8-stpcpy-tests: New file.
1069         * tests/unistr/test-u8-stpcpy.c: New file.
1070         * tests/unistr/test-stpcpy.h: New file.
1071
1072         Tests for module 'unistr/u32-strcpy'.
1073         * modules/unistr/u32-strcpy-tests: New file.
1074         * tests/unistr/test-u32-strcpy.c: New file.
1075
1076         Tests for module 'unistr/u16-strcpy'.
1077         * modules/unistr/u16-strcpy-tests: New file.
1078         * tests/unistr/test-u16-strcpy.c: New file.
1079
1080         Tests for module 'unistr/u8-strcpy'.
1081         * modules/unistr/u8-strcpy-tests: New file.
1082         * tests/unistr/test-u8-strcpy.c: New file.
1083         * tests/unistr/test-strcpy.h: New file.
1084
1085         Tests for module 'unistr/u32-strnlen'.
1086         * modules/unistr/u32-strnlen-tests: New file.
1087         * tests/unistr/test-u32-strnlen.c: New file.
1088
1089         Tests for module 'unistr/u16-strnlen'.
1090         * modules/unistr/u16-strnlen-tests: New file.
1091         * tests/unistr/test-u16-strnlen.c: New file.
1092
1093         Tests for module 'unistr/u8-strnlen'.
1094         * modules/unistr/u8-strnlen-tests: New file.
1095         * tests/unistr/test-u8-strnlen.c: New file.
1096         * tests/unistr/test-strnlen.h: New file.
1097
1098         Tests for module 'unistr/u32-strlen'.
1099         * modules/unistr/u32-strlen-tests: New file.
1100         * tests/unistr/test-u32-strlen.c: New file.
1101
1102         Tests for module 'unistr/u16-strlen'.
1103         * modules/unistr/u16-strlen-tests: New file.
1104         * tests/unistr/test-u16-strlen.c: New file.
1105
1106         Tests for module 'unistr/u8-strlen'.
1107         * modules/unistr/u8-strlen-tests: New file.
1108         * tests/unistr/test-u8-strlen.c: New file.
1109
1110         Tests for module 'unistr/u32-prev'.
1111         * modules/unistr/u32-prev-tests: New file.
1112         * tests/unistr/test-u32-prev.c: New file.
1113
1114         Tests for module 'unistr/u16-prev'.
1115         * modules/unistr/u16-prev-tests: New file.
1116         * tests/unistr/test-u16-prev.c: New file.
1117
1118         Tests for module 'unistr/u8-prev'.
1119         * modules/unistr/u8-prev-tests: New file.
1120         * tests/unistr/test-u8-prev.c: New file.
1121
1122         Tests for module 'unistr/u32-next'.
1123         * modules/unistr/u32-next-tests: New file.
1124         * tests/unistr/test-u32-next.c: New file.
1125
1126         Tests for module 'unistr/u16-next'.
1127         * modules/unistr/u16-next-tests: New file.
1128         * tests/unistr/test-u16-next.c: New file.
1129
1130         Tests for module 'unistr/u8-next'.
1131         * modules/unistr/u8-next-tests: New file.
1132         * tests/unistr/test-u8-next.c: New file.
1133
1134         Tests for module 'unistr/u32-strmbtouc'.
1135         * modules/unistr/u32-strmbtouc-tests: New file.
1136         * tests/unistr/test-u32-strmbtouc.c: New file.
1137
1138         Tests for module 'unistr/u16-strmbtouc'.
1139         * modules/unistr/u16-strmbtouc-tests: New file.
1140         * tests/unistr/test-u16-strmbtouc.c: New file.
1141
1142         Tests for module 'unistr/u8-strmbtouc'.
1143         * modules/unistr/u8-strmbtouc-tests: New file.
1144         * tests/unistr/test-u8-strmbtouc.c: New file.
1145
1146         Tests for module 'unistr/u32-strmblen'.
1147         * modules/unistr/u32-strmblen-tests: New file.
1148         * tests/unistr/test-u32-strmblen.c: New file.
1149
1150         Tests for module 'unistr/u16-strmblen'.
1151         * modules/unistr/u16-strmblen-tests: New file.
1152         * tests/unistr/test-u16-strmblen.c: New file.
1153
1154         Tests for module 'unistr/u8-strmblen'.
1155         * modules/unistr/u8-strmblen-tests: New file.
1156         * tests/unistr/test-u8-strmblen.c: New file.
1157
1158         Tests for module 'unistr/u32-cpy-alloc'.
1159         * modules/unistr/u32-cpy-alloc-tests: New file.
1160         * tests/unistr/test-u32-cpy-alloc.c: New file.
1161
1162         Tests for module 'unistr/u16-cpy-alloc'.
1163         * modules/unistr/u16-cpy-alloc-tests: New file.
1164         * tests/unistr/test-u16-cpy-alloc.c: New file.
1165
1166         Tests for module 'unistr/u8-cpy-alloc'.
1167         * modules/unistr/u8-cpy-alloc-tests: New file.
1168         * tests/unistr/test-u8-cpy-alloc.c: New file.
1169         * tests/unistr/test-cpy-alloc.h: New file.
1170
1171         Tests for module 'unistr/u32-mbsnlen'.
1172         * modules/unistr/u32-mbsnlen-tests: New file.
1173         * tests/unistr/test-u32-mbsnlen.c: New file.
1174
1175         Tests for module 'unistr/u16-mbsnlen'.
1176         * modules/unistr/u16-mbsnlen-tests: New file.
1177         * tests/unistr/test-u16-mbsnlen.c: New file.
1178
1179         Tests for module 'unistr/u8-mbsnlen'.
1180         * modules/unistr/u8-mbsnlen-tests: New file.
1181         * tests/unistr/test-u8-mbsnlen.c: New file.
1182
1183         Tests for module 'unistr/u32-chr'.
1184         * modules/unistr/u32-chr-tests: New file.
1185         * tests/unistr/test-u32-chr.c: New file.
1186
1187         Tests for module 'unistr/u16-chr'.
1188         * modules/unistr/u16-chr-tests: New file.
1189         * tests/unistr/test-u16-chr.c: New file.
1190
1191         Tests for module 'unistr/u8-chr'.
1192         * modules/unistr/u8-chr-tests: New file.
1193         * tests/unistr/test-u8-chr.c: New file.
1194         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
1195
1196         Tests for module 'unistr/u32-cmp2'.
1197         * modules/unistr/u32-cmp2-tests: New file.
1198         * tests/unistr/test-u32-cmp2.c: New file.
1199
1200         Tests for module 'unistr/u16-cmp2'.
1201         * modules/unistr/u16-cmp2-tests: New file.
1202         * tests/unistr/test-u16-cmp2.c: New file.
1203
1204         Tests for module 'unistr/u8-cmp2'.
1205         * modules/unistr/u8-cmp2-tests: New file.
1206         * tests/unistr/test-u8-cmp2.c: New file.
1207         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
1208
1209         Tests for module 'unistr/u32-cmp'.
1210         * modules/unistr/u32-cmp-tests: New file.
1211         * tests/unistr/test-u32-cmp.c: New file.
1212
1213         Tests for module 'unistr/u16-cmp'.
1214         * modules/unistr/u16-cmp-tests: New file.
1215         * tests/unistr/test-u16-cmp.c: New file.
1216
1217         Tests for module 'unistr/u8-cmp'.
1218         * modules/unistr/u8-cmp-tests: New file.
1219         * tests/unistr/test-u8-cmp.c: New file.
1220         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
1221
1222         Tests for module 'unistr/u32-set'.
1223         * modules/unistr/u32-set-tests: New file.
1224         * tests/unistr/test-u32-set.c: New file.
1225
1226         Tests for module 'unistr/u16-set'.
1227         * modules/unistr/u16-set-tests: New file.
1228         * tests/unistr/test-u16-set.c: New file.
1229
1230         Tests for module 'unistr/u8-set'.
1231         * modules/unistr/u8-set-tests: New file.
1232         * tests/unistr/test-u8-set.c: New file.
1233         * tests/unistr/test-set.h: New file.
1234
1235         Tests for module 'unistr/u32-move'.
1236         * modules/unistr/u32-move-tests: New file.
1237         * tests/unistr/test-u32-move.c: New file.
1238
1239         Tests for module 'unistr/u16-move'.
1240         * modules/unistr/u16-move-tests: New file.
1241         * tests/unistr/test-u16-move.c: New file.
1242
1243         Tests for module 'unistr/u8-move'.
1244         * modules/unistr/u8-move-tests: New file.
1245         * tests/unistr/test-u8-move.c: New file.
1246         * tests/unistr/test-move.h: New file.
1247
1248         Tests for module 'unistr/u32-cpy'.
1249         * modules/unistr/u32-cpy-tests: New file.
1250         * tests/unistr/test-u32-cpy.c: New file.
1251
1252         Tests for module 'unistr/u16-cpy'.
1253         * modules/unistr/u16-cpy-tests: New file.
1254         * tests/unistr/test-u16-cpy.c: New file.
1255
1256         Tests for module 'unistr/u8-cpy'.
1257         * modules/unistr/u8-cpy-tests: New file.
1258         * tests/unistr/test-u8-cpy.c: New file.
1259         * tests/unistr/test-cpy.h: New file.
1260
1261 2010-01-09  Bruno Haible  <bruno@clisp.org>
1262
1263         Tests for module 'unistr/u32-uctomb'.
1264         * modules/unistr/u32-uctomb-tests: New file.
1265         * tests/unistr/test-u32-uctomb.c: New file.
1266
1267         Tests for module 'unistr/u16-uctomb'.
1268         * modules/unistr/u16-uctomb-tests: New file.
1269         * tests/unistr/test-u16-uctomb.c: New file.
1270
1271         Tests for module 'unistr/u8-uctomb'.
1272         * modules/unistr/u8-uctomb-tests: New file.
1273         * tests/unistr/test-u8-uctomb.c: New file.
1274
1275         Tests for module 'unistr/u32-mbtoucr'.
1276         * modules/unistr/u32-mbtoucr-tests: New file.
1277         * tests/unistr/test-u32-mbtoucr.c: New file.
1278
1279         Tests for module 'unistr/u16-mbtoucr'.
1280         * modules/unistr/u16-mbtoucr-tests: New file.
1281         * tests/unistr/test-u16-mbtoucr.c: New file.
1282
1283         Tests for module 'unistr/u8-mbtoucr'.
1284         * modules/unistr/u8-mbtoucr-tests: New file.
1285         * tests/unistr/test-u8-mbtoucr.c: New file.
1286
1287         Tests for module 'unistr/u32-mbtouc'.
1288         * modules/unistr/u32-mbtouc-tests: New file.
1289         * tests/unistr/test-u32-mbtouc.c: New file.
1290
1291         Tests for module 'unistr/u16-mbtouc'.
1292         * modules/unistr/u16-mbtouc-tests: New file.
1293         * tests/unistr/test-u16-mbtouc.c: New file.
1294
1295         Tests for module 'unistr/u8-mbtouc'.
1296         * modules/unistr/u8-mbtouc-tests: New file.
1297         * tests/unistr/test-u8-mbtouc.c: New file.
1298
1299         Tests for module 'unistr/u32-mbtouc-unsafe'.
1300         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
1301         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
1302         * tests/unistr/test-u32-mbtouc.h: New file.
1303
1304         Tests for module 'unistr/u16-mbtouc-unsafe'.
1305         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
1306         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
1307         * tests/unistr/test-u16-mbtouc.h: New file.
1308
1309         Tests for module 'unistr/u8-mbtouc-unsafe'.
1310         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
1311         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
1312         * tests/unistr/test-u8-mbtouc.h: New file.
1313
1314         Tests for module 'unistr/u32-mblen'.
1315         * modules/unistr/u32-mblen-tests: New file.
1316         * tests/unistr/test-u32-mblen.c: New file.
1317
1318         Tests for module 'unistr/u16-mblen'.
1319         * modules/unistr/u16-mblen-tests: New file.
1320         * tests/unistr/test-u16-mblen.c: New file.
1321
1322         Tests for module 'unistr/u8-mblen'.
1323         * modules/unistr/u8-mblen-tests: New file.
1324         * tests/unistr/test-u8-mblen.c: New file.
1325
1326         Tests for module 'unistr/u32-to-u16'.
1327         * modules/unistr/u32-to-u16-tests: New file.
1328         * tests/unistr/test-u32-to-u16.c: New file.
1329
1330         Tests for module 'unistr/u32-to-u8'.
1331         * modules/unistr/u32-to-u8-tests: New file.
1332         * tests/unistr/test-u32-to-u8.c: New file.
1333
1334         Tests for module 'unistr/u16-to-u32'.
1335         * modules/unistr/u16-to-u32-tests: New file.
1336         * tests/unistr/test-u16-to-u32.c: New file.
1337
1338         Tests for module 'unistr/u16-to-u8'.
1339         * modules/unistr/u16-to-u8-tests: New file.
1340         * tests/unistr/test-u16-to-u8.c: New file.
1341
1342         Tests for module 'unistr/u8-to-u32'.
1343         * modules/unistr/u8-to-u32-tests: New file.
1344         * tests/unistr/test-u8-to-u32.c: New file.
1345
1346         Tests for module 'unistr/u8-to-u16'.
1347         * modules/unistr/u8-to-u16-tests: New file.
1348         * tests/unistr/test-u8-to-u16.c: New file.
1349
1350         Tests for module 'unistr/u32-check'.
1351         * modules/unistr/u32-check-tests: New file.
1352         * tests/unistr/test-u32-check.c: New file.
1353
1354         Tests for module 'unistr/u16-check'.
1355         * modules/unistr/u16-check-tests: New file.
1356         * tests/unistr/test-u16-check.c: New file.
1357
1358         Tests for module 'unistr/u8-check'.
1359         * modules/unistr/u8-check-tests: New file.
1360         * tests/unistr/test-u8-check.c: New file.
1361
1362         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
1363         (category_equals): New function.
1364         (main): Add more tests.
1365         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
1366
1367         * tests/unictype/test-bidi_byname.c (main): Add more tests.
1368
1369 2010-01-10  Bruno Haible  <bruno@clisp.org>
1370
1371         unistr/u*-strcoll: Try harder to distinguish different strings.
1372         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
1373         compare s1 and s2 to see if they are different.
1374
1375 2010-01-10  Bruno Haible  <bruno@clisp.org>
1376
1377         unistr/u*-stpncpy: Fix the return value.
1378         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
1379         description of the return value consistent with stpncpy in glibc.
1380         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
1381         written non-NUL unit.
1382
1383 2010-01-10  Bruno Haible  <bruno@clisp.org>
1384
1385         unistr/u*-next: Add missing dependencies.
1386         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
1387         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
1388         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
1389
1390 2010-01-10  Bruno Haible  <bruno@clisp.org>
1391
1392         unistr/u8-mbsnlen: Fix return value for incomplete character.
1393         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
1394         u8_mblen.
1395         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
1396         Remove unistr/u8-mblen.
1397         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
1398         u16_mblen.
1399         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
1400         Remove unistr/u16-mblen.
1401
1402 2010-01-10  Bruno Haible  <bruno@clisp.org>
1403
1404         wchar: Fix compilation error when <wchar.h> is used from coreutils.
1405         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
1406         Reported by Brian Gough <bjg@gnu.org> and
1407         Chris Clayton <chris2553@googlemail.com> via
1408         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
1409
1410 2010-01-09  Bruno Haible  <bruno@clisp.org>
1411
1412         unistr/u16-to-u32: Reject invalid input.
1413         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
1414         u16_mbtouc.
1415         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
1416         Remove unistr/u16-mbtouc.
1417
1418         unistr/u16-to-u8: Reject invalid input.
1419         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
1420         u16_mbtouc.
1421         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
1422         Remove unistr/u16-mbtouc.
1423
1424         unistr/u8-to-u32: Reject invalid input.
1425         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
1426         u8_mbtouc.
1427         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
1428         Remove unistr/u8-mbtouc.
1429
1430         unistr/u8-to-u16: Reject invalid input.
1431         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
1432         u8_mbtouc.
1433         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
1434         Remove unistr/u8-mbtouc.
1435
1436 2010-01-09  Bruno Haible  <bruno@clisp.org>
1437
1438         Tests for module 'getlogin'.
1439         * modules/getlogin-tests: New file.
1440         * tests/test-getlogin.c: New file.
1441
1442         New module 'getlogin'.
1443         * lib/unistd.in.h (getlogin): New declaration.
1444         * lib/getlogin.c: New file.
1445         * m4/getlogin.m4: New file.
1446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
1447         HAVE_GETLOGIN.
1448         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
1449         HAVE_GETLOGIN.
1450         * modules/getlogin: New file.
1451         * doc/posix-functions/getlogin.texi: Mention the new module.
1452         Reported by John W. Eaton <jwe@gnu.org>.
1453
1454 2010-01-09  Bruno Haible  <bruno@clisp.org>
1455
1456         getlogin_r: Support for native Windows.
1457         * lib/getlogin_r.c: Include <windows.h>
1458         (getlogin_r): Implement for native Windows.
1459         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
1460         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
1461         via John W. Eaton <jwe@gnu.org>.
1462
1463 2010-01-09  Bruno Haible  <bruno@clisp.org>
1464
1465         getlogin_r: Small fixes.
1466         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
1467         succeeds.
1468         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
1469         before testing whether getlogin_r is declared. No need to set
1470         HAVE_DECL_GETLOGIN_R to 1.
1471         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
1472
1473 2010-01-09  Bruno Haible  <bruno@clisp.org>
1474
1475         * lib/unistd.in.h (getlogin_r): Add comment.
1476
1477 2010-01-09  Bruno Haible  <bruno@clisp.org>
1478
1479         Tests for module 'getlogin_r'.
1480         * modules/getlogin_r-tests: New file.
1481         * tests/test-getlogin_r.c: New file.
1482
1483 2010-01-09  Jim Meyering  <meyering@redhat.com>
1484
1485         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
1486         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
1487         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
1488
1489 2010-01-08  Simon Josefsson  <simon@josefsson.org>
1490
1491         * lib/dup2.c (rpl_dup2): Improve comment.
1492
1493 2010-01-08  Eric Blake  <ebb9@byu.net>
1494
1495         maint.mk: allow packages to add makefile @@ exceptions
1496         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
1497         (sc_makefile_check): Rename...
1498         (sc_makefile_at_at_check): ...to this, and use hook.
1499
1500         dup2: work around mingw bug
1501         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
1502         Reported by Simon Josefsson.
1503
1504 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
1505
1506         glob: Fix C++ compilation.
1507         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
1508         C++.
1509
1510 2010-01-07  Bruno Haible  <bruno@clisp.org>
1511
1512         Fix indentation of wctype.in.h, broken since 2007-01-06.
1513         * lib/wctype.in.h: Fix indentation of preprocessor directives.
1514
1515 2010-01-07  Bruno Haible  <bruno@clisp.org>
1516
1517         mbslen: Avoid collision with system function.
1518         * lib/string.in.h [MirBSD]: Include <wchar.h>.
1519         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
1520         * m4/mbslen.m4: New file.
1521         * modules/mbslen (Files): Add it.
1522         (configure.ac): Invoke gl_MBSLEN.
1523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
1524         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
1525         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
1526         via Ian Beckwith <ianb@erislabs.net>.
1527
1528 2010-01-07  Bruno Haible  <bruno@clisp.org>
1529
1530         dirent: Document the last fix.
1531         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
1532
1533 2010-01-07  Bruno Haible  <bruno@clisp.org>
1534
1535         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
1536         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
1537         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
1538         va_list are defined.
1539         * doc/posix-headers/stdio.texi: Document the bug of missing types.
1540         Reported by Eric Blake.
1541
1542 2010-01-07  Bruno Haible  <bruno@clisp.org>
1543
1544         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
1545         * modules/xlist (Depends-on): Add 'list',
1546         * modules/xoset (Depends-on): Add 'oset'.
1547         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1548
1549 2010-01-07  Bruno Haible  <bruno@clisp.org>
1550
1551         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
1552         * doc/posix-functions/strncasecmp.texi: Likewise.
1553
1554 2010-01-07  Bruno Haible  <bruno@clisp.org>
1555
1556         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
1557
1558 2010-01-07  John W. Eaton  <jwe@octave.org>
1559
1560         wctype: allow C++ use
1561         * lib/wctype.in.h: Add extern "C" block for C++.
1562
1563 2010-01-06  Eric Blake  <ebb9@byu.net>
1564
1565         maint.mk: detect incorrect GFDL usage
1566         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
1567
1568 2010-01-06  Jim Meyering  <meyering@redhat.com>
1569         and Eric Blake  <ebb9@byu.net>
1570
1571         maint.mk: ignore multi-line copyright in NEWS
1572         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
1573
1574 2010-01-06  Eric Blake  <ebb9@byu.net>
1575
1576         select: add missing dependency
1577         * modules/select-tests (Depends-on): Move sockets dependency...
1578         * modules/select (Depends-on): ...here.
1579         Reported by Ian Beckwith.
1580
1581         doc: regenerate INSTALL
1582         * doc/INSTALL: Reflect recent autoconf update.
1583         * doc/INSTALL.ISO: Likewise.
1584         * doc/INSTALL.UTF-8: Likewise.
1585
1586         pread: fix compilation on glibc
1587         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
1588         Reported by Ralf Wildenhues.
1589
1590         dirent: fix test failure
1591         * lib/dirent.in.h (includes): Guarantee ino_t.
1592         Reported by Ralf Wildenhues.
1593
1594 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
1595
1596         linkat, renameat: avoid bad free
1597         * lib/at-func2.c (at_func2): Fix typo.
1598         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
1599
1600 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1601
1602         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
1603         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
1604         to avoid failure of symlink test later.
1605
1606 2010-01-06  Eric Blake  <ebb9@byu.net>
1607
1608         stdio, unistd: guarantee ssize_t
1609         * lib/unistd.in.h (includes): Ensure that types required by POSIX
1610         2008 are exposed when needed.
1611         * lib/stdio.in.h (includes): Likewise.
1612         Reported by Ralf Wildenhues.
1613
1614 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
1615
1616         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
1617         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
1618         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
1619
1620 2010-01-06  Jim Meyering  <meyering@redhat.com>
1621
1622         readtokens: this module *does* require xalloc.h
1623         It uses only functions that were omitted by the old syntax-check rule.
1624         * lib/readtokens.c: Include "xalloc.h" once again.
1625         * modules/readtokens (Depends-on): Add xalloc.
1626         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
1627
1628 2010-01-05  Eric Blake  <ebb9@byu.net>
1629
1630         maint: support 'make announcement' from a VPATH build
1631         * top/maint.mk (announcement): Look for correct NEWS file.
1632
1633 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
1634
1635         utimens (fdutimens): ignore a negative FD, per contract
1636         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
1637         when we have a valid file descriptor.  Otherwise, using a brand
1638         new glibc (with just-patched futimens that now fails with EBADF)
1639         would cause this function to fail with ENOSYS.
1640         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
1641         See also http://bugzilla.redhat.com/552320.
1642
1643 2010-01-05  Eric Blake  <ebb9@byu.net>
1644
1645         strcase: document what it provides
1646         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
1647         gnulib module.
1648         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
1649         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
1650
1651 2010-01-05  Jim Meyering  <meyering@redhat.com>
1652
1653         maint: remove useless inclusions of "xalloc.h"
1654         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
1655         * lib/readtokens.c: Likewise.
1656         * lib/same.c: Likewise.
1657         * modules/getloadavg (Depends-on): Remove xalloc.
1658         * modules/readtokens: Likewise.
1659         * modules/same: Likewise.
1660
1661         maint.mk: include 4 more function names in alloca.h-checking regexp
1662         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
1663         regexp.  Before, we would give a false-positive (saying alloca.h
1664         is included unnecessarily) when the only uses involved omitted symbols.
1665
1666         xalloc.h: use consistent formatting
1667         * lib/xalloc.h: Move declarations to start in the first column.
1668
1669 2010-01-05  Eric Blake  <ebb9@byu.net>
1670
1671         mkdir: avoid xalloc
1672         * lib/mkdir.c (includes): Drop unused header.
1673         Reported by John W. Eaton.
1674
1675 2010-01-04  Jim Meyering  <meyering@redhat.com>
1676
1677         nl_langinfo: avoid configure-time syntax error
1678         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
1679         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
1680         the empty string.  Don't let that provoke a shell syntax error.
1681
1682         regcomp, regexec, fnmatch: avoid array bounds read error
1683         * lib/regcomp.c (build_equiv_class): From glibc:
1684         Use only the low 24 bits of a findidx return value as an index
1685         into the weights array.  Patch by Ulrich Drepper:
1686         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
1687         * lib/regexec.c (check_node_accept_bytes): Likewise.
1688         * lib/fnmatch_loop.c (FCT): Likewise.
1689
1690         regcomp: skip collseq lookup when there are no rules
1691         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
1692         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
1693
1694         regcomp: recognize ill-formed { } expressions
1695         * lib/regcomp.c (parse_dup_op): From glibc:
1696         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
1697
1698         regcomp: fix typo in comment
1699         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
1700         s/satisfy/satisfies/.
1701
1702         regcomp: sync from glibc: remove dead store
1703         * lib/regcomp.c (duplicate_node_closure): Remove useless
1704         search_duplicated_node call and dead store.
1705
1706         regcomp: sync from glibc; always use nl_langinfo
1707         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
1708         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
1709         * modules/regex (Depends-on): Add nl_langinfo.
1710
1711 2010-01-04  Eric Blake  <ebb9@byu.net>
1712
1713         fdopendir: fix configure test
1714         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
1715
1716 2010-01-01  Bruno Haible  <bruno@clisp.org>
1717
1718         wchar: Remove unused configure check.
1719         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
1720
1721 2010-01-01  Eric Blake  <ebb9@byu.net>
1722
1723         headers: make check of system header explicit
1724         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
1725         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
1726         ourselves.
1727         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1728         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1729         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
1730         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
1731         internals.
1732         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
1733         missing.
1734         Suggested by Bruno Haible.
1735
1736 2010-01-01  Jim Meyering  <meyering@redhat.com>
1737
1738         ChangeLog: tweak to eliminate unnecessary copyright line
1739         * ChangeLog: Remove a copyright line that was mistakenly updated
1740         by today's update-copyright run.  Reported by Eric Blake.
1741
1742         test-update-copyright: don't let envvar setting cause test failure
1743         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
1744
1745 2010-01-01  Bruno Haible  <bruno@clisp.org>
1746
1747         localename: Avoid gcc warning.
1748         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
1749         function if it is not used.
1750
1751 2010-01-01  Jim Meyering  <meyering@redhat.com>
1752
1753         update nearly all FSF copyright year lists to include 2010
1754         Use the same procedure as for 2009, outlined in
1755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
1756
1757         version-etc: set COPYRIGHT_YEAR to 2010
1758         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
1759
1760 2009-12-31  Eric Blake  <ebb9@byu.net>
1761
1762         doc: correct availability of cygwin 1.5.x getopt
1763         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
1764         variables.
1765         * doc/posix-functions/opterr.texi (opterr): Likewise.
1766         * doc/posix-functions/optind.texi (optind): Likewise.
1767         * doc/posix-functions/optopt.texi (optopt): Likewise.
1768         * doc/posix-functions/tzname.texi (tzname): Likewise.
1769
1770         openat: update maintainer
1771         * modules/openat (Maintainer): Add myself.
1772
1773         utimens: avoid shadowing warning
1774         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
1775         buffers into one, to avoid shadowing, as well as avoiding a
1776         redundant stat.
1777         Reported by Jim Meyering.
1778
1779         test-dup2: avoid compiler warning
1780         * tests/test-dup2.c (is_inheritable): Only define if used.
1781
1782 2010-01-01  Bruno Haible  <bruno@clisp.org>
1783
1784         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
1785         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
1786         defined, use wctomb instead of wcrtomb.
1787
1788 2010-01-01  Bruno Haible  <bruno@clisp.org>
1789
1790         iconv: Reject native Solaris iconv.
1791         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
1792         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
1793
1794 2009-12-31  Bruno Haible  <bruno@clisp.org>
1795
1796         * tests/test-signal.c (main): Remove test of 'SIG'.
1797
1798 2009-12-31  Bruno Haible  <bruno@clisp.org>
1799
1800         spawn: Fix incomplete fix.
1801         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
1802         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
1803         warnings for GNULIB_POSIXCHECK again.
1804         Reported by Eric Blake.
1805
1806 2009-12-31  Bruno Haible  <bruno@clisp.org>
1807
1808         Avoid namespace pollution on glibc systems.
1809         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
1810         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
1811         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
1812         glibc systems.
1813
1814 2009-12-31  Bruno Haible  <bruno@clisp.org>
1815
1816         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
1817         (gl_REPLACE_WCHAR_H): Turn into a no-op.
1818         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
1819         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1820         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1821         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1822         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1823
1824 2009-12-31  Bruno Haible  <bruno@clisp.org>
1825
1826         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
1827         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
1828         afterwards.
1829
1830 2009-12-31  Bruno Haible  <bruno@clisp.org>
1831
1832         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
1833         SYS_UTSNAME_H.
1834
1835 2009-12-31  Bruno Haible  <bruno@clisp.org>
1836
1837         spawn: Fix misapplied patch.
1838         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
1839         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
1840         warnings for GNULIB_POSIXCHECK.
1841
1842 2009-12-31  Bruno Haible  <bruno@clisp.org>
1843
1844         times: Update after sys_times changed.
1845         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
1846         * modules/times (Files): Add it.
1847         (configure.ac): Invoke gl_FUNC_TIMES.
1848
1849 2009-12-31  Bruno Haible  <bruno@clisp.org>
1850
1851         Use AC_C_INLINE where necessary.
1852         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
1853         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
1854         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
1855         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
1856         * m4/mbfile.m4 (gl_MBFILE): Likewise.
1857         * m4/mbiter.m4 (gl_MBITER): Likewise.
1858         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1859         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1860         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
1861         * modules/u64 (configure.ac): Likewise.
1862
1863 2009-12-31  Bruno Haible  <bruno@clisp.org>
1864
1865         Use AC_C_INLINE instead of module 'inline' where possible.
1866         * modules/inline (Description): Clarify purpose.
1867         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
1868         * modules/count-one-bits (Depends-on): Remove inline.
1869         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
1870         * modules/openat (Depends-on): Remove inline.
1871         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
1872         instead of depending on module 'inline'.
1873         * modules/filevercmp (Depends-on, configure.ac): Likewise.
1874         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
1875         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
1876         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
1877         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
1878         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
1879         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
1880         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
1881         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
1882         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
1883         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
1884         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
1885         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
1886         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
1887         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
1888         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
1889         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
1890         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
1891         Likewise.
1892         * modules/unictype/property-ascii-hex-digit (Depends-on,
1893         configure.ac): Likewise.
1894         * modules/unictype/property-bidi-arabic-digit (Depends-on,
1895         configure.ac): Likewise.
1896         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
1897         configure.ac): Likewise.
1898         * modules/unictype/property-bidi-block-separator (Depends-on,
1899         configure.ac): Likewise.
1900         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
1901         configure.ac): Likewise.
1902         * modules/unictype/property-bidi-common-separator (Depends-on,
1903         configure.ac): Likewise.
1904         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
1905         Likewise.
1906         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
1907         configure.ac): Likewise.
1908         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
1909         configure.ac): Likewise.
1910         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
1911         configure.ac): Likewise.
1912         * modules/unictype/property-bidi-european-digit (Depends-on,
1913         configure.ac): Likewise.
1914         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
1915         configure.ac): Likewise.
1916         * modules/unictype/property-bidi-left-to-right (Depends-on,
1917         configure.ac): Likewise.
1918         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
1919         configure.ac): Likewise.
1920         * modules/unictype/property-bidi-other-neutral (Depends-on,
1921         configure.ac): Likewise.
1922         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
1923         Likewise.
1924         * modules/unictype/property-bidi-segment-separator (Depends-on,
1925         configure.ac): Likewise.
1926         * modules/unictype/property-bidi-whitespace (Depends-on,
1927         configure.ac): Likewise.
1928         * modules/unictype/property-combining (Depends-on, configure.ac):
1929         Likewise.
1930         * modules/unictype/property-composite (Depends-on, configure.ac):
1931         Likewise.
1932         * modules/unictype/property-currency-symbol (Depends-on,
1933         configure.ac): Likewise.
1934         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
1935         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
1936         Likewise.
1937         * modules/unictype/property-default-ignorable-code-point (Depends-on,
1938         configure.ac): Likewise.
1939         * modules/unictype/property-deprecated (Depends-on, configure.ac):
1940         Likewise.
1941         * modules/unictype/property-diacritic (Depends-on, configure.ac):
1942         Likewise.
1943         * modules/unictype/property-extender (Depends-on, configure.ac):
1944         Likewise.
1945         * modules/unictype/property-format-control (Depends-on, configure.ac):
1946         Likewise.
1947         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
1948         Likewise.
1949         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
1950         Likewise.
1951         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
1952         Likewise.
1953         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
1954         Likewise.
1955         * modules/unictype/property-hyphen (Depends-on, configure.ac):
1956         Likewise.
1957         * modules/unictype/property-id-continue (Depends-on, configure.ac):
1958         Likewise.
1959         * modules/unictype/property-id-start (Depends-on, configure.ac):
1960         Likewise.
1961         * modules/unictype/property-ideographic (Depends-on, configure.ac):
1962         Likewise.
1963         * modules/unictype/property-ids-binary-operator (Depends-on,
1964         configure.ac): Likewise.
1965         * modules/unictype/property-ids-trinary-operator (Depends-on,
1966         configure.ac): Likewise.
1967         * modules/unictype/property-ignorable-control (Depends-on,
1968         configure.ac): Likewise.
1969         * modules/unictype/property-iso-control (Depends-on, configure.ac):
1970         Likewise.
1971         * modules/unictype/property-join-control (Depends-on, configure.ac):
1972         Likewise.
1973         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
1974         Likewise.
1975         * modules/unictype/property-line-separator (Depends-on, configure.ac):
1976         Likewise.
1977         * modules/unictype/property-logical-order-exception (Depends-on,
1978         configure.ac): Likewise.
1979         * modules/unictype/property-lowercase (Depends-on, configure.ac):
1980         Likewise.
1981         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
1982         * modules/unictype/property-non-break (Depends-on, configure.ac):
1983         Likewise.
1984         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
1985         Likewise.
1986         * modules/unictype/property-numeric (Depends-on, configure.ac):
1987         Likewise.
1988         * modules/unictype/property-other-alphabetic (Depends-on,
1989         configure.ac): Likewise.
1990         * modules/unictype/property-other-default-ignorable-code-point
1991         (Depends-on, configure.ac): Likewise.
1992         * modules/unictype/property-other-grapheme-extend (Depends-on,
1993         configure.ac): Likewise.
1994         * modules/unictype/property-other-id-continue (Depends-on,
1995         configure.ac): Likewise.
1996         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
1997         Likewise.
1998         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
1999         Likewise.
2000         * modules/unictype/property-other-math (Depends-on, configure.ac):
2001         Likewise.
2002         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
2003         Likewise.
2004         * modules/unictype/property-paired-punctuation (Depends-on,
2005         configure.ac): Likewise.
2006         * modules/unictype/property-paragraph-separator (Depends-on,
2007         configure.ac): Likewise.
2008         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
2009         Likewise.
2010         * modules/unictype/property-pattern-white-space (Depends-on,
2011         configure.ac): Likewise.
2012         * modules/unictype/property-private-use (Depends-on, configure.ac):
2013         Likewise.
2014         * modules/unictype/property-punctuation (Depends-on, configure.ac):
2015         Likewise.
2016         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
2017         Likewise.
2018         * modules/unictype/property-radical (Depends-on, configure.ac):
2019         Likewise.
2020         * modules/unictype/property-sentence-terminal (Depends-on,
2021         configure.ac): Likewise.
2022         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
2023         Likewise.
2024         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
2025         * modules/unictype/property-terminal-punctuation (Depends-on,
2026         configure.ac): Likewise.
2027         * modules/unictype/property-titlecase (Depends-on, configure.ac):
2028         Likewise.
2029         * modules/unictype/property-unassigned-code-value (Depends-on,
2030         configure.ac): Likewise.
2031         * modules/unictype/property-unified-ideograph (Depends-on,
2032         configure.ac): Likewise.
2033         * modules/unictype/property-uppercase (Depends-on, configure.ac):
2034         Likewise.
2035         * modules/unictype/property-variation-selector (Depends-on,
2036         configure.ac): Likewise.
2037         * modules/unictype/property-white-space (Depends-on, configure.ac):
2038         Likewise.
2039         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
2040         Likewise.
2041         * modules/unictype/property-xid-start (Depends-on, configure.ac):
2042         Likewise.
2043         * modules/unictype/property-zero-width (Depends-on, configure.ac):
2044         Likewise.
2045         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
2046         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
2047         Likewise.
2048
2049 2009-12-31  Bruno Haible  <bruno@clisp.org>
2050
2051         Remove unnecessary AC_C_INLINE invocation.
2052         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
2053         since 2009-08-21.
2054
2055 2009-12-31  Jim Meyering  <meyering@redhat.com>
2056
2057         maint.mk: don't require explicit gpg_key_ID in cfg.mk
2058         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
2059         With this change, we can all remove the gpg_key_ID = ... definition
2060         from our respective cfg.mk files.
2061
2062         maint.mk: create announcement template in ~/, not in /tmp
2063         * top/maint.mk (emit_upload_commands): Adjust.
2064         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
2065         Remove temporary file, .ci-msg.
2066
2067 2009-12-31  Eric Blake  <ebb9@byu.net>
2068
2069         link-warning: always build headers with link warnings
2070         * modules/arpa_inet (Makefile.am): Always build replacement
2071         header.
2072         * modules/ctype (Makefile.am): Likewise.
2073         * modules/dirent (Makefile.am): Likewise.
2074         * modules/inttypes (Makefile.am): Likewise.
2075         * modules/langinfo (Makefile.am): Likewise.
2076         * modules/locale (Makefile.am): Likewise.
2077         * modules/spawn (Makefile.am): Likewise.
2078         * modules/sys_file (Makefile.am): Likewise.
2079         * modules/sys_ioctl (Makefile.am): Likewise.
2080         * modules/sys_select (Makefile.am): Likewise.
2081         * modules/sys_socket (Makefile.am): Likewise.
2082         * modules/sys_times (Makefile.am): Likewise.
2083         * modules/sys_utsname (Makefile.am): Likewise.
2084         * modules/sys_wait (Makefile.am): Likewise.
2085         * modules/wchar (Makefile.am): Likewise.
2086         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
2087         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
2088         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
2089         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
2090         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
2091         Likewise.
2092         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
2093         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2094         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
2095         Likewise.
2096         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
2097         Likewise.
2098         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2099         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
2100         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
2101         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2102         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2103         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2104         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2105         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
2106         (gl_WCHAR_H_DEFAULTS): Likewise.
2107
2108 2009-12-31  Eric Blake  <ebb9@byu.net>
2109
2110         signal, spawn: use link warnings
2111         * lib/signal.in.h (sigset_t): Make unconditional.
2112         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
2113         (sigpending, sigprocmask, sigaction): Add link warnings.
2114         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
2115         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
2116         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
2117         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
2118         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
2119         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
2120         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
2121         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
2122         (posix_spawn_file_actions_destroy)
2123         (posix_spawn_file_actions_addopen)
2124         (posix_spawn_file_actions_addclose)
2125         (posix_spawwn_file_actions_adddup2): Likewise.
2126         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
2127         * tests/test-signal.c (main): Enhance test.
2128
2129         spawn: improve wrapper support
2130         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
2131         (gl_SPAWN_H_DEFAULTS): New defaults.
2132         * modules/spawn (Makefile.am): Substitute them.
2133         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
2134         Only declare if missing or broken.
2135
2136         sys_times, sys_utsname: use include_next
2137         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
2138         header.
2139         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
2140         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2141         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2142         * modules/sys_times (Depends-on): Add include_next.
2143         (Makefile.am): Substitute additional values.
2144         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
2145         * lib/sys_times.in.h (includes): Include native header, if
2146         available.
2147         * lib/sys_utsname.in.h (includes): Likewise.
2148         * tests/test-sys_times.c (main): Enhance test.
2149
2150         fdutimensat: revert prior patch
2151         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
2152         utimens.h.
2153         Reported by Bruno Haible.
2154
2155 2009-12-30  Eric Blake  <ebb9@byu.net>
2156
2157         sys_wait: drop link-warning dependency
2158         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
2159         link-warning efforts.
2160         * lib/sys_wait.in.h: Likewise.
2161
2162         fdutimensat: remove bogus dependency
2163         * modules/fdutimensat (Depends-on): Drop inline.
2164
2165         unistd: fix typo
2166         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
2167
2168 2009-12-30  Bruno Haible  <bruno@clisp.org>
2169
2170         Fix compilation error with Solaris cc.
2171         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
2172         * lib/unicase/u16-is-invariant.c: Likewise.
2173         * lib/unicase/u32-is-invariant.c: Likewise.
2174         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2175
2176 2009-12-30  Bruno Haible  <bruno@clisp.org>
2177
2178         Fix test crash.
2179         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
2180         locales.
2181         Reported by Simon Josefsson <simon@josefsson.org>.
2182
2183 2009-12-30  Bruno Haible  <bruno@clisp.org>
2184
2185         Fix compilation error on most platforms.
2186         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
2187         Reported by Simon Josefsson <simon@josefsson.org>
2188         and Nelson H. F. Beebe <beebe@math.utah.edu>.
2189
2190 2009-12-30  Eric Blake  <ebb9@byu.net>
2191
2192         futimens, utimensat: work around ntfs-3g bug
2193         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
2194         a ctime bug is present, and expand workaround to cover ntfs-3g.
2195         * lib/utimens.c (fdutimens, lutimens): Likewise.
2196         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
2197         (validate_timespec): Adjust return value.
2198         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
2199         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2200         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
2201
2202 2009-12-29  Eric Blake  <ebb9@byu.net>
2203
2204         link-warning: make usage consistent
2205         * modules/ctype (Depends-on): Add link-warning.
2206         (Makefile.am): Update rules accordingly.
2207         * modules/langinfo (Depends-on, Makefile.am): Likewise.
2208         * modules/locale (Depends-on, Makefile.am): Likewise.
2209         * modules/sys_file (Makefile.am): Likewise.
2210         * modules/getopt-posix (Makefile.am): Delete unused link warning
2211         efforts.
2212         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
2213         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
2214         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
2215         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
2216
2217         stdio: remove unused variables
2218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
2219         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
2220         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2221
2222         tests: test more substitute headers
2223         * modules/ctype-tests: New file.
2224         * modules/dirent-tests: Likewise.
2225         * modules/spawn-tests: Likewise.
2226         * modules/sys_file-tests: Likewise.
2227         * modules/sys_ioctl-tests: Likewise.
2228         * modules/sys_wait-tests: Likewise.
2229         * tests/test-ctype.c: Likewise.
2230         * tests/test-dirent.c: Likewise.
2231         * tests/test-spawn.c: Likewise.
2232         * tests/test-sys_file.c: Likewise.
2233         * tests/test-sys_ioctl.c: Likewise.
2234         * tests/test-sys_wait.c: Likewise.
2235         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
2236         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
2237         whether or not flock is in use.
2238
2239         tests: remove License section from module
2240         * modules/arpa_inet-tests: Remove unneeded section.
2241         * modules/byteswap-tests: Likewise.
2242         * modules/ceilf-tests: Likewise.
2243         * modules/ceill-tests: Likewise.
2244         * modules/crypto/des-tests: Likewise.
2245         * modules/crypto/gc-arcfour-tests: Likewise.
2246         * modules/crypto/gc-arctwo-tests: Likewise.
2247         * modules/crypto/gc-des-tests: Likewise.
2248         * modules/crypto/gc-hmac-md5-tests: Likewise.
2249         * modules/crypto/gc-hmac-sha1-tests: Likewise.
2250         * modules/crypto/gc-md2-tests: Likewise.
2251         * modules/crypto/gc-md4-tests: Likewise.
2252         * modules/crypto/gc-md5-tests: Likewise.
2253         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
2254         * modules/crypto/gc-rijndael-tests: Likewise.
2255         * modules/crypto/gc-sha1-tests: Likewise.
2256         * modules/crypto/gc-tests: Likewise.
2257         * modules/crypto/md2-tests: Likewise.
2258         * modules/crypto/md4-tests: Likewise.
2259         * modules/fcntl-h-tests: Likewise.
2260         * modules/floorf-tests: Likewise.
2261         * modules/floorl-tests: Likewise.
2262         * modules/frexp-nolibm-tests: Likewise.
2263         * modules/frexp-tests: Likewise.
2264         * modules/frexpl-nolibm-tests: Likewise.
2265         * modules/frexpl-tests: Likewise.
2266         * modules/getaddrinfo-tests: Likewise.
2267         * modules/inttypes-tests: Likewise.
2268         * modules/isfinite-tests: Likewise.
2269         * modules/isinf-tests: Likewise.
2270         * modules/ldexpl-tests: Likewise.
2271         * modules/locale-tests: Likewise.
2272         * modules/math-tests: Likewise.
2273         * modules/netdb-tests: Likewise.
2274         * modules/netinet_in-tests: Likewise.
2275         * modules/printf-frexp-tests: Likewise.
2276         * modules/printf-frexpl-tests: Likewise.
2277         * modules/priv-set-tests: Likewise.
2278         * modules/random_r-tests: Likewise.
2279         * modules/round-tests: Likewise.
2280         * modules/roundf-tests: Likewise.
2281         * modules/roundl-tests: Likewise.
2282         * modules/search-tests: Likewise.
2283         * modules/select-tests: Likewise.
2284         * modules/signal-tests: Likewise.
2285         * modules/stdbool-tests: Likewise.
2286         * modules/stddef-tests: Likewise.
2287         * modules/stdint-tests: Likewise.
2288         * modules/stdio-tests: Likewise.
2289         * modules/stdlib-tests: Likewise.
2290         * modules/string-tests: Likewise.
2291         * modules/strings-tests: Likewise.
2292         * modules/sys_select-tests: Likewise.
2293         * modules/sys_socket-tests: Likewise.
2294         * modules/sys_stat-tests: Likewise.
2295         * modules/sys_time-tests: Likewise.
2296         * modules/sys_utsname-tests: Likewise.
2297         * modules/sysexits-tests: Likewise.
2298         * modules/time-tests: Likewise.
2299         * modules/trunc-tests: Likewise.
2300         * modules/truncf-tests: Likewise.
2301         * modules/truncl-tests: Likewise.
2302         * modules/tsearch-tests: Likewise.
2303         * modules/unistd-tests: Likewise.
2304         * modules/wchar-tests: Likewise.
2305         * modules/wctype-tests: Likewise.
2306
2307         tests: fix license on several tests
2308         * tests/test-des.c: Update to GPLv3+.
2309         * tests/test-flock.c: Likewise.
2310         * tests/test-fsync.c: Likewise.
2311         * tests/test-futimens.h: Likewise.
2312         * tests/test-gc-arcfour.c: Likewise.
2313         * tests/test-gc-arctwo.c: Likewise.
2314         * tests/test-gc-des.c: Likewise.
2315         * tests/test-gc-hmac-md5.c: Likewise.
2316         * tests/test-gc-hmac-sha1.c: Likewise.
2317         * tests/test-gc-md2.c: Likewise.
2318         * tests/test-gc-md4.c: Likewise.
2319         * tests/test-gc-md5.c: Likewise.
2320         * tests/test-gc-pbkdf2-sha1.c: Likewise.
2321         * tests/test-gc-rijndael.c: Likewise.
2322         * tests/test-gc-sha1.c: Likewise.
2323         * tests/test-gc.c: Likewise.
2324         * tests/test-getcwd.c: Likewise.
2325         * tests/test-link.c: Likewise.
2326         * tests/test-link.h: Likewise.
2327         * tests/test-lutimens.h: Likewise.
2328         * tests/test-md2.c: Likewise.
2329         * tests/test-md4.c: Likewise.
2330         * tests/test-mkdir.h: Likewise.
2331         * tests/test-rename.c: Likewise.
2332         * tests/test-rename.h: Likewise.
2333         * tests/test-safe-alloc.c: Likewise.
2334         * tests/test-utimens-common.h: Likewise.
2335         * tests/test-utimens.h: Likewise.
2336
2337         maint: sync license texts
2338         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
2339         * doc/gpl-3.0.texi: Revert copyright year update.
2340         * doc/lgpl-3.0.texi: Likewise.
2341
2342 2009-12-29  Jim Meyering  <meyering@redhat.com>
2343
2344         update nearly all FSF copyright year lists to include 2009
2345         The files named by the following are exempted:
2346             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
2347               test -f "$dst" && { echo "$dst"; continue; }
2348               test -d "$dst" || continue
2349               echo "$dst"/$(basename "$src")
2350             done > exempt
2351             git ls-files tests/unictype >> exempt
2352         In the remaining files, convert to all-interval notation if
2353         - there is already at least one year interval like 2000-2003
2354         - the file is maintained by me
2355         - the file is in lib/uni*/, where that style already prevails
2356         Otherwise, use update-copyright's default.
2357
2358 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2359         and Eric Blake  <ebb9@byu.net>
2360
2361         tests: don't require debug system() to pass
2362         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
2363         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2364         * tests/test-unlink.h (test_unlink_func): Likewise.
2365         * tests/test-fstatat.c (main): ...into callers.
2366         * tests/test-lstat.c (main): Likewise.
2367         * tests/test-rmdir.c (main): Likewise.
2368         * tests/test-unlink.c (main): Likewise.
2369         * tests/test-unlinkat.c (main): Likewise.
2370         * tests/test-areadlink-with-size.c (main): Don't require a
2371         debug-only system call to pass, aiding cross-testing to mingw.
2372         * tests/test-areadlink.c (main): Likewise.
2373         * tests/test-areadlinkat-with-size.c (main): Likewise.
2374         * tests/test-areadlinkat.c (main): Likewise.
2375         * tests/test-canonicalize-lgpl.c (main): Likewise.
2376         * tests/test-canonicalize.c (main): Likewise.
2377         * tests/test-chown.c (main): Likewise.
2378         * tests/test-fchownat.c (main): Likewise.
2379         * tests/test-lchown.c (main): Likewise.
2380         * tests/test-fdutimensat.c (main): Likewise.
2381         * tests/test-futimens.c (main): Likewise.
2382         * tests/test-link.c (main): Likewise.
2383         * tests/test-linkat.c (main): Likewise.
2384         * tests/test-mkdir.c (main): Likewise.
2385         * tests/test-mkdirat.c (main): Likewise.
2386         * tests/test-mkfifo.c (main): Likewise.
2387         * tests/test-mkfifoat.c (main): Likewise.
2388         * tests/test-mknod.c (main): Likewise.
2389         * tests/test-readlink.c (main): Likewise.
2390         * tests/test-remove.c (main): Likewise.
2391         * tests/test-rename.c (main): Likewise.
2392         * tests/test-renameat.c (main): Likewise.
2393         * tests/test-symlink.c (main): Likewise.
2394         * tests/test-symlinkat.c (main): Likewise.
2395         * tests/test-utimens.c (main): Likewise.
2396         * tests/test-utimensat.c (main): Likewise.
2397
2398 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2399
2400         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
2401         on $(UNUSED_PARAMETER_H) to avoid build failure.
2402
2403 2009-12-28  Jim Meyering  <meyering@redhat.com>
2404
2405         update-copyright: you may specify a max. line length other than 72
2406         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2407
2408         maint: use consistent FSF copyright line syntax
2409         * lib/posixtm.c: Add missing comma in FSF copyright line.
2410         * lib/posixtm.h: Likewise.
2411         * lib/getugroups.c: Add missing ", Inc.".
2412
2413         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
2414         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
2415         FSF copyright line.  Remove trailing blanks.
2416
2417 2009-12-28  Eric Blake  <ebb9@byu.net>
2418
2419         test-dup2: reduce dependencies
2420         * modules/cloexec (Configure.ac): Set witness.
2421         * modules/dup2-tests (Depends-on): Drop cloexec.
2422         * tests/test-dup2.c (main): Skip portion of test if cloexec module
2423         not present.
2424         Suggested by Bruno Haible.
2425
2426 2009-12-26  Bruno Haible  <bruno@clisp.org>
2427
2428         Remove an unneeded dependency.
2429         * modules/fseterr (Depends-on): Remove dup2.
2430
2431 2009-12-26  Eric Blake  <ebb9@byu.net>
2432
2433         tests: use macros.h in more places
2434         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
2435         (ASSERT_STREAM): Provide default of stderr.
2436         * tests/test-dirent-safer.c: Include macros.h, using alternate
2437         stream for assertions.
2438         * tests/test-dup-safer.c: Likewise.
2439         * tests/test-freopen-safer.c: Likewise.
2440         * tests/test-getopt.c: Likewise.
2441         * tests/test-openat-safer.c: Likewise.
2442         * tests/test-pipe.c: Likewise.
2443         * tests/test-popen-safer.c: Likewise.
2444         * modules/dirent-safer-tests (Files): Include macros.h.
2445         * modules/unistd-safer-tests (Files): Likewise.
2446         * modules/freopen-safer-tests (Files): Likewise.
2447         * modules/getopt-posix-tests (Files): Likewise.
2448         * modules/openat-safer-tests (Files): Likewise.
2449         * modules/pipe-tests (Files): Likewise.
2450
2451 2009-12-26  Bruno Haible  <bruno@clisp.org>
2452
2453         javacomp: Portability fix.
2454         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
2455         that it also works on Solaris.
2456
2457 2009-12-26  Bruno Haible  <bruno@clisp.org>
2458
2459         localename: Fix storage allocation of gl_locale_name_thread's result.
2460         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
2461         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
2462         all platforms that have 'uselocale'.
2463         (gl_locale_name_thread_unsafe): New function, extracted from
2464         gl_locale_name_thread.
2465         (gl_locale_name_thread): Call struniq on all platforms that have
2466         'uselocale'.
2467         * tests/test-localename.c (test_locale_name_thread): Check that the
2468         resulting strings are permanently allocated.
2469         * modules/localename-tests (Depends-on): Add strdup.
2470
2471 2009-12-26  Bruno Haible  <bruno@clisp.org>
2472
2473         * tests/test-localename.c (categories): Fill in the strings.
2474
2475 2009-12-26  Jim Meyering  <meyering@redhat.com>
2476
2477         isdir: complete the removal of m4/isdir.m4
2478         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
2479
2480         isdir: clean up, since at least grep still uses it
2481         * lib/isdir.c: Include "isdir.h".
2482         (S_ISDIR): Remove now-unneeded definition.
2483         * modules/isdir (Files): Add lib/isdir.h.
2484         * lib/isdir.h: New file, with declaration.
2485         * m4/isdir.m4: Remove file -- unneeded.
2486
2487 2009-12-25  Bruno Haible  <bruno@clisp.org>
2488
2489         selinux-h: Make generated .h files standalone.
2490         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
2491         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
2492         * lib/se-selinux.in.h: Likewise.
2493         * modules/selinux-h (Depends-on): Add unused-parameter.
2494         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
2495         selinux/selinux.h and selinux/context.h.
2496         Suggested by Eric Blake.
2497
2498 2009-12-25  Bruno Haible  <bruno@clisp.org>
2499
2500         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
2501         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
2502         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
2503         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
2504         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
2505
2506 2009-12-24  Bruno Haible  <bruno@clisp.org>
2507
2508         openat: Fix warning.
2509         * lib/openat-proc.c: Include <unistd.h>.
2510
2511 2009-12-24  Bruno Haible  <bruno@clisp.org>
2512
2513         New module 'unused-parameter'.
2514         * build-aux/unused-parameter.h: New file, extracted from earlier
2515         gnulib-common.m4.
2516         * modules/unused-parameter: New file.
2517         * lib/unistr.h: Include unused-parameter.h.
2518         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
2519         _GL_UNUSED.
2520         * modules/unistr/base (Depends-on): Add unused-parameter.
2521
2522 2009-12-24  Bruno Haible  <bruno@clisp.org>
2523
2524         Add missing dependencies to 'extensions' module.
2525         * m4/extensions.m4: Add comment.
2526         * modules/accept4 (Depends-on): Add extensions.
2527         * modules/dup3 (Depends-on): Likewise.
2528         * modules/fcntl (Depends-on): Likewise.
2529         * modules/futimens (Depends-on): Likewise.
2530         * modules/mknod (Depends-on): Likewise.
2531         * modules/pipe2 (Depends-on): Likewise.
2532         * modules/stat-time (Depends-on): Likewise.
2533         * modules/strcasestr-simple (Depends-on): Likewise.
2534         * modules/strsignal (Depends-on): Likewise.
2535         * modules/utimensat (Depends-on): Likewise.
2536         * modules/localcharset (Depends-on): Likewise. Needed because of
2537         gl_FCNTL_O_FLAGS.
2538         * modules/wcrtomb (Depends-on): Likewise. Needed because of
2539         AC_TYPE_MBSTATE_T.
2540         * modules/wcsnrtombs (Depends-on): Likewise.
2541         * modules/wcsrtombs (Depends-on): Likewise.
2542
2543 2009-12-24  Bruno Haible  <bruno@clisp.org>
2544
2545         binary-io: Avoid gcc warning due to SET_BINARY.
2546         * lib/binary-io.h (SET_BINARY): Cast the result to void.
2547         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
2548
2549 2009-12-24  Bruno Haible  <bruno@clisp.org>
2550
2551         Avoid future namespace pollution on glibc systems.
2552         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
2553         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
2554         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
2555         glibc systems.
2556
2557 2009-12-24  Bruno Haible  <bruno@clisp.org>
2558
2559         Refactor common macros used in tests.
2560         * tests/macros.h: New file.
2561         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
2562         and/or <stdlib.h>, if appropriate.
2563         (ASSERT, SIZEOF): Remove macros.
2564         * tests/test-areadlink-with-size.c: Likewise.
2565         * tests/test-areadlinkat.c: Likewise.
2566         * tests/test-areadlinkat-with-size.c: Likewise.
2567         * tests/test-argmatch.c: Likewise.
2568         * tests/test-argv-iter.c: Likewise.
2569         * tests/test-array-mergesort.c: Likewise.
2570         * tests/test-array_list.c: Likewise.
2571         * tests/test-array_oset.c: Likewise.
2572         * tests/test-avltree_list.c: Likewise.
2573         * tests/test-avltree_oset.c: Likewise.
2574         * tests/test-avltreehash_list.c: Likewise.
2575         * tests/test-base64.c: Likewise.
2576         * tests/test-binary-io.c: Likewise.
2577         * tests/test-bitrotate.c: Likewise.
2578         * tests/test-btowc.c: Likewise.
2579         * tests/test-byteswap.c: Likewise.
2580         * tests/test-c-ctype.c: Likewise.
2581         * tests/test-c-stack.c: Likewise.
2582         * tests/test-c-strcasecmp.c: Likewise.
2583         * tests/test-c-strcasestr.c: Likewise.
2584         * tests/test-c-strncasecmp.c: Likewise.
2585         * tests/test-c-strstr.c: Likewise.
2586         * tests/test-canonicalize-lgpl.c: Likewise.
2587         * tests/test-canonicalize.c: Likewise.
2588         * tests/test-carray_list.c: Likewise.
2589         * tests/test-ceilf1.c: Likewise.
2590         * tests/test-ceilf2.c: Likewise.
2591         * tests/test-ceill.c: Likewise.
2592         * tests/test-chown.c: Likewise.
2593         * tests/test-cloexec.c: Likewise.
2594         * tests/test-copy-acl.c: Likewise.
2595         * tests/test-copy-file.c: Likewise.
2596         * tests/test-count-one-bits.c: Likewise.
2597         * tests/test-dprintf-posix.c: Likewise.
2598         * tests/test-dup2.c: Likewise.
2599         * tests/test-dup3.c: Likewise.
2600         * tests/test-duplocale.c: Likewise.
2601         * tests/test-fbufmode.c: Likewise.
2602         * tests/test-fchdir.c: Likewise.
2603         * tests/test-fchownat.c: Likewise.
2604         * tests/test-fcntl-safer.c: Likewise.
2605         * tests/test-fcntl.c: Likewise.
2606         * tests/test-fdopendir.c: Likewise.
2607         * tests/test-fdutimensat.c: Likewise.
2608         * tests/test-fflush2.c: Likewise.
2609         * tests/test-file-has-acl.c: Likewise.
2610         * tests/test-filevercmp.c: Likewise.
2611         * tests/test-flock.c: Likewise.
2612         * tests/test-floorf1.c: Likewise.
2613         * tests/test-floorf2.c: Likewise.
2614         * tests/test-floorl.c: Likewise.
2615         * tests/test-fnmatch.c: Likewise.
2616         * tests/test-fopen.h: Likewise.
2617         * tests/test-fpending.c: Likewise.
2618         * tests/test-fprintf-posix.c: Likewise.
2619         * tests/test-fpurge.c: Likewise.
2620         * tests/test-freadable.c: Likewise.
2621         * tests/test-freadahead.c: Likewise.
2622         * tests/test-freading.c: Likewise.
2623         * tests/test-freadptr.c: Likewise.
2624         * tests/test-freadptr2.c: Likewise.
2625         * tests/test-freadseek.c: Likewise.
2626         * tests/test-freopen.c: Likewise.
2627         * tests/test-frexp.c: Likewise.
2628         * tests/test-frexpl.c: Likewise.
2629         * tests/test-fseek.c: Likewise.
2630         * tests/test-fseeko.c: Likewise.
2631         * tests/test-fstatat.c: Likewise.
2632         * tests/test-fstrcmp.c: Likewise.
2633         * tests/test-fsync.c: Likewise.
2634         * tests/test-ftell.c: Likewise.
2635         * tests/test-ftello.c: Likewise.
2636         * tests/test-func.c: Likewise.
2637         * tests/test-futimens.c: Likewise.
2638         * tests/test-fwritable.c: Likewise.
2639         * tests/test-fwriting.c: Likewise.
2640         * tests/test-getcwd.c: Likewise.
2641         * tests/test-getdate.c: Likewise.
2642         * tests/test-getdelim.c: Likewise.
2643         * tests/test-getdtablesize.c: Likewise.
2644         * tests/test-getgroups.c: Likewise.
2645         * tests/test-getline.c: Likewise.
2646         * tests/test-getndelim2.c: Likewise.
2647         * tests/test-glob.c: Likewise.
2648         * tests/test-hash.c: Likewise.
2649         * tests/test-i-ring.c: Likewise.
2650         * tests/test-iconv-utf.c: Likewise.
2651         * tests/test-iconv.c: Likewise.
2652         * tests/test-idpriv-drop.c: Likewise.
2653         * tests/test-idpriv-droptemp.c: Likewise.
2654         * tests/test-inet_ntop.c: Likewise.
2655         * tests/test-inet_pton.c: Likewise.
2656         * tests/test-isblank.c: Likewise.
2657         * tests/test-isfinite.c: Likewise.
2658         * tests/test-isinf.c: Likewise.
2659         * tests/test-isnan.c: Likewise.
2660         * tests/test-isnand.h: Likewise.
2661         * tests/test-isnanf.h: Likewise.
2662         * tests/test-isnanl.h: Likewise.
2663         * tests/test-lchown.c: Likewise.
2664         * tests/test-ldexpl.c: Likewise.
2665         * tests/test-link.c: Likewise.
2666         * tests/test-linkat.c: Likewise.
2667         * tests/test-linked_list.c: Likewise.
2668         * tests/test-linkedhash_list.c: Likewise.
2669         * tests/test-localename.c: Likewise.
2670         * tests/test-lseek.c: Likewise.
2671         * tests/test-lstat.c: Likewise.
2672         * tests/test-mbmemcasecmp.c: Likewise.
2673         * tests/test-mbmemcasecoll.c: Likewise.
2674         * tests/test-mbrtowc.c: Likewise.
2675         * tests/test-mbscasecmp.c: Likewise.
2676         * tests/test-mbscasestr1.c: Likewise.
2677         * tests/test-mbscasestr2.c: Likewise.
2678         * tests/test-mbscasestr3.c: Likewise.
2679         * tests/test-mbscasestr4.c: Likewise.
2680         * tests/test-mbschr.c: Likewise.
2681         * tests/test-mbscspn.c: Likewise.
2682         * tests/test-mbsinit.c: Likewise.
2683         * tests/test-mbsncasecmp.c: Likewise.
2684         * tests/test-mbsnrtowcs.c: Likewise.
2685         * tests/test-mbspbrk.c: Likewise.
2686         * tests/test-mbspcasecmp.c: Likewise.
2687         * tests/test-mbsrchr.c: Likewise.
2688         * tests/test-mbsrtowcs.c: Likewise.
2689         * tests/test-mbsspn.c: Likewise.
2690         * tests/test-mbsstr1.c: Likewise.
2691         * tests/test-mbsstr2.c: Likewise.
2692         * tests/test-mbsstr3.c: Likewise.
2693         * tests/test-memchr.c: Likewise.
2694         * tests/test-memchr2.c: Likewise.
2695         * tests/test-memcmp.c: Likewise.
2696         * tests/test-memmem.c: Likewise.
2697         * tests/test-memrchr.c: Likewise.
2698         * tests/test-mkdir.c: Likewise.
2699         * tests/test-mkdirat.c: Likewise.
2700         * tests/test-mkfifo.c: Likewise.
2701         * tests/test-mkfifoat.c: Likewise.
2702         * tests/test-mknod.c: Likewise.
2703         * tests/test-nanosleep.c: Likewise.
2704         * tests/test-nl_langinfo.c: Likewise.
2705         * tests/test-obstack-printf.c: Likewise.
2706         * tests/test-open.c: Likewise.
2707         * tests/test-openat.c: Likewise.
2708         * tests/test-pipe-filter-gi1.c: Likewise.
2709         * tests/test-pipe-filter-gi2-main.c: Likewise.
2710         * tests/test-pipe-filter-ii1.c: Likewise.
2711         * tests/test-pipe-filter-ii2-main.c: Likewise.
2712         * tests/test-pipe2.c: Likewise.
2713         * tests/test-popen.h: Likewise.
2714         * tests/test-posixtm.c: Likewise.
2715         * tests/test-pread.c: Likewise.
2716         * tests/test-printf-frexp.c: Likewise.
2717         * tests/test-printf-frexpl.c: Likewise.
2718         * tests/test-printf-posix.c: Likewise.
2719         * tests/test-priv-set.c: Likewise.
2720         * tests/test-quotearg.c: Likewise.
2721         * tests/test-random_r.c: Likewise.
2722         * tests/test-rawmemchr.c: Likewise.
2723         * tests/test-rbtree_list.c: Likewise.
2724         * tests/test-rbtree_oset.c: Likewise.
2725         * tests/test-rbtreehash_list.c: Likewise.
2726         * tests/test-readlink.c: Likewise.
2727         * tests/test-remove.c: Likewise.
2728         * tests/test-rename.c: Likewise.
2729         * tests/test-renameat.c: Likewise.
2730         * tests/test-rmdir.c: Likewise.
2731         * tests/test-round1.c: Likewise.
2732         * tests/test-roundf1.c: Likewise.
2733         * tests/test-roundl.c: Likewise.
2734         * tests/test-safe-alloc.c: Likewise.
2735         * tests/test-sameacls.c: Likewise.
2736         * tests/test-set-mode-acl.c: Likewise.
2737         * tests/test-setenv.c: Likewise.
2738         * tests/test-sigaction.c: Likewise.
2739         * tests/test-signbit.c: Likewise.
2740         * tests/test-sleep.c: Likewise.
2741         * tests/test-snprintf-posix.c: Likewise.
2742         * tests/test-snprintf.c: Likewise.
2743         * tests/test-sprintf-posix.c: Likewise.
2744         * tests/test-stat-time.c: Likewise.
2745         * tests/test-stat.c: Likewise.
2746         * tests/test-strcasestr.c: Likewise.
2747         * tests/test-strchrnul.c: Likewise.
2748         * tests/test-strerror.c: Likewise.
2749         * tests/test-striconv.c: Likewise.
2750         * tests/test-striconveh.c: Likewise.
2751         * tests/test-striconveha.c: Likewise.
2752         * tests/test-strsignal.c: Likewise.
2753         * tests/test-strstr.c: Likewise.
2754         * tests/test-strtod.c: Likewise.
2755         * tests/test-strverscmp.c: Likewise.
2756         * tests/test-symlink.c: Likewise.
2757         * tests/test-symlinkat.c: Likewise.
2758         * tests/test-trunc1.c: Likewise.
2759         * tests/test-trunc2.c: Likewise.
2760         * tests/test-truncf1.c: Likewise.
2761         * tests/test-truncf2.c: Likewise.
2762         * tests/test-truncl.c: Likewise.
2763         * tests/test-uname.c: Likewise.
2764         * tests/test-unlink.c: Likewise.
2765         * tests/test-unlinkat.c: Likewise.
2766         * tests/test-unsetenv.c: Likewise.
2767         * tests/test-usleep.c: Likewise.
2768         * tests/test-utimens.c: Likewise.
2769         * tests/test-utimensat.c: Likewise.
2770         * tests/test-vasnprintf-posix.c: Likewise.
2771         * tests/test-vasnprintf-posix2.c: Likewise.
2772         * tests/test-vasnprintf.c: Likewise.
2773         * tests/test-vasprintf-posix.c: Likewise.
2774         * tests/test-vasprintf.c: Likewise.
2775         * tests/test-vdprintf-posix.c: Likewise.
2776         * tests/test-vfprintf-posix.c: Likewise.
2777         * tests/test-vprintf-posix.c: Likewise.
2778         * tests/test-vsnprintf-posix.c: Likewise.
2779         * tests/test-vsnprintf.c: Likewise.
2780         * tests/test-vsprintf-posix.c: Likewise.
2781         * tests/test-wcrtomb.c: Likewise.
2782         * tests/test-wcsnrtombs.c: Likewise.
2783         * tests/test-wcsrtombs.c: Likewise.
2784         * tests/test-wctype.c: Likewise.
2785         * tests/test-wcwidth.c: Likewise.
2786         * tests/test-xfprintf-posix.c: Likewise.
2787         * tests/test-xmemdup0.c: Likewise.
2788         * tests/test-xprintf-posix.c: Likewise.
2789         * tests/test-xvasprintf.c: Likewise.
2790         * tests/unicase/test-locale-language.c: Likewise.
2791         * tests/unicase/test-mapping-part1.h: Likewise.
2792         * tests/unicase/test-predicate-part1.h: Likewise.
2793         * tests/unicase/test-u8-casecmp.c: Likewise.
2794         * tests/unicase/test-u8-casecoll.c: Likewise.
2795         * tests/unicase/test-u8-casefold.c: Likewise.
2796         * tests/unicase/test-u8-is-cased.c: Likewise.
2797         * tests/unicase/test-u8-is-casefolded.c: Likewise.
2798         * tests/unicase/test-u8-is-lowercase.c: Likewise.
2799         * tests/unicase/test-u8-is-titlecase.c: Likewise.
2800         * tests/unicase/test-u8-is-uppercase.c: Likewise.
2801         * tests/unicase/test-u8-tolower.c: Likewise.
2802         * tests/unicase/test-u8-totitle.c: Likewise.
2803         * tests/unicase/test-u8-toupper.c: Likewise.
2804         * tests/unicase/test-u16-casecmp.c: Likewise.
2805         * tests/unicase/test-u16-casecoll.c: Likewise.
2806         * tests/unicase/test-u16-casefold.c: Likewise.
2807         * tests/unicase/test-u16-is-cased.c: Likewise.
2808         * tests/unicase/test-u16-is-casefolded.c: Likewise.
2809         * tests/unicase/test-u16-is-lowercase.c: Likewise.
2810         * tests/unicase/test-u16-is-titlecase.c: Likewise.
2811         * tests/unicase/test-u16-is-uppercase.c: Likewise.
2812         * tests/unicase/test-u16-tolower.c: Likewise.
2813         * tests/unicase/test-u16-totitle.c: Likewise.
2814         * tests/unicase/test-u16-toupper.c: Likewise.
2815         * tests/unicase/test-u32-casecmp.c: Likewise.
2816         * tests/unicase/test-u32-casecoll.c: Likewise.
2817         * tests/unicase/test-u32-casefold.c: Likewise.
2818         * tests/unicase/test-u32-is-cased.c: Likewise.
2819         * tests/unicase/test-u32-is-casefolded.c: Likewise.
2820         * tests/unicase/test-u32-is-lowercase.c: Likewise.
2821         * tests/unicase/test-u32-is-titlecase.c: Likewise.
2822         * tests/unicase/test-u32-is-uppercase.c: Likewise.
2823         * tests/unicase/test-u32-tolower.c: Likewise.
2824         * tests/unicase/test-u32-totitle.c: Likewise.
2825         * tests/unicase/test-u32-toupper.c: Likewise.
2826         * tests/unicase/test-ulc-casecmp.c: Likewise.
2827         * tests/unicase/test-ulc-casecoll.c: Likewise.
2828         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
2829         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
2830         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
2831         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
2832         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
2833         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
2834         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
2835         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
2836         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
2837         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
2838         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
2839         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
2840         * tests/unictype/test-bidi_byname.c: Likewise.
2841         * tests/unictype/test-bidi_name.c: Likewise.
2842         * tests/unictype/test-bidi_of.c: Likewise.
2843         * tests/unictype/test-bidi_test.c: Likewise.
2844         * tests/unictype/test-block_list.c: Likewise.
2845         * tests/unictype/test-block_of.c: Likewise.
2846         * tests/unictype/test-block_test.c: Likewise.
2847         * tests/unictype/test-categ_and.c: Likewise.
2848         * tests/unictype/test-categ_and_not.c: Likewise.
2849         * tests/unictype/test-categ_byname.c: Likewise.
2850         * tests/unictype/test-categ_name.c: Likewise.
2851         * tests/unictype/test-categ_none.c: Likewise.
2852         * tests/unictype/test-categ_of.c: Likewise.
2853         * tests/unictype/test-categ_or.c: Likewise.
2854         * tests/unictype/test-categ_test_withtable.c: Likewise.
2855         * tests/unictype/test-combining.c: Likewise.
2856         * tests/unictype/test-decdigit.c: Likewise.
2857         * tests/unictype/test-digit.c: Likewise.
2858         * tests/unictype/test-mirror.c: Likewise.
2859         * tests/unictype/test-numeric.c: Likewise.
2860         * tests/unictype/test-pr_byname.c: Likewise.
2861         * tests/unictype/test-pr_test.c: Likewise.
2862         * tests/unictype/test-predicate-part1.h: Likewise.
2863         * tests/unictype/test-scripts.c: Likewise.
2864         * tests/unictype/test-sy_c_ident.c: Likewise.
2865         * tests/unictype/test-sy_java_ident.c: Likewise.
2866         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
2867         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
2868         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
2869         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
2870         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
2871         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
2872         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
2873         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
2874         * tests/uninorm/test-canonical-decomposition.c: Likewise.
2875         * tests/uninorm/test-compat-decomposition.c: Likewise.
2876         * tests/uninorm/test-composition.c: Likewise.
2877         * tests/uninorm/test-decomposing-form.c: Likewise.
2878         * tests/uninorm/test-decomposition.c: Likewise.
2879         * tests/uninorm/test-u8-nfc.c: Likewise.
2880         * tests/uninorm/test-u8-nfd.c: Likewise.
2881         * tests/uninorm/test-u8-nfkc.c: Likewise.
2882         * tests/uninorm/test-u8-nfkd.c: Likewise.
2883         * tests/uninorm/test-u8-normcmp.c: Likewise.
2884         * tests/uninorm/test-u8-normcoll.c: Likewise.
2885         * tests/uninorm/test-u16-nfc.c: Likewise.
2886         * tests/uninorm/test-u16-nfd.c: Likewise.
2887         * tests/uninorm/test-u16-nfkc.c: Likewise.
2888         * tests/uninorm/test-u16-nfkd.c: Likewise.
2889         * tests/uninorm/test-u16-normcmp.c: Likewise.
2890         * tests/uninorm/test-u16-normcoll.c: Likewise.
2891         * tests/uninorm/test-u32-nfc.c: Likewise.
2892         * tests/uninorm/test-u32-nfd.c: Likewise.
2893         * tests/uninorm/test-u32-nfkc.c: Likewise.
2894         * tests/uninorm/test-u32-nfkd.c: Likewise.
2895         * tests/uninorm/test-u32-normalize-big.c: Likewise.
2896         * tests/uninorm/test-u32-normcmp.c: Likewise.
2897         * tests/uninorm/test-u32-normcoll.c: Likewise.
2898         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
2899         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
2900         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
2901         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
2902         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
2903         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
2904         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
2905         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
2906         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
2907         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
2908         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
2909         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
2910         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
2911         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
2912         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
2913         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
2914         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
2915         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
2916         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
2917         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
2918         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
2919         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
2920         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
2921         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
2922         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
2923         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
2924         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
2925         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
2926         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
2927         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
2928         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
2929         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
2930         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
2931         * tests/uniwidth/test-u8-strwidth.c: Likewise.
2932         * tests/uniwidth/test-u8-width.c: Likewise.
2933         * tests/uniwidth/test-u16-strwidth.c: Likewise.
2934         * tests/uniwidth/test-u16-width.c: Likewise.
2935         * tests/uniwidth/test-u32-strwidth.c: Likewise.
2936         * tests/uniwidth/test-u32-width.c: Likewise.
2937         * tests/uniwidth/test-uc_width.c: Likewise.
2938         * tests/uniwidth/test-uc_width2.c: Likewise.
2939         * modules/acl-tests (Files): Add tests/macros.h.
2940         * modules/areadlink-tests (Files): Likewise.
2941         * modules/areadlink-with-size-tests (Files): Likewise.
2942         * modules/areadlinkat-tests (Files): Likewise.
2943         * modules/areadlinkat-with-size-tests (Files): Likewise.
2944         * modules/argmatch-tests (Files): Likewise.
2945         * modules/argv-iter-tests (Files): Likewise.
2946         * modules/array-list-tests (Files): Likewise.
2947         * modules/array-mergesort-tests (Files): Likewise.
2948         * modules/array-oset-tests (Files): Likewise.
2949         * modules/avltree-list-tests (Files): Likewise.
2950         * modules/avltree-oset-tests (Files): Likewise.
2951         * modules/avltreehash-list-tests (Files): Likewise.
2952         * modules/base64-tests (Files): Likewise.
2953         * modules/binary-io-tests (Files): Likewise.
2954         * modules/bitrotate-tests (Files): Likewise.
2955         * modules/btowc-tests (Files): Likewise.
2956         * modules/byteswap-tests (Files): Likewise.
2957         * modules/c-ctype-tests (Files): Likewise.
2958         * modules/c-stack-tests (Files): Likewise.
2959         * modules/c-strcase-tests (Files): Likewise.
2960         * modules/c-strcasestr-tests (Files): Likewise.
2961         * modules/c-strstr-tests (Files): Likewise.
2962         * modules/canonicalize-lgpl-tests (Files): Likewise.
2963         * modules/canonicalize-tests (Files): Likewise.
2964         * modules/carray-list-tests (Files): Likewise.
2965         * modules/ceilf-tests (Files): Likewise.
2966         * modules/ceill-tests (Files): Likewise.
2967         * modules/chown-tests (Files): Likewise.
2968         * modules/cloexec-tests (Files): Likewise.
2969         * modules/copy-file-tests (Files): Likewise.
2970         * modules/count-one-bits-tests (Files): Likewise.
2971         * modules/dprintf-posix-tests (Files): Likewise.
2972         * modules/dup2-tests (Files): Likewise.
2973         * modules/dup3-tests (Files): Likewise.
2974         * modules/duplocale-tests (Files): Likewise.
2975         * modules/fbufmode-tests (Files): Likewise.
2976         * modules/fchdir-tests (Files): Likewise.
2977         * modules/fcntl-safer-tests (Files): Likewise.
2978         * modules/fcntl-tests (Files): Likewise.
2979         * modules/fdopendir-tests (Files): Likewise.
2980         * modules/fdutimensat-tests (Files): Likewise.
2981         * modules/fflush-tests (Files): Likewise.
2982         * modules/filevercmp-tests (Files): Likewise.
2983         * modules/flock-tests (Files): Likewise.
2984         * modules/floorf-tests (Files): Likewise.
2985         * modules/floorl-tests (Files): Likewise.
2986         * modules/fnmatch-tests (Files): Likewise.
2987         * modules/fopen-safer-tests (Files): Likewise.
2988         * modules/fopen-tests (Files): Likewise.
2989         * modules/fpending-tests (Files): Likewise.
2990         * modules/fprintf-posix-tests (Files): Likewise.
2991         * modules/fpurge-tests (Files): Likewise.
2992         * modules/freadable-tests (Files): Likewise.
2993         * modules/freadahead-tests (Files): Likewise.
2994         * modules/freading-tests (Files): Likewise.
2995         * modules/freadptr-tests (Files): Likewise.
2996         * modules/freadseek-tests (Files): Likewise.
2997         * modules/freopen-tests (Files): Likewise.
2998         * modules/frexp-nolibm-tests (Files): Likewise.
2999         * modules/frexp-tests (Files): Likewise.
3000         * modules/frexpl-nolibm-tests (Files): Likewise.
3001         * modules/frexpl-tests (Files): Likewise.
3002         * modules/fseek-tests (Files): Likewise.
3003         * modules/fseeko-tests (Files): Likewise.
3004         * modules/fstrcmp-tests (Files): Likewise.
3005         * modules/fsync-tests (Files): Likewise.
3006         * modules/ftell-tests (Files): Likewise.
3007         * modules/ftello-tests (Files): Likewise.
3008         * modules/func-tests (Files): Likewise.
3009         * modules/futimens-tests (Files): Likewise.
3010         * modules/fwritable-tests (Files): Likewise.
3011         * modules/fwriting-tests (Files): Likewise.
3012         * modules/getcwd-tests (Files): Likewise.
3013         * modules/getdate-tests (Files): Likewise.
3014         * modules/getdelim-tests (Files): Likewise.
3015         * modules/getdtablesize-tests (Files): Likewise.
3016         * modules/getgroups-tests (Files): Likewise.
3017         * modules/getline-tests (Files): Likewise.
3018         * modules/getndelim2-tests (Files): Likewise.
3019         * modules/glob-tests (Files): Likewise.
3020         * modules/hash-tests (Files): Likewise.
3021         * modules/i-ring-tests (Files): Likewise.
3022         * modules/iconv-tests (Files): Likewise.
3023         * modules/iconv_open-utf-tests (Files): Likewise.
3024         * modules/idpriv-drop-tests (Files): Likewise.
3025         * modules/idpriv-droptemp-tests (Files): Likewise.
3026         * modules/inet_ntop-tests (Files): Likewise.
3027         * modules/inet_pton-tests (Files): Likewise.
3028         * modules/isblank-tests (Files): Likewise.
3029         * modules/isfinite-tests (Files): Likewise.
3030         * modules/isinf-tests (Files): Likewise.
3031         * modules/isnan-tests (Files): Likewise.
3032         * modules/isnand-nolibm-tests (Files): Likewise.
3033         * modules/isnand-tests (Files): Likewise.
3034         * modules/isnanf-nolibm-tests (Files): Likewise.
3035         * modules/isnanf-tests (Files): Likewise.
3036         * modules/isnanl-nolibm-tests (Files): Likewise.
3037         * modules/isnanl-tests (Files): Likewise.
3038         * modules/lchown-tests (Files): Likewise.
3039         * modules/ldexpl-tests (Files): Likewise.
3040         * modules/link-tests (Files): Likewise.
3041         * modules/linkat-tests (Files): Likewise.
3042         * modules/linked-list-tests (Files): Likewise.
3043         * modules/linkedhash-list-tests (Files): Likewise.
3044         * modules/localename-tests (Files): Likewise.
3045         * modules/lseek-tests (Files): Likewise.
3046         * modules/lstat-tests (Files): Likewise.
3047         * modules/mbmemcasecmp-tests (Files): Likewise.
3048         * modules/mbmemcasecoll-tests (Files): Likewise.
3049         * modules/mbrtowc-tests (Files): Likewise.
3050         * modules/mbscasecmp-tests (Files): Likewise.
3051         * modules/mbscasestr-tests (Files): Likewise.
3052         * modules/mbschr-tests (Files): Likewise.
3053         * modules/mbscspn-tests (Files): Likewise.
3054         * modules/mbsinit-tests (Files): Likewise.
3055         * modules/mbsncasecmp-tests (Files): Likewise.
3056         * modules/mbsnrtowcs-tests (Files): Likewise.
3057         * modules/mbspbrk-tests (Files): Likewise.
3058         * modules/mbspcasecmp-tests (Files): Likewise.
3059         * modules/mbsrchr-tests (Files): Likewise.
3060         * modules/mbsrtowcs-tests (Files): Likewise.
3061         * modules/mbsspn-tests (Files): Likewise.
3062         * modules/mbsstr-tests (Files): Likewise.
3063         * modules/memchr-tests (Files): Likewise.
3064         * modules/memchr2-tests (Files): Likewise.
3065         * modules/memcmp-tests (Files): Likewise.
3066         * modules/memmem-tests (Files): Likewise.
3067         * modules/memrchr-tests (Files): Likewise.
3068         * modules/mkdir-tests (Files): Likewise.
3069         * modules/mkfifo-tests (Files): Likewise.
3070         * modules/mkfifoat-tests (Files): Likewise.
3071         * modules/mknod-tests (Files): Likewise.
3072         * modules/nanosleep-tests (Files): Likewise.
3073         * modules/nl_langinfo-tests (Files): Likewise.
3074         * modules/obstack-printf-tests (Files): Likewise.
3075         * modules/open-tests (Files): Likewise.
3076         * modules/openat-tests (Files): Likewise.
3077         * modules/pipe-filter-gi-tests (Files): Likewise.
3078         * modules/pipe-filter-ii-tests (Files): Likewise.
3079         * modules/pipe2-tests (Files): Likewise.
3080         * modules/popen-safer-tests (Files): Likewise.
3081         * modules/popen-tests (Files): Likewise.
3082         * modules/posixtm-tests (Files): Likewise.
3083         * modules/pread-tests (Files): Likewise.
3084         * modules/printf-frexp-tests (Files): Likewise.
3085         * modules/printf-frexpl-tests (Files): Likewise.
3086         * modules/printf-posix-tests (Files): Likewise.
3087         * modules/priv-set-tests (Files): Likewise.
3088         * modules/quotearg-tests (Files): Likewise.
3089         * modules/random_r-tests (Files): Likewise.
3090         * modules/rawmemchr-tests (Files): Likewise.
3091         * modules/rbtree-list-tests (Files): Likewise.
3092         * modules/rbtree-oset-tests (Files): Likewise.
3093         * modules/rbtreehash-list-tests (Files): Likewise.
3094         * modules/readlink-tests (Files): Likewise.
3095         * modules/remove-tests (Files): Likewise.
3096         * modules/rename-tests (Files): Likewise.
3097         * modules/renameat-tests (Files): Likewise.
3098         * modules/rmdir-tests (Files): Likewise.
3099         * modules/round-tests (Files): Likewise.
3100         * modules/roundf-tests (Files): Likewise.
3101         * modules/roundl-tests (Files): Likewise.
3102         * modules/safe-alloc-tests (Files): Likewise.
3103         * modules/setenv-tests (Files): Likewise.
3104         * modules/sigaction-tests (Files): Likewise.
3105         * modules/signbit-tests (Files): Likewise.
3106         * modules/sleep-tests (Files): Likewise.
3107         * modules/snprintf-posix-tests (Files): Likewise.
3108         * modules/snprintf-tests (Files): Likewise.
3109         * modules/sprintf-posix-tests (Files): Likewise.
3110         * modules/stat-tests (Files): Likewise.
3111         * modules/stat-time-tests (Files): Likewise.
3112         * modules/strcasestr-tests (Files): Likewise.
3113         * modules/strchrnul-tests (Files): Likewise.
3114         * modules/strerror-tests (Files): Likewise.
3115         * modules/striconv-tests (Files): Likewise.
3116         * modules/striconveh-tests (Files): Likewise.
3117         * modules/striconveha-tests (Files): Likewise.
3118         * modules/strsignal-tests (Files): Likewise.
3119         * modules/strstr-tests (Files): Likewise.
3120         * modules/strtod-tests (Files): Likewise.
3121         * modules/strverscmp-tests (Files): Likewise.
3122         * modules/symlink-tests (Files): Likewise.
3123         * modules/symlinkat-tests (Files): Likewise.
3124         * modules/trunc-tests (Files): Likewise.
3125         * modules/truncf-tests (Files): Likewise.
3126         * modules/truncl-tests (Files): Likewise.
3127         * modules/uname-tests (Files): Likewise.
3128         * modules/unicase/cased-tests (Files): Likewise.
3129         * modules/unicase/ignorable-tests (Files): Likewise.
3130         * modules/unicase/locale-language-tests (Files): Likewise.
3131         * modules/unicase/tolower-tests (Files): Likewise.
3132         * modules/unicase/totitle-tests (Files): Likewise.
3133         * modules/unicase/toupper-tests (Files): Likewise.
3134         * modules/unicase/u8-casecmp-tests (Files): Likewise.
3135         * modules/unicase/u8-casecoll-tests (Files): Likewise.
3136         * modules/unicase/u8-casefold-tests (Files): Likewise.
3137         * modules/unicase/u8-is-cased-tests (Files): Likewise.
3138         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
3139         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
3140         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
3141         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
3142         * modules/unicase/u8-tolower-tests (Files): Likewise.
3143         * modules/unicase/u8-totitle-tests (Files): Likewise.
3144         * modules/unicase/u8-toupper-tests (Files): Likewise.
3145         * modules/unicase/u16-casecmp-tests (Files): Likewise.
3146         * modules/unicase/u16-casecoll-tests (Files): Likewise.
3147         * modules/unicase/u16-casefold-tests (Files): Likewise.
3148         * modules/unicase/u16-is-cased-tests (Files): Likewise.
3149         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
3150         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
3151         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
3152         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
3153         * modules/unicase/u16-tolower-tests (Files): Likewise.
3154         * modules/unicase/u16-totitle-tests (Files): Likewise.
3155         * modules/unicase/u16-toupper-tests (Files): Likewise.
3156         * modules/unicase/u32-casecmp-tests (Files): Likewise.
3157         * modules/unicase/u32-casecoll-tests (Files): Likewise.
3158         * modules/unicase/u32-casefold-tests (Files): Likewise.
3159         * modules/unicase/u32-is-cased-tests (Files): Likewise.
3160         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
3161         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
3162         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
3163         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
3164         * modules/unicase/u32-tolower-tests (Files): Likewise.
3165         * modules/unicase/u32-totitle-tests (Files): Likewise.
3166         * modules/unicase/u32-toupper-tests (Files): Likewise.
3167         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
3168         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
3169         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
3170         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
3171         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
3172         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
3173         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
3174         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
3175         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
3176         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
3177         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
3178         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
3179         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
3180         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
3181         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
3182         * modules/unictype/bidicategory-name-tests (Files): Likewise.
3183         * modules/unictype/bidicategory-of-tests (Files): Likewise.
3184         * modules/unictype/bidicategory-test-tests (Files): Likewise.
3185         * modules/unictype/block-list-tests (Files): Likewise.
3186         * modules/unictype/block-of-tests (Files): Likewise.
3187         * modules/unictype/block-test-tests (Files): Likewise.
3188         * modules/unictype/category-C-tests (Files): Likewise.
3189         * modules/unictype/category-Cc-tests (Files): Likewise.
3190         * modules/unictype/category-Cf-tests (Files): Likewise.
3191         * modules/unictype/category-Cn-tests (Files): Likewise.
3192         * modules/unictype/category-Co-tests (Files): Likewise.
3193         * modules/unictype/category-Cs-tests (Files): Likewise.
3194         * modules/unictype/category-L-tests (Files): Likewise.
3195         * modules/unictype/category-Ll-tests (Files): Likewise.
3196         * modules/unictype/category-Lm-tests (Files): Likewise.
3197         * modules/unictype/category-Lo-tests (Files): Likewise.
3198         * modules/unictype/category-Lt-tests (Files): Likewise.
3199         * modules/unictype/category-Lu-tests (Files): Likewise.
3200         * modules/unictype/category-M-tests (Files): Likewise.
3201         * modules/unictype/category-Mc-tests (Files): Likewise.
3202         * modules/unictype/category-Me-tests (Files): Likewise.
3203         * modules/unictype/category-Mn-tests (Files): Likewise.
3204         * modules/unictype/category-N-tests (Files): Likewise.
3205         * modules/unictype/category-Nd-tests (Files): Likewise.
3206         * modules/unictype/category-Nl-tests (Files): Likewise.
3207         * modules/unictype/category-No-tests (Files): Likewise.
3208         * modules/unictype/category-P-tests (Files): Likewise.
3209         * modules/unictype/category-Pc-tests (Files): Likewise.
3210         * modules/unictype/category-Pd-tests (Files): Likewise.
3211         * modules/unictype/category-Pe-tests (Files): Likewise.
3212         * modules/unictype/category-Pf-tests (Files): Likewise.
3213         * modules/unictype/category-Pi-tests (Files): Likewise.
3214         * modules/unictype/category-Po-tests (Files): Likewise.
3215         * modules/unictype/category-Ps-tests (Files): Likewise.
3216         * modules/unictype/category-S-tests (Files): Likewise.
3217         * modules/unictype/category-Sc-tests (Files): Likewise.
3218         * modules/unictype/category-Sk-tests (Files): Likewise.
3219         * modules/unictype/category-Sm-tests (Files): Likewise.
3220         * modules/unictype/category-So-tests (Files): Likewise.
3221         * modules/unictype/category-Z-tests (Files): Likewise.
3222         * modules/unictype/category-Zl-tests (Files): Likewise.
3223         * modules/unictype/category-Zp-tests (Files): Likewise.
3224         * modules/unictype/category-Zs-tests (Files): Likewise.
3225         * modules/unictype/category-and-not-tests (Files): Likewise.
3226         * modules/unictype/category-and-tests (Files): Likewise.
3227         * modules/unictype/category-byname-tests (Files): Likewise.
3228         * modules/unictype/category-name-tests (Files): Likewise.
3229         * modules/unictype/category-none-tests (Files): Likewise.
3230         * modules/unictype/category-of-tests (Files): Likewise.
3231         * modules/unictype/category-or-tests (Files): Likewise.
3232         * modules/unictype/category-test-withtable-tests (Files): Likewise.
3233         * modules/unictype/combining-class-tests (Files): Likewise.
3234         * modules/unictype/ctype-alnum-tests (Files): Likewise.
3235         * modules/unictype/ctype-alpha-tests (Files): Likewise.
3236         * modules/unictype/ctype-blank-tests (Files): Likewise.
3237         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
3238         * modules/unictype/ctype-digit-tests (Files): Likewise.
3239         * modules/unictype/ctype-graph-tests (Files): Likewise.
3240         * modules/unictype/ctype-lower-tests (Files): Likewise.
3241         * modules/unictype/ctype-print-tests (Files): Likewise.
3242         * modules/unictype/ctype-punct-tests (Files): Likewise.
3243         * modules/unictype/ctype-space-tests (Files): Likewise.
3244         * modules/unictype/ctype-upper-tests (Files): Likewise.
3245         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
3246         * modules/unictype/decimal-digit-tests (Files): Likewise.
3247         * modules/unictype/digit-tests (Files): Likewise.
3248         * modules/unictype/mirror-tests (Files): Likewise.
3249         * modules/unictype/numeric-tests (Files): Likewise.
3250         * modules/unictype/property-alphabetic-tests (Files): Likewise.
3251         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
3252         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
3253         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
3254         Likewise.
3255         * modules/unictype/property-bidi-block-separator-tests (Files):
3256         Likewise.
3257         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
3258         Likewise.
3259         * modules/unictype/property-bidi-common-separator-tests (Files):
3260         Likewise.
3261         * modules/unictype/property-bidi-control-tests (Files): Likewise.
3262         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
3263         Likewise.
3264         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
3265         Likewise.
3266         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
3267         Likewise.
3268         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
3269         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
3270         Likewise.
3271         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
3272         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
3273         Likewise.
3274         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
3275         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
3276         * modules/unictype/property-bidi-segment-separator-tests (Files):
3277         Likewise.
3278         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
3279         * modules/unictype/property-byname-tests (Files): Likewise.
3280         * modules/unictype/property-combining-tests (Files): Likewise.
3281         * modules/unictype/property-composite-tests (Files): Likewise.
3282         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
3283         * modules/unictype/property-dash-tests (Files): Likewise.
3284         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
3285         * modules/unictype/property-default-ignorable-code-point-tests (Files):
3286         Likewise.
3287         * modules/unictype/property-deprecated-tests (Files): Likewise.
3288         * modules/unictype/property-diacritic-tests (Files): Likewise.
3289         * modules/unictype/property-extender-tests (Files): Likewise.
3290         * modules/unictype/property-format-control-tests (Files): Likewise.
3291         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
3292         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
3293         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
3294         * modules/unictype/property-hex-digit-tests (Files): Likewise.
3295         * modules/unictype/property-hyphen-tests (Files): Likewise.
3296         * modules/unictype/property-id-continue-tests (Files): Likewise.
3297         * modules/unictype/property-id-start-tests (Files): Likewise.
3298         * modules/unictype/property-ideographic-tests (Files): Likewise.
3299         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
3300         * modules/unictype/property-ids-trinary-operator-tests (Files):
3301         Likewise.
3302         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
3303         * modules/unictype/property-iso-control-tests (Files): Likewise.
3304         * modules/unictype/property-join-control-tests (Files): Likewise.
3305         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
3306         * modules/unictype/property-line-separator-tests (Files): Likewise.
3307         * modules/unictype/property-logical-order-exception-tests (Files):
3308         Likewise.
3309         * modules/unictype/property-lowercase-tests (Files): Likewise.
3310         * modules/unictype/property-math-tests (Files): Likewise.
3311         * modules/unictype/property-non-break-tests (Files): Likewise.
3312         * modules/unictype/property-not-a-character-tests (Files): Likewise.
3313         * modules/unictype/property-numeric-tests (Files): Likewise.
3314         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
3315         * modules/unictype/property-other-default-ignorable-code-point-tests
3316         (Files): Likewise.
3317         * modules/unictype/property-other-grapheme-extend-tests (Files):
3318         Likewise.
3319         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
3320         * modules/unictype/property-other-id-start-tests (Files): Likewise.
3321         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
3322         * modules/unictype/property-other-math-tests (Files): Likewise.
3323         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
3324         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
3325         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
3326         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
3327         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
3328         * modules/unictype/property-private-use-tests (Files): Likewise.
3329         * modules/unictype/property-punctuation-tests (Files): Likewise.
3330         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
3331         * modules/unictype/property-radical-tests (Files): Likewise.
3332         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
3333         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
3334         * modules/unictype/property-space-tests (Files): Likewise.
3335         * modules/unictype/property-terminal-punctuation-tests (Files):
3336         Likewise.
3337         * modules/unictype/property-test-tests (Files): Likewise.
3338         * modules/unictype/property-titlecase-tests (Files): Likewise.
3339         * modules/unictype/property-unassigned-code-value-tests (Files):
3340         Likewise.
3341         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
3342         * modules/unictype/property-uppercase-tests (Files): Likewise.
3343         * modules/unictype/property-variation-selector-tests (Files): Likewise.
3344         * modules/unictype/property-white-space-tests (Files): Likewise.
3345         * modules/unictype/property-xid-continue-tests (Files): Likewise.
3346         * modules/unictype/property-xid-start-tests (Files): Likewise.
3347         * modules/unictype/property-zero-width-tests (Files): Likewise.
3348         * modules/unictype/scripts-tests (Files): Likewise.
3349         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
3350         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
3351         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
3352         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
3353         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
3354         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
3355         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
3356         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
3357         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
3358         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
3359         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
3360         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
3361         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
3362         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
3363         * modules/uninorm/composition-tests (Files): Likewise.
3364         * modules/uninorm/decomposing-form-tests (Files): Likewise.
3365         * modules/uninorm/decomposition-tests (Files): Likewise.
3366         * modules/uninorm/filter-tests (Files): Likewise.
3367         * modules/uninorm/nfc-tests (Files): Likewise.
3368         * modules/uninorm/nfd-tests (Files): Likewise.
3369         * modules/uninorm/nfkc-tests (Files): Likewise.
3370         * modules/uninorm/nfkd-tests (Files): Likewise.
3371         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
3372         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
3373         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
3374         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
3375         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
3376         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
3377         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
3378         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
3379         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
3380         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
3381         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
3382         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
3383         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
3384         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
3385         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
3386         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
3387         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
3388         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
3389         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
3390         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
3391         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
3392         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
3393         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
3394         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
3395         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
3396         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
3397         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
3398         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
3399         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
3400         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
3401         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
3402         * modules/uniwidth/u8-width-tests (Files): Likewise.
3403         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
3404         * modules/uniwidth/u16-width-tests (Files): Likewise.
3405         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
3406         * modules/uniwidth/u32-width-tests (Files): Likewise.
3407         * modules/uniwidth/width-tests (Files): Likewise.
3408         * modules/unlink-tests (Files): Likewise.
3409         * modules/unsetenv-tests (Files): Likewise.
3410         * modules/usleep-tests (Files): Likewise.
3411         * modules/utimens-tests (Files): Likewise.
3412         * modules/utimensat-tests (Files): Likewise.
3413         * modules/vasnprintf-posix-tests (Files): Likewise.
3414         * modules/vasnprintf-tests (Files): Likewise.
3415         * modules/vasprintf-posix-tests (Files): Likewise.
3416         * modules/vasprintf-tests (Files): Likewise.
3417         * modules/vdprintf-posix-tests (Files): Likewise.
3418         * modules/vfprintf-posix-tests (Files): Likewise.
3419         * modules/vprintf-posix-tests (Files): Likewise.
3420         * modules/vsnprintf-posix-tests (Files): Likewise.
3421         * modules/vsnprintf-tests (Files): Likewise.
3422         * modules/vsprintf-posix-tests (Files): Likewise.
3423         * modules/wcrtomb-tests (Files): Likewise.
3424         * modules/wcsnrtombs-tests (Files): Likewise.
3425         * modules/wcsrtombs-tests (Files): Likewise.
3426         * modules/wctype-tests (Files): Likewise.
3427         * modules/wcwidth-tests (Files): Likewise.
3428         * modules/xmemdup0-tests (Files): Likewise.
3429         * modules/xprintf-posix-tests (Files): Likewise.
3430         * modules/xvasprintf-tests (Files): Likewise.
3431
3432 2009-12-24  Eric Blake  <ebb9@byu.net>
3433
3434         test-nanosleep: fix typo
3435         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
3436         patch.
3437         Reported by Bruno Haible.
3438
3439 2009-12-24  Bruno Haible  <bruno@clisp.org>
3440
3441         Reduce namespace pollution on glibc systems.
3442         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
3443         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
3444         systems.
3445         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
3446         <getopt.h> on glibc systems.
3447         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
3448         systems.
3449         * lib/fcntl.c: Include <unistd.h> here instead.
3450
3451 2009-12-24  Bruno Haible  <bruno@clisp.org>
3452
3453         * lib/stdlib.in.h (includes): Fix typo in today's commit.
3454
3455 2009-12-24  Eric Blake  <ebb9@byu.net>
3456
3457         tests: add signature checks
3458         * tests/signature.h (SIGNATURE_CHECK): New file.
3459         * modules/atexit-tests (Files): Use it.
3460         * modules/btowc-tests (Files): Likewise.
3461         * modules/canonicalize-lgpl-tests (Files): Likewise.
3462         * modules/ceilf-tests (Files): Likewise.
3463         * modules/ceill-tests (Files): Likewise.
3464         * modules/chown-tests (Files): Likewise.
3465         * modules/dprintf-posix-tests (Files): Likewise.
3466         * modules/dup2-tests (Files): Likewise.
3467         * modules/dup3-tests (Files): Likewise.
3468         * modules/duplocale-tests (Files): Likewise.
3469         * modules/fchdir-tests (Files): Likewise.
3470         * modules/fcntl-tests (Files): Likewise.
3471         * modules/fdopendir-tests (Files): Likewise.
3472         * modules/fflush-tests (Files): Likewise.
3473         * modules/flock-tests (Files): Likewise.
3474         * modules/floorf-tests (Files): Likewise.
3475         * modules/floorl-tests (Files): Likewise.
3476         * modules/fnmatch-tests (Files): Likewise.
3477         * modules/fopen-tests (Files): Likewise.
3478         * modules/fprintf-posix-tests (Files): Likewise.
3479         * modules/freopen-tests (Files): Likewise.
3480         * modules/frexp-nolibm-tests (Files): Likewise.
3481         * modules/frexp-tests (Files): Likewise.
3482         * modules/frexpl-nolibm-tests (Files): Likewise.
3483         * modules/frexpl-tests (Files): Likewise.
3484         * modules/fseek-tests (Files): Likewise.
3485         * modules/fseeko-tests (Files): Likewise.
3486         * modules/fsync-tests (Files): Likewise.
3487         * modules/ftell-tests (Files): Likewise.
3488         * modules/ftello-tests (Files): Likewise.
3489         * modules/futimens-tests (Files): Likewise.
3490         * modules/getaddrinfo-tests (Files): Likewise.
3491         * modules/getcwd-tests (Files): Likewise.
3492         * modules/getdelim-tests (Files): Likewise.
3493         * modules/getdtablesize-tests (Files): Likewise.
3494         * modules/getgroups-tests (Files): Likewise.
3495         * modules/gethostname-tests (Files): Likewise.
3496         * modules/getline-tests (Files): Likewise.
3497         * modules/getopt-posix-tests (Files): Likewise.
3498         * modules/gettimeofday-tests (Files): Likewise.
3499         * modules/glob-tests (Files): Likewise.
3500         * modules/iconv-tests (Files): Likewise.
3501         * modules/inet_ntop-tests (Files): Likewise.
3502         * modules/inet_pton-tests (Files): Likewise.
3503         * modules/isblank-tests (Files): Likewise.
3504         * modules/lchown-tests (Files): Likewise.
3505         * modules/ldexpl-tests (Files): Likewise.
3506         * modules/link-tests (Files): Likewise.
3507         * modules/linkat-tests (Files): Likewise.
3508         * modules/lseek-tests (Files): Likewise.
3509         * modules/lstat-tests (Files): Likewise.
3510         * modules/mbrtowc-tests (Files): Likewise.
3511         * modules/mbsinit-tests (Files): Likewise.
3512         * modules/mbsnrtowcs-tests (Files): Likewise.
3513         * modules/mbsrtowcs-tests (Files): Likewise.
3514         * modules/memchr-tests (Files): Likewise.
3515         * modules/memcmp-tests (Files): Likewise.
3516         * modules/memmem-tests (Files): Likewise.
3517         * modules/memrchr-tests (Files): Likewise.
3518         * modules/mkdir-tests (Files): Likewise.
3519         * modules/mkfifo-tests (Files): Likewise.
3520         * modules/mkfifoat-tests (Files): Likewise.
3521         * modules/mknod-tests (Files): Likewise.
3522         * modules/nanosleep-tests (Files): Likewise.
3523         * modules/nl_langinfo-tests (Files): Likewise.
3524         * modules/obstack-printf-tests (Files): Likewise.
3525         * modules/open-tests (Files): Likewise.
3526         * modules/openat-tests (Files): Likewise.
3527         * modules/perror-tests (Files): Likewise.
3528         * modules/pipe2-tests (Files): Likewise.
3529         * modules/poll-tests (Files): Likewise.
3530         * modules/popen-tests (Files): Likewise.
3531         * modules/posix_spawn-tests (Files): Likewise.
3532         * modules/posix_spawnp-tests (Files): Likewise.
3533         * modules/pread-tests (Files): Likewise.
3534         * modules/printf-posix-tests (Files): Likewise.
3535         * modules/pty-tests (Files): Likewise.
3536         * modules/random_r-tests (Files): Likewise.
3537         * modules/rawmemchr-tests (Files): Likewise.
3538         * modules/readlink-tests (Files): Likewise.
3539         * modules/remove-tests (Files): Likewise.
3540         * modules/rename-tests (Files): Likewise.
3541         * modules/renameat-tests (Files): Likewise.
3542         * modules/rmdir-tests (Files): Likewise.
3543         * modules/round-tests (Files): Likewise.
3544         * modules/roundf-tests (Files): Likewise.
3545         * modules/roundl-tests (Files): Likewise.
3546         * modules/select-tests (Files): Likewise.
3547         * modules/setenv-tests (Files): Likewise.
3548         * modules/sigaction-tests (Files): Likewise.
3549         * modules/sleep-tests (Files): Likewise.
3550         * modules/snprintf-posix-tests (Files): Likewise.
3551         * modules/snprintf-tests (Files): Likewise.
3552         * modules/sprintf-posix-tests (Files): Likewise.
3553         * modules/stat-tests (Files): Likewise.
3554         * modules/strcasestr-tests (Files): Likewise.
3555         * modules/strchrnul-tests (Files): Likewise.
3556         * modules/strerror-tests (Files): Likewise.
3557         * modules/strsignal-tests (Files): Likewise.
3558         * modules/strstr-tests (Files): Likewise.
3559         * modules/strtod-tests (Files): Likewise.
3560         * modules/strverscmp-tests (Files): Likewise.
3561         * modules/symlink-tests (Files): Likewise.
3562         * modules/symlinkat-tests (Files): Likewise.
3563         * modules/times-tests (Files): Likewise.
3564         * modules/trunc-tests (Files): Likewise.
3565         * modules/truncf-tests (Files): Likewise.
3566         * modules/truncl-tests (Files): Likewise.
3567         * modules/tsearch-tests (Files): Likewise.
3568         * modules/uname-tests (Files): Likewise.
3569         * modules/unlink-tests (Files): Likewise.
3570         * modules/unsetenv-tests (Files): Likewise.
3571         * modules/usleep-tests (Files): Likewise.
3572         * modules/utimensat-tests (Files): Likewise.
3573         * modules/vasprintf-tests (Files): Likewise.
3574         * modules/vdprintf-posix-tests (Files): Likewise.
3575         * modules/vfprintf-posix-tests (Files): Likewise.
3576         * modules/vprintf-posix-tests (Files): Likewise.
3577         * modules/vsnprintf-posix-tests (Files): Likewise.
3578         * modules/vsnprintf-tests (Files): Likewise.
3579         * modules/vsprintf-posix-tests (Files): Likewise.
3580         * modules/wcrtomb-tests (Files): Likewise.
3581         * modules/wcsnrtombs-tests (Files): Likewise.
3582         * modules/wcsrtombs-tests (Files): Likewise.
3583         * modules/wcwidth-tests (Files): Likewise.
3584         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
3585         * tests/test-isinf.c (isinf): Likewise.
3586         * tests/test-isnan.c (isnan): Likewise.
3587         * tests/test-signbit.c (signbit): Likewise.
3588         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
3589         declaration, either as macro or with correct signature.
3590         (select): Ensure function under test is declared with correct
3591         signature in correct header.
3592         * tests/test-atexit.c (atexit): Likewise.
3593         * tests/test-btowc.c (btowc): Likewise.
3594         * tests/test-canonicalize-lgpl.c (realpath)
3595         (canonicalize_file_name): Likewise.
3596         * tests/test-ceilf1.c (ceilf): Likewise.
3597         * tests/test-ceill.c (ceill): Likewise.
3598         * tests/test-chown.c (chown): Likewise.
3599         * tests/test-dprintf-posix.c (dprintf): Likewise.
3600         * tests/test-dup2.c (dup2): Likewise.
3601         * tests/test-dup3.c (dup3): Likewise.
3602         * tests/test-duplocale.c (duplocale): Likewise.
3603         * tests/test-fchdir.c (fchdir): Likewise.
3604         * tests/test-fchownat.c (fchownat): Likewise.
3605         * tests/test-fcntl.c (fcntl): Likewise.
3606         * tests/test-fdopendir.c (fdopendir): Likewise.
3607         * tests/test-fflush.c (fflush): Likewise.
3608         * tests/test-flock.c (flock): Likewise.
3609         * tests/test-floorf1.c (floorf): Likewise.
3610         * tests/test-floorl.c (floorl): Likewise.
3611         * tests/test-fnmatch.c (fnmatch): Likewise.
3612         * tests/test-fopen.c (fopen): Likewise.
3613         * tests/test-fprintf-posix.c (fprintf): Likewise.
3614         * tests/test-freopen.c (freopen): Likewise.
3615         * tests/test-frexp.c (frexp): Likewise.
3616         * tests/test-frexpl.c (frexpl): Likewise.
3617         * tests/test-fseek.c (fseek): Likewise.
3618         * tests/test-fseeko.c (fseeko): Likewise.
3619         * tests/test-fstatat.c (fstatat): Likewise.
3620         * tests/test-fsync.c (fsync): Likewise.
3621         * tests/test-ftell.c (ftell): Likewise.
3622         * tests/test-ftello.c (ftello): Likewise.
3623         * tests/test-futimens.c (futimens): Likewise.
3624         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
3625         (gai_strerror): Likewise.
3626         * tests/test-getcwd.c (getcwd): Likewise.
3627         * tests/test-getdelim.c (getdelim): Likewise.
3628         * tests/test-getdtablesize.c (getdtablesize): Likewise.
3629         * tests/test-getgroups.c (getgroups): Likewise.
3630         * tests/test-gethostname.c (gethostname): Likewise.
3631         * tests/test-getline.c (getline): Likewise.
3632         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
3633         Likewise.
3634         * tests/test-gettimeofday.c (gettimeofday): Likewise.
3635         * tests/test-glob.c (glob, globfree): Likewise.
3636         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
3637         * tests/test-inet_ntop.c (inet_ntop): Likewise.
3638         * tests/test-inet_pton.c (inet_pton): Likewise.
3639         * tests/test-isblank.c (isblank): Likewise.
3640         * tests/test-lchown.c (lchown): Likewise.
3641         * tests/test-ldexpl.c (ldexpl): Likewise.
3642         * tests/test-link.c (link): Likewise.
3643         * tests/test-linkat.c (linkat): Likewise.
3644         * tests/test-lseek.c (lseek): Likewise.
3645         * tests/test-lstat.c (lstat): Likewise.
3646         * tests/test-mbrtowc.c (mbrtowc): Likewise.
3647         * tests/test-mbsinit.c (mbsinit): Likewise.
3648         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
3649         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
3650         * tests/test-memchr.c (memchr): Likewise.
3651         * tests/test-memcmp.c (memcmp): Likewise.
3652         * tests/test-memmem.c (memmem): Likewise.
3653         * tests/test-memrchr.c (memrchr): Likewise.
3654         * tests/test-mkdir.c (mkdir): Likewise.
3655         * tests/test-mkdirat.c (mkdirat): Likewise.
3656         * tests/test-mkfifo.c (mkfifo): Likewise.
3657         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
3658         * tests/test-mknod.c (mknod): Likewise.
3659         * tests/test-nanosleep.c (nanosleep): Likewise.
3660         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
3661         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
3662         Likewise.
3663         * tests/test-open.c (open): Likewise.
3664         * tests/test-openat.c (openat): Likewise.
3665         * tests/test-perror.c (perror): Likewise.
3666         * tests/test-pipe2.c (pipe2): Likewise.
3667         * tests/test-poll.c (poll): Likewise.
3668         * tests/test-popen.c (popen, pclose): Likewise.
3669         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
3670         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
3671         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
3672         (posix_spawn_file_actions_destroy)
3673         (posix_spawn_file_actions_addclose)
3674         (posix_spawn_file_actions_addopen)
3675         (posix_spawn_file_actions_adddup2): Likewise.
3676         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
3677         * tests/test-pread.c (pread): Likewise.
3678         * tests/test-printf-posix.c (printf): Likewise.
3679         * tests/test-pty.c (openpty, forkpty): Likewise.
3680         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
3681         (random_r): Likewise.
3682         * tests/test-rawmemchr.c (rawmemchr): Likewise.
3683         * tests/test-readlink.c (readlink): Likewise.
3684         * tests/test-remove.c (remove): Likewise.
3685         * tests/test-rename.c (rename): Likewise.
3686         * tests/test-renameat.c (renameat): Likewise.
3687         * tests/test-rmdir.c (rmdir): Likewise.
3688         * tests/test-round1.c (round): Likewise.
3689         * tests/test-roundf1.c (roundf): Likewise.
3690         * tests/test-roundl.c (roundl): Likewise.
3691         * tests/test-setenv.c (setenv): Likewise.
3692         * tests/test-sigaction.c (sigaction): Likewise.
3693         * tests/test-sleep.c (sleep): Likewise.
3694         * tests/test-snprintf.c (snprintf): Likewise.
3695         * tests/test-sprintf-posix.c (sprintf): Likewise.
3696         * tests/test-stat.c (stat): Likewise.
3697         * tests/test-stpncpy.c (stpncpy): Likewise.
3698         * tests/test-strcasestr.c (strcasestr): Likewise.
3699         * tests/test-strchrnul.c (strchrnul): Likewise.
3700         * tests/test-strerror.c (strerror): Likewise.
3701         * tests/test-strsignal.c (strsignal): Likewise.
3702         * tests/test-strstr.c (strstr): Likewise.
3703         * tests/test-strtod.c (strtod): Likewise.
3704         * tests/test-strverscmp.c (strverscmp): Likewise.
3705         * tests/test-symlink.c (symlink): Likewise.
3706         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
3707         * tests/test-times.c (times): Likewise.
3708         * tests/test-trunc1.c (trunc): Likewise.
3709         * tests/test-truncf1.c (truncf): Likewise.
3710         * tests/test-truncl.c (truncl): Likewise.
3711         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
3712         Likewise.
3713         * tests/test-uname.c (uname): Likewise.
3714         * tests/test-unlink.c (unlink): Likewise.
3715         * tests/test-unlinkat.c (unlinkat): Likewise.
3716         * tests/test-unsetenv.c (unsetenv): Likewise.
3717         * tests/test-usleep.c (usleep): Likewise.
3718         * tests/test-utimensat.c (utimensat): Likewise.
3719         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
3720         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
3721         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
3722         * tests/test-vprintf-posix.c (vprintf): Likewise.
3723         * tests/test-vsnprintf.c (vsnprintf): Likewise.
3724         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
3725         * tests/test-wcrtomb.c (wcrtomb): Likewise.
3726         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
3727         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
3728         * tests/test-wcwidth.c (wcwidth): Likewise.
3729
3730         build: pull in conditional headers during GNULIB_POSIXCHECK
3731         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
3732         definitions from any conditionally-included headers.
3733         * lib/stdlib.in.h (includes): Likewise.
3734         * lib/unistd.in.h (includes): Likewise.
3735
3736 2009-12-24  Bruno Haible  <bruno@clisp.org>
3737
3738         * tests/test-argv-iter.c: Include header file being tested immediately
3739         after config.h.
3740         * tests/test-base64.c: Likewise.
3741         * tests/test-flock.c: Likewise.
3742         * tests/test-fsync.c: Likewise.
3743         * tests/test-getdate.c: Likewise.
3744         * tests/test-getndelim2.c: Likewise.
3745         * tests/test-isfinite.c: Likewise.
3746         * tests/test-isinf.c: Likewise.
3747         * tests/test-strerror.c: Likewise.
3748         * tests/test-strsignal.c: Likewise.
3749
3750 2009-12-23  Eric Blake  <ebb9@byu.net>
3751
3752         unistd: work around cygwin bug
3753         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
3754         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
3755         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
3756
3757 2009-12-23  Bruno Haible  <bruno@clisp.org>
3758
3759         localename: More tests.
3760         * tests/test-localename.c (SIZEOF): New macro.
3761         (categories): New variable.
3762         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
3763         test_locale_name_default): Add test w.r.t. thread locale.
3764         (test_locale_name_thread): New function.
3765         (main): Invoke it.
3766
3767         localename: Make aware of thread locale.
3768         * lib/localename.h (gl_locale_name_thread): New declaration.
3769         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
3770         behaviour with respect to thread locale.
3771         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
3772         <langinfo.h>, glthread/lock.h.
3773         (SIZE_BITS): New macro.
3774         (string_hash): New function.
3775         (struct hash_node): New type.
3776         (HASH_TABLE_SIZE): New macro.
3777         (struniq_hash_table, struniq_lock): New variables.
3778         (struniq): New function.
3779         (gl_locale_name_thread): New function.
3780         (gl_locale_name): Invoke it.
3781         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
3782         * modules/localename (Depends-on): Add lock.
3783         Reported by Mike Gran <spk121@yahoo.com>.
3784
3785 2009-12-23  Eric Blake  <ebb9@byu.net>
3786
3787         va-args: new module
3788         * modules/va-args: New file.
3789         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
3790         * MODULES.html.sh (Core language properties): Mention it.
3791
3792         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
3793         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
3794         named alias for __attribute__((__unused__)).
3795         * lib/chown.c: Update client.
3796         * lib/fchmodat.c: Likewise.
3797         * lib/fts.c: Likewise.
3798         * lib/getdate.y: Likewise.
3799         * lib/getgroups.c: Likewise.
3800         * lib/getopt.c: Likewise.
3801         * lib/getugroups.c: Likewise.
3802         * lib/mkdir.c: Likewise.
3803         * lib/mkfifo.c: Likewise.
3804         * lib/mkfifoat.c: Likewise.
3805         * lib/mknod.c: Likewise.
3806         * lib/mknodat.c: Likewise.
3807         * lib/readlink.c: Likewise.
3808         * lib/se-context.in.h: Likewise.
3809         * lib/se-selinux.in.h: Likewise.
3810         * lib/sockets.c: Likewise.
3811         * lib/symlink.c: Likewise.
3812         * lib/symlinkat.c: Likewise.
3813         * lib/unicodeio.c: Likewise.
3814         * lib/unistr.h: Likewise.
3815         * tests/test-areadlink.c: Likewise.
3816         * tests/test-areadlinkat.c: Likewise.
3817         * tests/test-filenamecat.c: Likewise.
3818         * tests/test-fseeko.c: Likewise.
3819         * tests/test-ftello.c: Likewise.
3820         * tests/test-getdate.c: Likewise.
3821         * tests/test-getgroups.c: Likewise.
3822         * tests/test-gethostname.c: Likewise.
3823         * tests/test-quotearg.c: Likewise.
3824         * tests/test-version-etc.c: Likewise.
3825         * tests/test-xalloc-die.c: Likewise.
3826         * tests/test-xfprintf-posix.c: Likewise.
3827         * tests/test-xprintf-posix.c: Likewise.
3828         * tests/test-xvasprintf.c: Likewise.
3829
3830         tests: avoid compiler warnings
3831         * tests/test-fcntl.c (main): Delete unused parameters.
3832         * tests/test-freopen-safer.c (main): Likewise.
3833         * tests/test-xalloc-die.c (main): Mark unused parameters.
3834         * tests/test-fseeko.c (main): Likewise.
3835         * tests/test-ftello.c (main): Likewise.
3836         * tests/test-nanosleep.c (main): Avoid declaration warning.
3837         * tests/test-sleep.c (main): Likewise.
3838         * tests/test-unsetenv.c (main): Silence warning about string
3839         literal.
3840         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3841
3842 2009-12-23  Bruno Haible  <bruno@clisp.org>
3843
3844         * tests/test-localename.c (test_locale_name): New function, extracted
3845         from main. Also test mixed situations.
3846         (test_locale_name_posix, test_locale_name_environ,
3847         test_locale_name_default): New functions.
3848         (main): Invoke them all.
3849         * modules/localename-tests (configure.ac): Test for newlocale.
3850
3851 2009-12-23  Bruno Haible  <bruno@clisp.org>
3852
3853         unistd: Ensure getcwd gets declared before being overridden.
3854         * lib/unistd.in.h: Conditionally include <io.h>.
3855
3856 2009-12-22  Bruno Haible  <bruno@clisp.org>
3857
3858         wchar: Diagnose broken combination of glibc and gcc versions and flags.
3859         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
3860         (gl_WCHAR_H): Invoke it.
3861         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
3862         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
3863         Reported by Karl Berry <karl@freefriends.org>.
3864
3865 2009-12-22  Eric Blake  <ebb9@byu.net>
3866
3867         math, unistd: avoid redundant includes
3868         * lib/math.in.h (isnan): No need to re-include <math.h>.
3869         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
3870
3871         getsubopt: work around cygwin bug
3872         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
3873         avoid conflicting with system getsubopt.
3874         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
3875         bug.
3876
3877         getopt: synchronize from glibc
3878         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
3879         parameter order.  Adjust all callers.
3880         (_getopt_internal_r, main): Adjust quoting in error messages.
3881         Drop considerations for outdated POSIX 1003.2 error message.
3882         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
3883         callers.
3884         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
3885
3886         test-getopt: test stderr behavior
3887         * modules/getopt-posix-tests (Depends-on): Add dup2.
3888         * tests/test-getopt.c (ASSERT): Avoid stderr.
3889         (main): Move stderr to a temporary file.
3890         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
3891         Instead, add parameter to inform caller if output occurred.
3892         (test_getopt): Adjust all existing tests to expect silence, and
3893         add new tests of leading ":".
3894         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
3895         glibc shortcomings with leading "-:" or "+:" in optstring.
3896         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3897         Likewise.
3898         * doc/posix-functions/getopt.texi (getopt): Likewise.
3899
3900         test-getopt: enhance test
3901         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
3902         supports optind=0.
3903         * tests/test-getopt.c (OPTIND_MIN): Move...
3904         * tests/test-getopt.h (OPTIND_MIN): ...here.
3905         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
3906         Require that optind=0 works, since modern BSD supports it in
3907         addition to optreset, and since coreutils expects it.
3908         (test_getopt_long_only): New test.
3909         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
3910         glibc shortcomings with 'W;', and enforcement of optind=0.
3911         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3912         Likewise.
3913
3914 2009-12-21  Bruno Haible  <bruno@clisp.org>
3915
3916         localename: Improvements for MacOS X and Cygwin.
3917         * lib/localename.h (gl_locale_name_environ): New declaration.
3918         * lib/localename.c (gl_locale_name_environ): New function, extracted from
3919         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
3920         (gl_locale_name_posix): Invoke it.
3921         (gl_locale_name_default): Add comments. Use Windows native API also on
3922         Cygwin.
3923
3924 2009-12-21  Bruno Haible  <bruno@clisp.org>
3925
3926         Update list of Win32 locale ids.
3927         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
3928         (LANG_SAMI): Renamed from LANG_SAAMI.
3929         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
3930         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
3931         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
3932         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
3933         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
3934         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
3935         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
3936         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
3937         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
3938         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
3939         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
3940         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
3941         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
3942         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
3943         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
3944         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
3945         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
3946         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
3947         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
3948         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
3949         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
3950         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
3951         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
3952         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
3953         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
3954         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
3955         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
3956         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
3957         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
3958         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
3959         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
3960         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
3961         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
3962         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
3963         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
3964         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
3965         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
3966         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
3967         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
3968         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
3969         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
3970         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
3971         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
3972         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
3973         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
3974         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
3975         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
3976         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
3977         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
3978         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
3979         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
3980         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
3981         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
3982         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
3983         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
3984         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
3985         Add more languages and countries for Sami, Sorbian. Add more countries
3986         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
3987         for Pashto. Change country for Syriac, Tswana.
3988
3989 2009-12-21  Eric Blake  <ebb9@byu.net>
3990
3991         test-utimens: avoid spurious failure
3992         * tests/test-chown.h (nap): Factor...
3993         * tests/nap.h: ...into new file.
3994         * tests/test-lchown.h (nap): Avoid duplication.
3995         * tests/test-utimens-common.h (nap): Use shared implementation,
3996         necessary on file systems with 1-second resolution.
3997         * modules/chown-tests (Files): Include new file.
3998         * modules/fdutimensat-tests (Files): Likewise.
3999         * modules/futimens-tests (Files): Likewise.
4000         * modules/lchown-tests (Files): Likewise.
4001         * modules/openat-tests (Files): Likewise.
4002         * modules/utimens-tests (Files): Likewise.
4003         * modules/utimensat-tests (Files): Likewise.
4004
4005 2009-12-19  Eric Blake  <ebb9@byu.net>
4006
4007         futimens, utimensat: work around Linux bug
4008         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
4009         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4010         * lib/utimensat.c (rpl_utimensat): Work around it.
4011         * lib/futimens.c (rpl_futimens): Adjust comment.
4012
4013         utimens: work around Linux ctime bug
4014         * lib/utimens.c (detect_ctime_bug): New helper function.
4015         (update_timespec): Differentiate between workaround needed for
4016         this bug vs. what is needed for systems that lack utimensat.
4017         (fdutimens, lutimens): Work around bug.
4018
4019         utimens: check for ctime update
4020         * tests/test-utimens-common.h (check_ctime): Define.
4021         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
4022         * tests/test-futimens.h (test_futimens): Likewise.
4023         * tests/test-lutimens.h (test_lutimens): Likewise.
4024         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4025         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4026
4027 2009-12-19  Bruno Haible  <bruno@clisp.org>
4028
4029         dprintf-posix: Check against memory leak fixed on 2009-12-15.
4030         * tests/test-dprintf-posix2.sh: New file.
4031         * tests/test-dprintf-posix2.c: New file.
4032         * modules/dprintf-posix-tests (Files): Add them.
4033         (configure.ac): Check for getrlimit and setrlimit.
4034         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4035
4036 2009-12-19  Bruno Haible  <bruno@clisp.org>
4037
4038         fprintf-posix: Check against memory leak fixed on 2009-12-15.
4039         * tests/test-fprintf-posix3.sh: New file.
4040         * tests/test-fprintf-posix3.c: New file.
4041         * modules/fprintf-posix-tests (Files): Add them.
4042         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4043
4044 2009-12-19  Eric Blake  <ebb9@byu.net>
4045
4046         dirfd: fix prototype
4047         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
4048         * lib/dirfd.c (dirfd): Likewise.
4049
4050         canonicalize: reduce memory usage
4051         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
4052         allocation to size.
4053         Reported by Solar Designer <solar@openwall.com>.
4054
4055 2009-12-19  Bruno Haible  <bruno@clisp.org>
4056
4057         New module attribute 'Applicability'.
4058         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
4059         * gnulib-tool: New option --extract-applicability.
4060         (func_usage): Document it.
4061         (sed_extract_prog): Recognize it.
4062         (func_get_applicability): New function.
4063         (func_import): Generalize handling of 'link-warning' module.
4064         * modules/link-warning (Applicability): New section.
4065         * modules/arg-nonnull (Applicability): New section.
4066         Repoted by Simon Josefsson <simon@josefsson.org>.
4067
4068 2009-12-19  Bruno Haible  <bruno@clisp.org>
4069
4070         fflush: tweak
4071         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
4072         * lib/fseeko.c (rpl_fseeko): Likewise.
4073
4074 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
4075
4076         * lib/gl_list.h: Fix typo in comment.
4077
4078 2009-12-16  Eric Blake  <ebb9@byu.net>
4079
4080         fcntl: use to simplify other modules
4081         * modules/cloexec (Depends-on): Add fcntl.
4082         * modules/fchdir (Depends-on): Likewise.
4083         * modules/fd-safer-flag (Depends-on): Likewise.
4084         * modules/unistd-safer (Depends-on): Likewise.
4085         * modules/dup3 (configure.ac): Set module indicator.
4086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
4087         missing.
4088         * lib/fchdir.c (_gl_register_dup): Fix comment.
4089         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
4090         * lib/dup-safer.c (dup_safer): Likewise.
4091         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
4092         * lib/dup3.c (dup3): Likewise.
4093         * tests/test-fchdir.c (main): Enhance test.
4094         Fixes a dup_cloexec bug reported by Ondřej Vašík.
4095
4096         fcntl: port portions of fcntl to mingw
4097         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
4098         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
4099         replacement for mingw.
4100         * modules/fcntl (Description): Update.
4101         (Depends-on): Add dup2.
4102         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
4103         * modules/fcntl-h (Makefile.am): Substitute it.
4104         * lib/fcntl.in.h (fcntl): Update declaration.
4105         (F_DUPFD, F_GETFD): New macros, when needed.
4106         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4107         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
4108         * tests/test-fcntl.c (check_flags, main): Enhance test for items
4109         we now guarantee.
4110
4111         fcntl: work around cygwin bug in F_DUPFD
4112         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
4113         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
4114         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
4115         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
4116         * doc/posix-functions/fcntl.texi (fcntl): Document it.
4117
4118         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
4119         * modules/fcntl (Files): List new files.
4120         (configure.ac): Run a test.
4121         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
4122         * lib/fcntl.c (rpl_fcntl): Likewise.
4123         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
4124         (gl_FCNTL_H): Always replace fcntl.h.
4125         * modules/fcntl-h (Makefile.am): Substitute witnesses.
4126         * lib/fcntl.in.h (fcntl): Declare replacement.
4127         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
4128         needed, plus a witness.
4129         * doc/posix-functions/fcntl.texi (fcntl): Document this.
4130         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
4131         * tests/test-fcntl.c: New file.
4132         * modules/fcntl-tests: Likewise.
4133
4134         binary-io: avoid potential compilation warning
4135         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
4136         directives.
4137
4138         fflush: avoid compilation error on NetBSD
4139         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
4140         between off_t and fpos_t, since the latter is sometimes a struct.
4141         * lib/fseeko.c (rpl_fseeko): Likewise.
4142         Reported by Alexander Nasonov <alnsn@yandex.ru>.
4143
4144 2009-12-15  Eric Blake  <ebb9@byu.net>
4145
4146         fcntl-h, stdio, sys_ioctl: fix declarations
4147         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
4148         function must not take arguments.
4149         * lib/sys_ioctl.in.h (ioctl): Likewise.
4150         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
4151         (open): Add a link warning.
4152
4153 2009-12-15  Jim Meyering  <meyering@redhat.com>
4154
4155         areadlink, areadlink-with-size: relax license to LGPLv2+
4156         * modules/areadlink (License): Relax to LGPLv2+.
4157         * modules/areadlink-with-size (License): Likewise.
4158
4159 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
4160             Bruno Haible  <bruno@clisp.org>
4161
4162         *printf: Fix memory leak.
4163         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
4164         * lib/vfprintf.c (vfprintf): Likewise.
4165         * lib/dprintf.c (dprintf): Likewise.
4166         * lib/vdprintf.c (vdprintf): Likewise.
4167
4168 2009-12-14  Eric Blake  <ebb9@byu.net>
4169
4170         accept4: adjust module dependencies
4171         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
4172
4173         utimens: one more try at avoiding compiler warning
4174         * lib/utimens.c (lutimens): Lower scope of result.
4175
4176 2009-12-13  Bruno Haible  <bruno@clisp.org>
4177
4178         Move the malloc checking from module 'list' to new module 'xlist'.
4179         * modules/xlist: New file.
4180         * lib/gl_xlist.h: New file.
4181         * lib/gl_xlist.c: New file.
4182         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
4183         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
4184         gl_list_add_last, gl_list_add_before, gl_list_add_after,
4185         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
4186         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
4187         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
4188         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
4189         gl_sortedlist_nx_add): New declarations.
4190         (struct gl_list_implementation): Rename and change methods accordingly.
4191         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
4192         (gl_list_nx_create): Renamed from gl_list_create.
4193         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4194         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4195         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4196         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4197         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4198         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4199         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4200         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4201         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
4202         gl_list_create_empty.
4203         (gl_list_nx_create): Renamed from gl_list_create.
4204         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4205         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4206         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4207         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4208         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4209         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4210         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4211         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4212         * lib/gl_array_list.c: Don't include xalloc.h.
4213         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
4214         NULL upon out-of-memory.
4215         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
4216         out-of-memory.
4217         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
4218         Change return type to 'int'.
4219         (gl_array_nx_set_at): Renamed from gl_array_set_at.
4220         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4221         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
4222         upon out-of-memory.
4223         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
4224         upon out-of-memory.
4225         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
4226         upon out-of-memory.
4227         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
4228         upon out-of-memory.
4229         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
4230         out-of-memory.
4231         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
4232         Update.
4233         (gl_array_list_implementation): Update.
4234         * lib/gl_carray_list.c: Don't include xalloc.h.
4235         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
4236         Return NULL upon out-of-memory.
4237         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
4238         out-of-memory.
4239         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
4240         Change return type to 'int'.
4241         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
4242         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4243         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
4244         upon out-of-memory.
4245         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
4246         upon out-of-memory.
4247         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
4248         out-of-memory.
4249         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
4250         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
4251         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
4252         Update.
4253         (gl_carray_list_implementation): Update.
4254         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
4255         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
4256         gl_linked_create_empty. Return NULL upon out-of-memory.
4257         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
4258         out-of-memory.
4259         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
4260         Change return type to 'int'. Return -1 upon out-of-memory.
4261         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
4262         out-of-memory.
4263         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
4264         upon out-of-memory.
4265         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
4266         upon out-of-memory.
4267         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
4268         NULL upon out-of-memory.
4269         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
4270         upon out-of-memory.
4271         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
4272         out-of-memory.
4273         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
4274         Update.
4275         * lib/gl_linked_list.c: Don't include xalloc.h.
4276         (gl_linked_list_implementation): Update.
4277         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
4278         (add_to_bucket): Change return type to 'int'.
4279         (gl_linkedhash_list_implementation): Update.
4280         * lib/gl_anytree_list1.h (free_subtree): New function.
4281         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
4282         gl_tree_create_empty. Return NULL upon out-of-memory.
4283         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
4284         Change return type to 'int'. Return -1 upon out-of-memory.
4285         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
4286         out-of-memory.
4287         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
4288         (gl_tree_remove_node): New function, moved here from
4289         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
4290         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
4291         Update.
4292         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
4293         malloc, not xmalloc. Return NULL upon out-of-memory.
4294         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4295         out-of-memory.
4296         (gl_tree_remove_node_from_tree): New function, extracted from
4297         gl_tree_remove_node.
4298         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4299         upon out-of-memory.
4300         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4301         out-of-memory.
4302         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4303         upon out-of-memory.
4304         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4305         upon out-of-memory.
4306         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4307         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
4308         not xmalloc. Return NULL upon out-of-memory.
4309         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4310         out-of-memory.
4311         (gl_tree_remove_node_from_tree): New function, extracted from
4312         gl_tree_remove_node.
4313         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4314         upon out-of-memory.
4315         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4316         out-of-memory.
4317         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4318         upon out-of-memory.
4319         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4320         upon out-of-memory.
4321         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4322         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
4323         gl_anytree_list1.h before gl_anyavltree_list2.h.
4324         (gl_avltree_list_implementation): Update.
4325         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
4326         gl_anytree_list1.h before gl_anyavltree_list2.h.
4327         (gl_rbtree_list_implementation): Update.
4328         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
4329         Change return type to 'int'. Return -1 upon out-of-memory. Use
4330         __builtin_expect.
4331         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
4332         (gl_avltreehash_list_implementation): Update.
4333         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
4334         (gl_rbtreehash_list_implementation): Update.
4335         * modules/array-list (Depends-on): Remove xalloc.
4336         * modules/carray-list (Depends-on): Likewise.
4337         * modules/linked-list (Depends-on): Likewise.
4338         * modules/linkedhash-list (Depends-on): Likewise.
4339         * modules/avltree-list (Depends-on): Likewise.
4340         * modules/rbtree-list (Depends-on): Likewise.
4341         * modules/avltreehash-list (Depends-on): Likewise.
4342         * modules/rbtreehash-list (Depends-on): Likewise.
4343
4344         * modules/xsublist: New file.
4345         * lib/gl_xsublist.h: New file.
4346         * lib/gl_xsublist.c: New file.
4347         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
4348         (gl_sublist_nx_create): New declaration.
4349         * lib/gl_sublist.c: Don't include xalloc.h.
4350         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
4351         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
4352         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
4353         Change return type to 'int'. Return -1 upon out-of-memory.
4354         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
4355         upon out-of-memory.
4356         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
4357         NULL upon out-of-memory.
4358         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
4359         upon out-of-memory.
4360         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
4361         NULL upon out-of-memory.
4362         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
4363         NULL upon out-of-memory.
4364         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
4365         upon out-of-memory.
4366         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
4367         (gl_sublist_list_implementation): Update.
4368         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
4369         upon out-of-memory.
4370         * modules/sublist (Depends-on): Remove xalloc.
4371
4372         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
4373         * tests/test-carray_list.c: Likewise.
4374         * tests/test-linked_list.c: Likewise.
4375         * tests/test-linkedhash_list.c: Likewise.
4376         * tests/test-avltree_list.c: Likewise.
4377         * tests/test-rbtree_list.c: Likewise.
4378         * tests/test-avltreehash_list.c: Likewise.
4379         * tests/test-rbtreehash_list.c: Likewise.
4380         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
4381         * modules/carray-list-tests (Makefile.am): Likewise.
4382         * modules/linked-list-tests (Makefile.am): Likewise.
4383         * modules/linkedhash-list-tests (Makefile.am): Likewise.
4384         * modules/avltree-list-tests (Makefile.am): Likewise.
4385         * modules/rbtree-list-tests (Makefile.am): Likewise.
4386         * modules/avltreehash-list-tests (Makefile.am): Likewise.
4387         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
4388
4389         * NEWS: Mention the changes.
4390
4391         * lib/clean-temp.c: Include gl_xlist.h.
4392         * modules/clean-temp (Depends-on): Add xlist.
4393
4394         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
4395         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
4396
4397         * tests/test-array_oset.c: Include gl_xlist.h.
4398         * modules/array-oset-tests (Depends-on): Add xlist.
4399
4400         Reported by José E. Marchesi <jemarch@gnu.org>.
4401
4402 2009-12-13  Bruno Haible  <bruno@clisp.org>
4403
4404         Move the malloc checking from module 'oset' to new module 'xoset'.
4405         * modules/xoset: New file.
4406         * lib/gl_xoset.h: New file.
4407         * lib/gl_xoset.c: New file.
4408         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
4409         declarations.
4410         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
4411         (struct gl_oset_implementation): Rename and change methods accordingly.
4412         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
4413         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4414         'int'. Mark as __warn_unused_result__.
4415         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
4416         gl_oset_create_empty.
4417         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4418         'int'.
4419         * lib/gl_array_oset.c: Don't include xalloc.h.
4420         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
4421         malloc, not xmalloc.
4422         (grow): Change return type to 'int'. Don't call xalloc_die.
4423         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
4424         to 'int'.
4425         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
4426         'int'.
4427         (gl_array_oset_implementation): Update.
4428         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
4429         gl_tree_create_empty.
4430         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
4431         'int'.
4432         * lib/gl_avltree_oset.c: Don't include xalloc.h.
4433         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4434         xmalloc.
4435         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4436         not xmalloc.
4437         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4438         xmalloc.
4439         (gl_avltree_oset_implementation): Update.
4440         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
4441         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4442         xmalloc.
4443         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4444         not xmalloc.
4445         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4446         xmalloc.
4447         (gl_rbtree_oset_implementation): Update.
4448         * modules/array-oset (Depends-on): Remove xalloc.
4449         * modules/avltree-oset (Depends-on): Likewise.
4450         * modules/rbtree-oset (Depends-on): Likewise.
4451         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
4452         * tests/test-avltree_oset.c: Likewise.
4453         * tests/test-rbtree_oset.c: Likewise.
4454         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4455         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
4456         * modules/rbtree-oset-tests (Makefile.am): Likewise.
4457         * NEWS: Mention the change.
4458
4459 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
4460
4461         maint.mk: allow a project to override release-prep commands
4462         * top/maint.mk (alpha, beta, stable): Move release-preparatory
4463         commands into a new rule.
4464         (release-prep): New rule.
4465         (release-prep-hook): New overridable variable.
4466
4467 2009-12-13  Bruno Haible  <bruno@clisp.org>
4468
4469         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
4470
4471 2009-12-13  Jim Meyering  <meyering@redhat.com>
4472
4473         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
4474         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
4475
4476 2009-12-12  Bruno Haible  <bruno@clisp.org>
4477
4478         duplocale: Tweak.
4479         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
4480
4481 2009-12-12  Karl Berry  <karl@gnu.org>
4482
4483         * config/srclist.txt (strtoll.c): tab changes, no more sync.
4484
4485 2009-12-12  Bruno Haible  <bruno@clisp.org>
4486
4487         * m4/po.m4: Undo incorrect untabification.
4488
4489 2009-12-12  Bruno Haible  <bruno@clisp.org>
4490
4491         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
4492         * modules/c-strtod (Depends-on): Add locale.
4493         * modules/c-strtold (Depends-on): Likewise.
4494
4495 2009-12-12  Bruno Haible  <bruno@clisp.org>
4496
4497         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
4498
4499 2009-12-11  Eric Blake  <ebb9@byu.net>
4500
4501         setenv: relax requirement in light of POSIX ruling
4502         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
4503         not NULL.
4504         * tests/test-setenv.c (main): Relax test.
4505         * tests/test-unsetenv.c (main): Likewise.
4506         * doc/posix-functions/setenv.texi (setenv): Document this.
4507         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
4508
4509 2009-12-11  Bruno Haible  <bruno@clisp.org>
4510
4511         New module 'fd-safer-flag'.
4512         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
4513         * lib/dup-safer.c (dup_safer_flag): Remove function.
4514         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
4515         * lib/fd-safer.c (fd_safer_flag): Remove function.
4516         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
4517         * modules/cloexec (configure.ac): Drop indicator macro.
4518         * modules/fd-safer-flag: New file.
4519         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
4520         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
4521         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
4522
4523 2009-12-11  Bruno Haible  <bruno@clisp.org>
4524
4525         Tests for module 'nl_langinfo'.
4526         * modules/nl_langinfo-tests: New file.
4527         * tests/test-nl_langinfo.sh: New file.
4528         * tests/test-nl_langinfo.c: New file.
4529
4530         New module 'nl_langinfo'.
4531         * lib/nl_langinfo.c: New file.
4532         * m4/nl_langinfo.m4: New file.
4533         * modules/nl_langinfo: New file.
4534         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
4535
4536 2009-12-11  Bruno Haible  <bruno@clisp.org>
4537
4538         Tests for module 'langinfo'.
4539         * modules/langinfo-tests: New file.
4540         * tests/test-langinfo.c: New file.
4541
4542         New module 'langinfo'.
4543         * lib/langinfo.in.h: New file.
4544         * m4/langinfo_h.m4: New file.
4545         * modules/langinfo: New file.
4546         * doc/posix-headers/langinfo.texi: Mention the new module.
4547
4548 2009-12-11  Bruno Haible  <bruno@clisp.org>
4549
4550         * lib/config.charset: Untabify.
4551
4552 2009-12-11  Bruno Haible  <bruno@clisp.org>
4553
4554         * modules/unistd-safer (configure.ac): Drop indicator macro.
4555
4556 2009-12-11  Bruno Haible  <bruno@clisp.org>
4557
4558         Move pipe2-safer code to its own file.
4559         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
4560         * lib/pipe-safer.c (pipe2_safer): Remove function.
4561         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
4562         (Makefile.am): Add it to lib_SOURCES.
4563
4564 2009-12-10  Bruno Haible  <bruno@clisp.org>
4565
4566         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
4567
4568 2009-12-10  Bruno Haible  <bruno@clisp.org>
4569
4570         Declare which arguments expect non-NULL values, for GCC and clang.
4571         * build-aux/arg-nonnull.h: New file.
4572         * modules/arg-nonnull: New file.
4573         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
4574         (inet_ntop, inet_pton): Use it.
4575         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
4576         (closedir, dirfd, opendir, scandir, alphasort): Use it.
4577         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
4578         (open, openat): Use it.
4579         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
4580         (fnmatch): Use it.
4581         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
4582         (getopt, getopt_long, getopt_long_only): Use it.
4583         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
4584         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
4585         Use it.
4586         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
4587         (iconv_open): Use it.
4588         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
4589         (strtoimax, strtoumax): Use it.
4590         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
4591         (duplocale): Use it.
4592         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
4593         (frexp, frexpl): Use it.
4594         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
4595         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
4596         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
4597         (tsearch, tfind, tdelete, twalk): Use it.
4598         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
4599         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
4600         sigpending): Use it.
4601         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
4602         (posix_spawn, posix_spawnp, posix_spawnattr_init,
4603         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
4604         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
4605         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
4606         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
4607         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
4608         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
4609         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
4610         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
4611         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
4612         Use it.
4613         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
4614         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
4615         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
4616         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
4617         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
4618         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
4619         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
4620         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
4621         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
4622         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
4623         strtoull, unsetenv): Use it.
4624         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
4625         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
4626         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
4627         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4628         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4629         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
4630         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
4631         (strcasecmp, strncasecmp): Use it.
4632         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
4633         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
4634         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
4635         rpl_setsockopt): Use it.
4636         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
4637         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
4638         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
4639         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
4640         (gettimeofday): Use it.
4641         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
4642         (times): Use it.
4643         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
4644         (uname): Use it.
4645         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
4646         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
4647         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
4648         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
4649         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
4650         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
4651         unlinkat, write): Use it.
4652         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
4653         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
4654         * lib/argv-iter.h: Include arg-nonnull.h.
4655         (_ATTRIBUTE_NONNULL_): Remove macro.
4656         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
4657         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
4658         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
4659         optimization.
4660         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
4661         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
4662         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
4663         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
4664         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
4665         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
4666         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
4667         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
4668         * modules/arpa_inet (Depends-on): Add arg-nonnull.
4669         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
4670         * modules/dirent (Depends-on): Add arg-nonnull.
4671         (Makefile.am): Insert arg-nonnull.h into dirent.h.
4672         * modules/fcntl-h (Depends-on): Add arg-nonnull.
4673         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
4674         * modules/fnmatch (Depends-on): Add arg-nonnull.
4675         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
4676         * modules/getopt-posix (Depends-on): Add arg-nonnull.
4677         (Makefile.am): Insert arg-nonnull.h into getopt.h.
4678         * modules/glob (Depends-on): Add arg-nonnull.
4679         (Makefile.am): Insert arg-nonnull.h into glob.h.
4680         * modules/iconv_open (Depends-on): Add arg-nonnull.
4681         (Makefile.am): Insert arg-nonnull.h into iconv.h.
4682         * modules/inttypes (Depends-on): Add arg-nonnull.
4683         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
4684         * modules/locale (Depends-on): Add arg-nonnull.
4685         (Makefile.am): Insert arg-nonnull.h into locale.h.
4686         * modules/math (Depends-on): Add arg-nonnull.
4687         (Makefile.am): Insert arg-nonnull.h into math.h.
4688         * modules/netdb (Depends-on): Add arg-nonnull.
4689         (Makefile.am): Insert arg-nonnull.h into netdb.h.
4690         * modules/search (Depends-on): Add arg-nonnull.
4691         (Makefile.am): Insert arg-nonnull.h into search.h.
4692         * modules/signal (Depends-on): Add arg-nonnull.
4693         (Makefile.am): Insert arg-nonnull.h into signal.h.
4694         * modules/spawn (Depends-on): Add arg-nonnull.
4695         (Makefile.am): Insert arg-nonnull.h into spawn.h.
4696         * modules/stdio (Depends-on): Add arg-nonnull.
4697         (Makefile.am): Insert arg-nonnull.h into stdio.h.
4698         * modules/stdlib (Depends-on): Add arg-nonnull.
4699         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
4700         * modules/string (Depends-on): Add arg-nonnull.
4701         (Makefile.am): Insert arg-nonnull.h into string.h.
4702         * modules/strings (Depends-on): Add arg-nonnull.
4703         (Makefile.am): Insert arg-nonnull.h into strings.h.
4704         * modules/sys_socket (Depends-on): Add arg-nonnull.
4705         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
4706         * modules/sys_stat (Depends-on): Add arg-nonnull.
4707         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
4708         * modules/sys_time (Depends-on): Add arg-nonnull.
4709         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
4710         * modules/sys_times (Depends-on): Add arg-nonnull.
4711         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
4712         * modules/sys_utsname (Depends-on): Add arg-nonnull.
4713         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
4714         * modules/time (Depends-on): Add arg-nonnull.
4715         (Makefile.am): Insert arg-nonnull.h into time.h.
4716         * modules/unistd (Depends-on): Add arg-nonnull.
4717         (Makefile.am): Insert arg-nonnull.h into unistd.h.
4718         * modules/wchar (Depends-on): Add arg-nonnull.
4719         (Makefile.am): Insert arg-nonnull.h into wchar.h.
4720         * modules/argv-iter (Depends-on): Add arg-nonnull.
4721         * tests/test-canonicalize.c (null_ptr): New function.
4722         (main): Use it.
4723         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
4724         (main): Use it.
4725         * tests/test-memmem.c (null_ptr): New function.
4726         (main): Use it.
4727         Reported by Jim Meyering.
4728
4729 2009-12-10  Bruno Haible  <bruno@clisp.org>
4730
4731         Use spaces for indentation, not tabs.
4732         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
4733         * m4/*.m4: Untabify.
4734         * build-aux/*.h: Untabify.
4735         * tests/**/*.[hc]: Untabify.
4736         * README: New section "Indent with spaces, not TABs", based on
4737         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
4738         * NEWS: Mention the change.
4739
4740 2009-12-10  Bruno Haible  <bruno@clisp.org>
4741
4742         pty test: Fix link error.
4743         * modules/pty-tests (Makefile.am): Add the default LDADD value to
4744         test_pty_LDADD.
4745
4746 2009-12-07  Simon Josefsson  <simon@josefsson.org>
4747
4748         * modules/pty: New file.
4749         * modules/pty-tests: New file.
4750         * m4/pty.m4: New file.
4751         * tests/test-pty.c: New file.
4752         * doc/glibc-headers/pty.texi: Modified.
4753         * doc/glibc-functions/forkpty.texi: Modified.
4754         * doc/glibc-functions/openpty.texi: Modified.
4755
4756 2009-12-10  Bruno Haible  <bruno@clisp.org>
4757
4758         Avoid syntax error in C++ mode.
4759         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
4760
4761 2009-12-10  Bruno Haible  <bruno@clisp.org>
4762
4763         Use sed with option -e.
4764         * gnulib-tool (func_version, func_emit_copyright_notice,
4765         func_emit_initmacro_end, func_import, func_create_testdir): Pass
4766         option -e to sed.
4767         * modules/link-warning (Makefile.am): Likewise.
4768
4769 2009-12-10  Jim Meyering  <meyering@redhat.com>
4770
4771         mgetgroups: do not write bytes beyond end of malloc'd buffer
4772         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
4773         username, we call getgroups with a one-element-shorter buffer,
4774         but still told it the length was original, max_n_groups.
4775
4776 2009-12-09  Eric Blake  <ebb9@byu.net>
4777
4778         cloexec: relax license
4779         * modules/cloexec (Maintainer): Add myself.
4780         (License): Use LGPL, not GPL.
4781
4782         link-warning: optimize generation
4783         * modules/link-warning (Makefile.am): Reduce process usage.
4784
4785 2009-12-09  Bruno Haible  <bruno@clisp.org>
4786
4787         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
4788         workaround was added on 2009-11-17.
4789
4790 2009-12-09  Jim Meyering  <meyering@redhat.com>
4791             Bruno Haible  <bruno@clisp.org>
4792
4793         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
4794         * modules/link-warning (Makefile.am): Make the comment-removing sed
4795         command more robust in the face of bootstrap-prepended comment lines.
4796
4797 2009-12-09  Bruno Haible  <bruno@clisp.org>
4798
4799         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
4800         most one group.
4801
4802 2009-12-09  Simon Josefsson <simon@josefsson.org>
4803             Bruno Haible  <bruno@clisp.org>
4804
4805         * build-aux/link-warning.h: Add copyright notice.
4806         * modules/link-warning (Makefile.am): Generate link-warning.h from
4807         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
4808         * NEWS: Mention change in link-warning module.
4809         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
4810         * modules/dirent (Makefile.am): Add dependency to dirent.h.
4811         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
4812         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
4813         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
4814         * modules/math (Makefile.am): Add dependency to math.h.
4815         * modules/search (Makefile.am): Add dependency to search.h.
4816         * modules/signal (Makefile.am): Add dependency to signal.h.
4817         * modules/spawn (Makefile.am): Add dependency to spawn.h.
4818         * modules/stdio (Makefile.am): Add dependency to stdio.h.
4819         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
4820         * modules/string (Makefile.am): Add dependency to string.h.
4821         * modules/strings (Makefile.am): Add dependency to strings.h.
4822         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
4823         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
4824         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
4825         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
4826         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
4827         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
4828         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
4829         * modules/unistd (Makefile.am): Add dependency to unistd.h.
4830         * modules/wchar (Makefile.am): Add dependency to wchar.h.
4831
4832 2009-12-09  Bruno Haible  <bruno@clisp.org>
4833
4834         fchdir: Optimize away rpl_fstat when possible.
4835         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
4836         REPLACE_OPEN_DIRECTORY.
4837         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
4838
4839 2009-12-09  Bruno Haible  <bruno@clisp.org>
4840
4841         * lib/fchdir.c: Update comment.
4842
4843 2009-12-09  Bruno Haible  <bruno@clisp.org>
4844
4845         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
4846
4847 2009-12-08  Eric Blake  <ebb9@byu.net>
4848
4849         fchdir: avoid memory leak on re-registration.
4850         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
4851
4852 2009-12-08  Jim Meyering  <meyering@redhat.com>
4853
4854         init.sh: avoid Solaris 10 /bin/sh portability problem
4855         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
4856         sourced script:
4857           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
4858           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
4859           bar
4860         tests/init.sh relied on that, accepting a --set-path=DIR argument,
4861         and two tests used that idiom.
4862         * tests/init.sh: Update suggested usage comments.
4863         (path_prepend_): New function, to be used in place
4864         of the --src-path=DIR option.
4865         (setup_): Move PATH-prepending code into path_prepend_.
4866         * tests/test-pread.sh: Adapt to new usage.
4867         * tests/test-xalloc-die.sh: Likewise.
4868
4869 2009-12-08  Simon Josefsson  <simon@josefsson.org>
4870
4871         * doc/gnulib.texi (Glibc pty.h): Add.
4872         * doc/glibc-functions/forkpty.texi: Add.
4873         * doc/glibc-functions/openpty.texi: Add.
4874         Suggested by Bruno Haible.
4875
4876 2009-12-08  Eric Blake  <ebb9@byu.net>
4877
4878         fchdir: fix logic bugs
4879         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
4880         * tests/test-fchdir.c (main): Enhance test.
4881         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
4882         is in use.
4883
4884         dup2: fix logic bugs
4885         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
4886         REPLACE_DUP2 to decide when rpl_dup2 is needed.
4887         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
4888         exists.
4889         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
4890
4891 2009-12-07  Eric Blake  <ebb9@byu.net>
4892
4893         unlink: fix m4 detection
4894         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
4895
4896         unistd-safer: add unit test
4897         * modules/unistd-safer-tests: New file.
4898         * tests/test-dup-safer.c: Likewise.
4899         * tests/test-cloexec.c (setmode): Avoid compiler warning.
4900         * tests/test-dup2.c (setmode): Likewise.
4901         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
4902
4903         cloexec: preserve text vs. binary across dup_cloexec
4904         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
4905         mode.
4906         * modules/dup2-tests (Depends-on): Add binary-io.
4907         * modules/cloexec-tests (Depends-on): Likewise.
4908         * tests/test-dup2.c (setmode, is_mode): New helpers.
4909         (main): Add tests that translation mode is preserved.
4910         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
4911         Reported by Bruno Haible.
4912
4913         mgetgroups: reduce duplicate listings
4914         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
4915         resulting array.
4916         * tests/test-chown.h (test_chown): Simplify client.
4917         * tests/test-lchown.h (test_lchown): Likewise.
4918
4919 2009-12-06  Bruno Haible  <bruno@clisp.org>
4920
4921         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
4922         value.
4923
4924 2009-12-06  Bruno Haible  <bruno@clisp.org>
4925
4926         * lib/progname.c: Include stdio.h, stdlib.h.
4927         (set_program_name): Reject a NULL argument.
4928
4929 2009-12-05  Eric Blake  <ebb9@byu.net>
4930
4931         pipe2-safer: new module
4932         * modules/pipe2-safer: New file.
4933         * lib/unistd-safer.h (pipe2_safer): New prototype.
4934         * lib/unistd--.h (pipe2): New wrapper.
4935         * lib/pipe-safer.c (pipe2_safer): New function.
4936         * modules/pipe (Depends-on): Add pipe2-safer.
4937         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
4938
4939         stdlib-safer: preserve cloexec flag for mkostemp[s]
4940         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
4941         fd_safer_flag.
4942
4943         unistd-safer: allow preservation of cloexec status via flag
4944         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
4945         prototypes.
4946         * lib/dup-safer.c (dup_safer_flag): New function.
4947         * lib/fd-safer.c (fd_safer_flag): Likewise.
4948         * modules/cloexec (configure.ac): Set witness.
4949
4950         test-dup2: enhance test
4951         * modules/dup2-tests (Depends-on): Add cloexec.
4952         * tests/test-dup2.c (main): Enhance test.
4953
4954         cloexec: add dup_cloexec
4955         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
4956         header and comments.
4957         * lib/cloexec.c (set_cloexec_flag): Add comments.
4958         (dup_cloexec): New function, with mingw implementation borrowed
4959         from...
4960         * lib/w32spawn.h (dup_noinherit): ...here.
4961         * modules/execute (Depends-on): Add cloexec.
4962         * modules/pipe (Depends-on): Likewise.
4963         * modules/cloexec (Depends-on): Add dup2.
4964         * modules/cloexec-tests (Files): New file.
4965         * tests/test-cloexec.c: Likewise.
4966
4967         test-xalloc-die: fix test for mingw
4968         * modules/xalloc-die-tests (Files): Add tests/init.sh.
4969         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
4970         directory and .exe suffix off argv[0] output.
4971
4972         test-fseeko: fix test for mingw
4973         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
4974         than undefining fseek, so test will pass on mingw.
4975
4976 2009-12-05  Bruno Haible  <bruno@clisp.org>
4977
4978         * lib/progname.h (set_program_name): Clarify specification.
4979         * lib/progname.c (set_program_name): Likewise.
4980         Reported by Jim Meyering.
4981
4982 2009-12-05  Jim Meyering  <meyering@redhat.com>
4983
4984         maint.mk: backslash-escape parens in default regexp
4985         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
4986         backslash-escape the literal parentheses.
4987
4988         maint.mk: news-date-check: use grep -E
4989         * top/maint.mk (today): Define a Make variable, not a...
4990         (news-date-check): ...shell variable.
4991         (news-date-regexp): Use the Make variable.
4992         Use grep's -E option.  Change the failing diagnostic to mention
4993         the variable, $(news-date-regexp).
4994
4995 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
4996
4997         maintainer-makefile: allow customization of NEWS entry format
4998         * top/maint.mk (news-date-regexp): New overridable variable.
4999         (news-date-check): Use it.
5000
5001 2009-12-04  Eric Blake  <ebb9@byu.net>
5002
5003         mgetgroups: add xgetgroups, and avoid ENOSYS failures
5004         * lib/mgetgroups.h (xgetgroups): New prototype.
5005         * lib/mgetgroups.c (xgetgroups): New wrapper.
5006         (mgetgroups): Handle ENOSYS.
5007         * modules/mgetgroups (Depends-on): Add realloc.
5008         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
5009
5010         mgetgroups: avoid argument promotion issues with -1
5011         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
5012         for invalid gid_t.
5013         * tests/test-chown.h (getegid, test_chown): Likewise.
5014         * tests/test-lchown.h (getegid, test_lchown): Likewise.
5015
5016 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
5017
5018         exclude: Fix header file problems.
5019         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
5020
5021 2009-12-01  Jim Meyering  <meyering@redhat.com>
5022
5023         fts: fts_open: do not let an empty string cause immediate failure
5024         This is required in support of GNU rm, for which the command
5025         "rm A '' B" must process and remove both A and B, in spite of
5026         the empty string argument.
5027         * lib/fts.c (fts_open): Do not let the presence of an empty string
5028         cause fts_open to fail immediately.  Most fts-using tools must be
5029         able to process all arguments, in order, and can be expected to
5030         diagnose such arguments themselves.
5031
5032 2009-11-30  Eric Blake  <ebb9@byu.net>
5033
5034         utimens: fix compilation error
5035         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
5036         Declare variable at right scope.
5037
5038 2009-11-29  Jim Meyering  <meyering@redhat.com>
5039
5040         bootstrap: handle perl-5.11's changed --version output
5041         * build-aux/bootstrap (get_version): Handle perl separately,
5042         since perl-5.11's --version output is different.
5043
5044 2009-11-28  Jim Meyering  <meyering@redhat.com>
5045
5046         userspec: depend on the inttostr module, too
5047         * modules/userspec (Depends-on): Add inttostr.
5048
5049         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
5050         * lib/userspec.c (parse_with_separator): Do not accept a user ID
5051         number of MAXUID when it evaluates to (uid_t) -1.
5052         Likewise for group ID.  Reported by Matt McCutchen in
5053         <http://savannah.gnu.org/bugs/?28113>
5054
5055         userspec: reformat to use spaces, not TABs
5056         * lib/userspec.c: Expand TABs to spaces.
5057         Add Emacs' "indent-tabs-mode: nil" hint.
5058
5059 2009-11-27  Eric Blake  <ebb9@byu.net>
5060
5061         getopt-gnu: flush out another BSD bug
5062         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
5063         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
5064         flush out BSD bug.
5065         * tests/test-getopt.h (test_getopt): End lists with NULL.
5066         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5067         (test_getopt_long_posix): Enhance test.
5068         * modules/getopt-posix-tests (Depends-on): Add stdbool.
5069         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
5070         getopt-gnu.
5071         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5072         Likewise.
5073
5074 2009-11-27  Simon Josefsson  <simon@josefsson.org>
5075
5076         * modules/idpriv-droptemp-tests (Notice): Fix text.
5077
5078 2009-11-27  Jim Meyering  <meyering@redhat.com>
5079
5080         test-xalloc-die: avoid spurious failure due to libtool argv difference
5081         In a libtool-enabled project, this test would fail due to a difference
5082         in the emitted program name, e.g.,
5083         -test-xalloc-die: memory exhausted
5084         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
5085         Use program to avoid that.
5086         * modules/xalloc-die-tests (Depends-on): Add progname.
5087         * tests/test-xalloc-die.c: Include progname.h".
5088         (program_name): Remove decl.
5089         (main): Call set_program_name.
5090         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
5091
5092 2009-11-26  Richard Jones  <rjones@redhat.com>
5093
5094         w32sock: leave win32 error in place.
5095         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
5096
5097 2009-11-26  Eric Blake  <ebb9@byu.net>
5098
5099         init.sh: suggest to use skip_ and fail_ functions in comments
5100         * tests/init.sh: Add a sentence.
5101
5102 2009-11-25  Bruno Haible  <bruno@clisp.org>
5103
5104         init.sh: add documentation in comments
5105         * tests/init.sh: Add some developer and user documentation.
5106
5107 2009-11-26  Jim Meyering  <meyering@redhat.com>
5108
5109         init.sh: accommodate even those who specify bogus srcdir manually
5110         * tests/init.sh: Normally, srcdir is guaranteed by automake and
5111         configure-time tests to be sanitized, so that there is no need to
5112         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
5113         (with no double quotes) suffices.  However, since tests may be
5114         invoked manually, and since you may explicitly set srcdir to the
5115         name of a directory containing spaces, do quote its uses here.
5116         * tests/test-pread.sh: Likewise.
5117         Suggested by Bruno Haible.
5118
5119         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
5120         * tests/test-pread.sh: Write no data into the pipe, because
5121         test-pread actually reads none.  This avoids a diagnostic,
5122         "bash: echo: write error: Broken pipe", that arises in the unusual
5123         event something is ignoring SIGPIPE, and might be interpreted
5124         as some sort of failure.  Reported by Bruno Haible.
5125
5126 2009-11-25  Jim Meyering  <meyering@redhat.com>
5127
5128         test-pread: cover failure with ESPIPE and EINVAL
5129         * tests/test-pread.c (main): Test for failure, too.
5130         * tests/test-pread.sh: Invoke with stdin on a pipe.
5131         Suggested by Eric Blake.
5132
5133         pread: improvement and fix
5134         * modules/pread (Depends-on): Depend on lseek, for portability to
5135         e.g., mingw.  Suggested by Eric Blake.
5136         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
5137
5138         unistd.in.h: correct declaration of pread
5139         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
5140         Reported by Richard W.M. Jones.
5141
5142         test-pread.sh: distribute the test script
5143         * modules/pread-tests (Files): Include test-pread.sh.
5144
5145         test-pread.sh: clean up
5146         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
5147         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
5148         That is unnecessary, since it's always ".".
5149         Suggestion from Eric Blake.
5150
5151         test-pread.sh: make executable
5152         * tests/test-pread.sh: Set executable bit.
5153         Reported by Eric Blake.
5154
5155         correct typo in test-pread.sh
5156         * tests/test-pread.sh: Add #! line.
5157
5158         test pread
5159         * tests/test-pread.c: New file.
5160         * tests/test-pread.sh: Likewise.
5161         * modules/pread-tests: Likewise.
5162
5163         pread: new module
5164         * modules/pread: New file.
5165         * lib/unistd.in.h (pread): Define/declare.
5166         * lib/pread.c (pread): New file.
5167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
5168         * modules/unistd (Makefile.am): Substitute witnesses.
5169         * doc/posix-functions/pread.texi (pread): Update.
5170         * MODULES.html.sh: Add pread.
5171
5172 2009-11-25  Jim Meyering  <meyering@redhat.com>
5173
5174         tests/init.sh: new file to be used via most *.sh tests
5175         * tests/init.sh: New file.
5176
5177 2009-11-25  Eric Blake  <ebb9@byu.net>
5178
5179         utimens: work around older Linux failure with symlinks
5180         * lib/utimens.c (lutimensat_works_really): New variable.
5181         (fdutimens, lutimens): Use it to manage kernels that support
5182         nanosecond times on files, but not on symlinks.
5183         Reported by Ondřej Vašík.
5184
5185         utimes: fix configure grammar
5186         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
5187
5188 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
5189
5190         regex: Fix fastmap for multibyte character ranges.
5191         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
5192         characters when a multibyte character range is included.
5193
5194 2009-11-22  Andy Wingo  <wingo@pobox.com>
5195
5196         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
5197         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
5198
5199 2009-11-24  Bruno Haible  <bruno@clisp.org>
5200
5201         doc: Most *_l functions exist in MacOS X 10.5.
5202         * doc/posix-functions/duplocale.texi: Update platforms list.
5203         * doc/posix-functions/freelocale.texi: Likewise.
5204         * doc/posix-functions/newlocale.texi: Likewise.
5205         * doc/posix-functions/uselocale.texi: Likewise.
5206         * doc/posix-functions/isalnum_l.texi: Likewise.
5207         * doc/posix-functions/isalpha_l.texi: Likewise.
5208         * doc/posix-functions/isblank_l.texi: Likewise.
5209         * doc/posix-functions/iscntrl_l.texi: Likewise.
5210         * doc/posix-functions/isdigit_l.texi: Likewise.
5211         * doc/posix-functions/isgraph_l.texi: Likewise.
5212         * doc/posix-functions/islower_l.texi: Likewise.
5213         * doc/posix-functions/isprint_l.texi: Likewise.
5214         * doc/posix-functions/ispunct_l.texi: Likewise.
5215         * doc/posix-functions/isspace_l.texi: Likewise.
5216         * doc/posix-functions/isupper_l.texi: Likewise.
5217         * doc/posix-functions/iswalnum_l.texi: Likewise.
5218         * doc/posix-functions/iswalpha_l.texi: Likewise.
5219         * doc/posix-functions/iswblank_l.texi: Likewise.
5220         * doc/posix-functions/iswcntrl_l.texi: Likewise.
5221         * doc/posix-functions/iswctype_l.texi: Likewise.
5222         * doc/posix-functions/iswdigit_l.texi: Likewise.
5223         * doc/posix-functions/iswgraph_l.texi: Likewise.
5224         * doc/posix-functions/iswlower_l.texi: Likewise.
5225         * doc/posix-functions/iswprint_l.texi: Likewise.
5226         * doc/posix-functions/iswpunct_l.texi: Likewise.
5227         * doc/posix-functions/iswspace_l.texi: Likewise.
5228         * doc/posix-functions/iswupper_l.texi: Likewise.
5229         * doc/posix-functions/iswxdigit_l.texi: Likewise.
5230         * doc/posix-functions/isxdigit_l.texi: Likewise.
5231         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
5232         * doc/posix-functions/strcasecmp_l.texi: Likewise.
5233         * doc/posix-functions/strcoll_l.texi: Likewise.
5234         * doc/posix-functions/strfmon_l.texi: Likewise.
5235         * doc/posix-functions/strftime_l.texi: Likewise.
5236         * doc/posix-functions/strncasecmp_l.texi: Likewise.
5237         * doc/posix-functions/strxfrm_l.texi: Likewise.
5238         * doc/posix-functions/tolower_l.texi: Likewise.
5239         * doc/posix-functions/toupper_l.texi: Likewise.
5240         * doc/posix-functions/towctrans_l.texi: Likewise.
5241         * doc/posix-functions/towlower_l.texi: Likewise.
5242         * doc/posix-functions/towupper_l.texi: Likewise.
5243         * doc/posix-functions/wcscoll_l.texi: Likewise.
5244         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
5245         * doc/posix-functions/wctrans_l.texi: Likewise.
5246         * doc/posix-functions/wctype_l.texi: Likewise.
5247         * doc/glibc-functions/strptime_l.texi: Likewise.
5248         * doc/glibc-functions/strtod_l.texi: Likewise.
5249         * doc/glibc-functions/strtof_l.texi: Likewise.
5250         * doc/glibc-functions/strtol_l.texi: Likewise.
5251         * doc/glibc-functions/strtold_l.texi: Likewise.
5252         * doc/glibc-functions/strtoll_l.texi: Likewise.
5253         * doc/glibc-functions/strtoul_l.texi: Likewise.
5254         * doc/glibc-functions/strtoull_l.texi: Likewise.
5255         * doc/glibc-functions/wcsftime_l.texi: Likewise.
5256         * doc/glibc-functions/wcstod_l.texi: Likewise.
5257         * doc/glibc-functions/wcstof_l.texi: Likewise.
5258         * doc/glibc-functions/wcstol_l.texi: Likewise.
5259         * doc/glibc-functions/wcstold_l.texi: Likewise.
5260         * doc/glibc-functions/wcstoll_l.texi: Likewise.
5261         * doc/glibc-functions/wcstoul_l.texi: Likewise.
5262         * doc/glibc-functions/wcstoull_l.texi: Likewise.
5263
5264 2009-11-24  Bruno Haible  <bruno@clisp.org>
5265
5266         duplocale: Fix logic bug.
5267         * lib/duplocale.c: Don't include <langinfo.h>.
5268         (_NL_LOCALE_NAME): Remove macro.
5269         (rpl_duplocale): Use setlocale instead of nl_langinfo.
5270         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
5271
5272 2009-11-23  Jim Meyering  <meyering@redhat.com>
5273
5274         test-update-copyright: don't hard-code /usr/bin/perl
5275         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
5276         perl to print the current year.  Gilles Espinasse reported that
5277         the replaced use of perl was hard-coded as /usr/bin/perl.
5278
5279 2009-11-23  Bruno Haible  <bruno@clisp.org>
5280
5281         duplocale: Add support for glibc 2.3.x.
5282         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
5283
5284 2009-11-22  Bruno Haible  <bruno@clisp.org>
5285
5286         vasnprintf: Tiny optimization.
5287         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
5288         MacOS X.
5289
5290 2009-11-22  Bruno Haible  <bruno@clisp.org>
5291
5292         Tests for module 'duplocale'.
5293         * modules/duplocale-tests: New file.
5294         * tests/test-duplocale.c: New file.
5295
5296         New module 'duplocale'.
5297         * m4/duplocale.m4: New file.
5298         * lib/locale.in.h (duplocale): New declaration.
5299         * lib/duplocale.c: New file.
5300         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
5301         gl_LOCALE_H_DEFAULTS): New macros.
5302         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
5303         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
5304         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
5305         REPLACE_DUPLOCALE.
5306         * modules/duplocale: New file.
5307         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
5308
5309 2009-11-22  Bruno Haible  <bruno@clisp.org>
5310
5311         * modules/locale-tests (configure.ac): Test for newlocale function.
5312         * tests/test-locale.c: When the system has extended locale functions,
5313         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
5314
5315         locale: Make locale_t available when possible.
5316         * lib/locale.in.h: Include <xlocale.h> when it exists.
5317         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
5318         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
5319         * modules/locale (Depends-on): Add extensions.
5320         (Makefile.am): Also substitute HAVE_XLOCALE_H.
5321         * doc/posix-headers/locale.texi: Document the problem with locale_t.
5322
5323 2009-11-22  Bruno Haible  <bruno@clisp.org>
5324
5325         Add comments.
5326         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
5327         invocation.
5328         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5329         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5330         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5331
5332 2009-11-22  Bruno Haible  <bruno@clisp.org>
5333
5334         error: account for the possibility of freopen (stdout).
5335         * lib/error.c: Include <unistd.h>.
5336         (flush_stdout): New function, extracted from error and error_at_line.
5337         Determine stdout's fd dynamically.
5338         (error, error_at_line): Invoke flush_stdout.
5339         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
5340         * modules/error (Depends-on): Add unistd.
5341
5342 2009-11-22  Bruno Haible  <bruno@clisp.org>
5343
5344         diffseq: Add comment.
5345         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
5346
5347 2009-11-22  Jim Meyering  <meyering@redhat.com>
5348
5349         c-stack: avoid defining an unused static function
5350         * lib/c-stack.c (find_stack_direction): Do not define this function
5351         when it will not be used.
5352
5353         diffseq: avoid spurious gcc warnings
5354         * lib/diffseq.h (IF_LINT2): Define.
5355         (compareseq): Use it to initialize two members of "part".
5356         This avoids two used-uninitialized warnings.
5357
5358 2009-11-21  Jim Meyering  <meyering@redhat.com>
5359
5360         c-stack: avoid "ignoring return value of `write'" warning
5361         * lib/c-stack.c: Include "ignore-value.h".
5362         (die): Explicitly ignore each write return value.
5363         * modules/c-stack (Depends-on): Add ignore-value.
5364
5365 2009-11-21  Bruno Haible  <bruno@clisp.org>
5366
5367         diffseq: reduce scope of variable 'best'.
5368         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
5369         variable, earlier used for two different purposes.
5370
5371 2009-11-21  Jim Meyering  <meyering@redhat.com>
5372
5373         diffseq: remove useless assignment to "best"
5374         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
5375         assignment.  At that point "best" is already guaranteed to be zero.
5376
5377 2009-11-20  Eric Blake  <ebb9@byu.net>
5378
5379         build: mention ftp redirector in release announcements
5380         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
5381         values that used to come from cfg.mk; mention FTP redirect URL.
5382         * build-aux/announce-gen: Mention the mirror list.
5383         Suggested by Karl Berry.
5384
5385         nanosleep: improve port to mingw
5386         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
5387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
5388         LIB_NANOSLEEP, but only when needed.
5389         * modules/select (Link): Document LIBSOCKET.
5390         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
5391         enough.
5392
5393         nanosleep: work around cygwin bug
5394         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
5395         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
5396         bug.
5397         (getnow): Delete, not needed.
5398         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
5399         LIB_CLOCK_GETTIME.
5400         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
5401         clock-time, gettime.
5402         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
5403         bug.
5404         * modules/nanosleep-tests: New test.
5405         * tests/test-nanosleep.c: New file.
5406
5407         sleep: work around cygwin bug
5408         * lib/sleep.c (rpl_sleep): Work around the bug.
5409         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
5410         (gl_PREREQ_SLEEP): Delete unused macro.
5411         * modules/sleep (Depends-on): Add verify.
5412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5413         * modules/unistd (Makefile.am): Substitute witness.
5414         * lib/unistd.in.h (sleep): Update prototype.
5415         * doc/posix-functions/sleep.texi (sleep): Document the bug.
5416         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
5417         * modules/sleep-tests (Depends-on): Check for alarm.
5418
5419 2009-11-20  Jim Meyering  <meyering@redhat.com>
5420
5421         maint.mk: improve sc_prohibit_magic_number_exit
5422         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
5423         so it does not match uses like System.exit(1).
5424         Add comments showing how to correct all offenders.
5425
5426 2009-11-19  Eric Blake  <ebb9@byu.net>
5427
5428         xalloc-die-tests: add missing library
5429         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
5430
5431         test-xvasprintf: silence compiler warnings
5432         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
5433         empty string from gcc.
5434
5435 2009-11-19  Jim Meyering  <meyering@redhat.com>
5436
5437         xfreopen: new module, from coreutils
5438         * modules/xfreopen: New module.
5439         * lib/xfreopen.c: New file.
5440         * lib/xfreopen.h: New file.
5441         * MODULES.html.sh (File stream based Input/Output"): Add it.
5442
5443 2009-11-19  Eric Blake  <ebb9@byu.net>
5444
5445         manywarnings: depend on warnings
5446         * modules/manywarnings (Depends-on): Add warnings.
5447
5448         build: avoid compiler warnings
5449         * lib/select.c (rpl_select): Delete unused variable.
5450         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
5451
5452 2009-11-18  Eric Blake  <ebb9@byu.net>
5453
5454         tests: avoid false negative with --with-packager
5455         * tests/test-version-etc.sh: Discard packager information.
5456         * tests/test-argp-version-etc-1.sh: Likewise.
5457         Reported by Mike Frysinger.
5458
5459         utimens: fix regression on Solaris
5460         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
5461         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
5462         can only change fd timestamps via futimesat.  Instead, use an
5463         additional witness macro to avoid BSD bug.
5464         Reported by Jim Meyering.
5465
5466 2009-11-17  Eric Blake  <ebb9@byu.net>
5467
5468         usleep: use it to simplify tests
5469         * modules/stat-time-tests (Depends-on): Add usleep.
5470         (configure.ac): Drop usleep check.
5471         * modules/chown-tests (Depends-on, configure.ac): Likewise.
5472         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
5473         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
5474         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
5475         * modules/openat-tests (Depends-on, configure.ac): Likewise.
5476         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
5477         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
5478         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
5479         Likewise.
5480         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
5481         * tests/test-lchown.h (nap): Likewise.
5482         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
5483         * tests/test-stat-time.c (nap): Likewise.
5484         * tests/test-utimens-common.h (nap): Update comments.
5485
5486         usleep: new module
5487         * modules/usleep: New file.
5488         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5489         * lib/usleep.c (usleep): Likewise.
5490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
5491         * modules/unistd (Makefile.am): Substitute witnesses.
5492         * lib/unistd.in.h (usleep): Add declaration.
5493         * doc/pastposix-functions/usleep.texi (usleep): Document this.
5494         * MODULES.html.sh (Date and time): Likewise.
5495         * modules/usleep-tests (Depends-on): New test.
5496         * tests/test-usleep.c: New file.
5497
5498         chown: work around OpenBSD bug
5499         * lib/chown.c (rpl_chown): Work around the bug.
5500         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
5501         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
5502         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
5503         * modules/chown (Depends-on): Add stdbool.
5504         * modules/lchown (Depends-on): Likewise.
5505         * doc/posix-functions/chown.texi (chown): Document the bug.
5506         * doc/posix-functions/lchown.texi (lchown): Likewise.
5507         * tests/test-lchown.h (test_chown): Relax test.
5508
5509         mkstemp: avoid conflict with C++ keyword template
5510         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
5511         * lib/mkostemp.c (mkostemp): Likewise.
5512         * lib/mkostemps.c (mkostemps): Likewise.
5513         * lib/mkstemp.c (mkstemp): Likewise.
5514         * lib/mkstemps.c (mkstemps): Likewise.
5515
5516         xalloc-die-tests: optimize
5517         * tests/test-xalloc-die.sh: Reduce number of processes.
5518
5519 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5520
5521         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
5522         patch from ludo@gnu.org (Ludovic Courtès).
5523
5524 2009-11-17  Jim Meyering  <meyering@redhat.com>
5525
5526         version-etc: use proper license string
5527         * modules/version-etc (License): Use LGPL, not LGPLv3+.
5528         * modules/version-etc-fsf: Likewise.
5529
5530 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5531
5532         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
5533         printed to stdout.  Deal with EOL differences.
5534
5535 2009-11-17  Eric Blake  <ebb9@byu.net>
5536
5537         unsetenv: work around Solaris bug
5538         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
5539         * lib/unsetenv.c (rpl_unsetenv): Work around it.
5540         Reported by Jim Meyering.
5541
5542         vasnprintf: avoid compiler warnings
5543         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
5544         variables.
5545         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
5546
5547 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5548
5549         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
5550         settings since xalloc-die is no longer the self test,
5551         xalloc-die.sh is.
5552
5553 2009-11-17  Jim Meyering  <meyering@redhat.com>
5554
5555         test-xalloc-die.sh: make the code agree with the commit log
5556         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
5557         at the end, just in case you happen to have a test-xalloc-die
5558         program in some other PATH directory.
5559
5560         test-xalloc-die.sh: fix a portability bug
5561         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
5562         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
5563         Otherwise, argv[0] (as often seen in diagnostics) would be too
5564         system-dependent, sometimes with, and sometimes without the leading "./".
5565
5566         version-etc-fsf: relax license to LGPLv3+
5567         * modules/version-etc-fsf (License): Relax license.
5568
5569 2009-11-16  Eric Blake  <ebb9@byu.net>
5570
5571         xalloc-die-tests: avoid printing null pointer
5572         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
5573         shell script.
5574         * tests/test-xalloc-die.c (program_name): Declare.
5575         * tests/test-xalloc-die.sh (tmpfiles): New file.
5576
5577         setenv, unsetenv: work around various bugs
5578         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
5579         (setenv) [HAVE_SETENV]: Work around bugs.
5580         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
5581         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
5582         for bugs.
5583         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
5584         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
5585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
5586         * modules/stdlib (Makefile.am): Update substitutions.
5587         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
5588         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
5589         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
5590         * modules/setenv-tests: New test.
5591         * modules/unsetenv-tests: Likewise.
5592         * tests/test-setenv.c: New file.
5593         * tests/test-unsetenv.c: Likewise.
5594
5595 2009-11-16  Jim Meyering  <meyering@redhat.com>
5596
5597         version-etc: relax license to LGPLv3+
5598         * modules/version-etc (License): Relax license.
5599
5600         better AC_REQUIRE expanded-before-required-warning avoidance
5601         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
5602         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
5603         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
5604         which is no longer needed.
5605
5606 2009-11-16  Eric Blake  <ebb9@byu.net>
5607
5608         test-freading: clean up temporary file
5609         * tests/test-freading.c (main): Remove file on success, and use
5610         ASSERT more liberally.
5611         Reported by Jim Meyering.
5612
5613 2009-11-16  Jim Meyering  <meyering@redhat.com>
5614
5615         avoid new AC_REQUIRE expanded-before-required warnings
5616         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
5617         merely using it.
5618         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
5619         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
5620
5621 2009-11-15  Simon Josefsson  <simon@josefsson.org>
5622
5623         * tests/test-xalloc-die.c: New file.
5624         * modules/xalloc-die-tests: New file.
5625         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
5626         XFAIL_TESTS so it can be appended by modules.
5627
5628 2009-11-15  Simon Josefsson  <simon@josefsson.org>
5629
5630         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
5631         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
5632
5633 2009-11-14  Eric Blake  <ebb9@byu.net>
5634
5635         fnmatch: avoid compiler warning
5636         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
5637         to silence compiler warning about mismatch signedness in ?:.
5638         Reported by Robert Millan.
5639
5640         intprops: add double-inclusion guard
5641         * lib/intprops.h: Allow idempotent includes.
5642         Suggested by Bruce Korb.
5643
5644         openat: detect Solaris fchownat bug
5645         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
5646         penalizing glibc chownat when only lchownat is broken.
5647         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
5648         trailing slash bugs.
5649         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
5650         * modules/openat-tests (Files): Include more files.
5651         (Depends-on): Add mgetgroups, sleep, stat-time.
5652         (configure.ac): Add additional checks.
5653         (Makefile.am): Build new test.
5654         * tests/test-fchownat.c: New file.
5655
5656         lchown: detect Solaris and FreeBSD bug
5657         * lib/lchown.c (rpl_lchown): Work around bug.
5658         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
5659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5660         * modules/unistd (Makefile.am): Populate it.
5661         * lib/unistd.in.h (lchown): Update declaration.
5662         * doc/posix-functions/lchown.texi (lchown): Document the bug.
5663         * modules/lchown-tests: New file.
5664         * tests/test-lchown.h (test_lchown): Likewise.
5665         * tests/test-lchown.c (main): Likewise.
5666
5667         chown: detect Solaris and FreeBSD bug
5668         * lib/chown.c (rpl_chown): Work around bug.
5669         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
5670         (gl_PREREQ_CHOWN): Delete.
5671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5672         * modules/unistd (Makefile.am): Populate it.
5673         * lib/unistd.in.h (chown): Update declaration.
5674         * lib/lchown.c (chown): Update client.
5675         * modules/lchown (Depends-on): Add lstat.
5676         * doc/posix-functions/chown.texi (chown): Document the bug.
5677         * doc/posix-functions/getgroups.texi (getgroups): Document
5678         getgroups pitfall.
5679         * modules/chown-tests: New file.
5680         * tests/test-chown.h (test_chown): Likewise.
5681         * tests/test-chown.c (main): Likewise.
5682
5683 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
5684
5685         gnulib-tool: correctly detect absence of m4 directories
5686         * gnulib-tool: Avoid extra newline on data passed to wc -l.
5687
5688 2009-11-14  Jim Meyering  <meyering@redhat.com>
5689
5690         maint.mk: Prohibit inclusion of "xalloc.h" without use.
5691         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
5692
5693 2009-11-14  John W. Eaton  <jwe@gnu.org>
5694
5695         strftime.h: wrap funtion declaration in extern "C" block
5696         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
5697
5698 2009-11-13  Eric Blake  <ebb9@byu.net>
5699
5700         getgroups: avoid compiler warning
5701         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
5702
5703         getgroups: work around FreeBSD bug
5704         * lib/getgroups.c (rpl_getgroups): Work around the bug.
5705         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
5706         * doc/posix-functions/getgroups.texi (getgroups): Document it.
5707         * tests/test-getgroups.c (main): Fix buffer overrun.
5708
5709         getgroups: avoid compilation failure
5710         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
5711         * modules/getgroups (Depends-on): Add stdint.
5712
5713 2009-11-13  Jim Meyering  <meyering@redhat.com>
5714
5715         test-getgroups: avoid compilation failure
5716         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
5717
5718 2009-11-13  Eric Blake  <ebb9@byu.net>
5719
5720         mgetgroups: new module, taken from coreutils
5721         * modules/mgetgroups: New file.
5722         * lib/mgetgroups.h: Likewise.
5723         * lib/mgetgroups.c (mgetgroups): Likewise.
5724         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
5725         * MODULES.html.sh (Users and groups): Mention it.
5726
5727         getgroups: don't expose GETGROUPS_T to user
5728         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
5729         an element at a time if GETGROUPS_T is wrong size.
5730         * lib/getugroups.h (getugroups): Change signature.
5731         * lib/unistd.in.h (getgroups): Likewise.
5732         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
5733         signature needs fixing.
5734         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
5735         AC_TYPE_GETGROUPS.
5736         * modules/group-member (Depends-on): Add getgroups.
5737         * lib/group-member.c (group_info, get_group_info): Use gid_t.
5738         (group_member): Rely on getgroups replacement.
5739         * lib/getugroups.c (getugroups): Use gid_t.
5740         * tests/test-getgroups.c (main): Likewise.
5741         * NEWS: Mention the signature change.
5742         * doc/posix-functions/getgroups.texi (getgroups): Mention the
5743         problem with signature.
5744         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
5745         GETGROUPS_T is still useful for setgroups.
5746
5747         getgroups, getugroups: provide stubs for mingw
5748         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
5749         * lib/getugroups.c (getugroups): Likewise.
5750         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
5751         function.  Modernize replacement scheme.
5752         (gl_PREREQ_GETGROUPS): Delete.
5753         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
5754         * modules/getgroups (configure.ac): Declare witness.
5755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5756         * modules/unistd (Depends-on): Substitute witness.
5757         * lib/unistd.in.h (getgroups): Declare replacement.
5758
5759         getgroups: avoid calling exit
5760         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
5761         drop xalloc.
5762         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
5763         dependencies.
5764         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
5765         exiting, in the rare case of malloc failure.
5766
5767         getgroups: fix logic error
5768         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
5769         has more than 20 groups.
5770         * modules/getgroups-tests: New test.
5771         * tests/test-getgroups.c: New file.
5772
5773 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5774
5775         * tests/test-base64.c: Improve.
5776
5777 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5778
5779         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
5780         Blake <ebb9@byu.net>.
5781
5782 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5783
5784         * tests/test-xvasprintf.c: Add %s%s related checks.
5785
5786 2009-11-12  Eric Blake  <ebb9@byu.net>
5787
5788         version-etc: match standards.texi style
5789         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
5790         and use <> only for URLs.
5791
5792 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
5793
5794         fts: do not fail on a submount during traversal
5795         * lib/fts.c (fts_build): Read the stat info again after opening
5796         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
5797         Original report at http://bugzilla.redhat.com/501848.
5798
5799 2009-11-12  Jim Meyering  <meyering@redhat.com>
5800
5801         bootstrap: sync from coreutils
5802         * build-aux/bootstrap (bootstrap_epilogue): New function.
5803         Use git_modules_config in one more place.  This make bootstrap's
5804         --gnulib-srcdir option more useful for testing.
5805
5806         bootstrap: generalize autoheader check
5807         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
5808         AC_CONFIG_HEADERS.
5809
5810 2009-11-11  Eric Blake  <ebb9@byu.net>
5811
5812         mkfifoat: use new modules for Solaris and BSD bugs
5813         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
5814         * lib/mkfifoat.c (mknodat): Split...
5815         * lib/mknodat.c (mknodat): ...into new file.
5816         * modules/mkfifoat (Files): Ship new file.
5817         (Depends-on): Add mkfifo, mknod.
5818         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
5819         (Depends-on): Add symlink.
5820         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
5821         redundant with test_mkfifo.h.
5822         (do_mkfifoat, do_mknodat): New helpers.
5823
5824         mknod: new module
5825         * modules/mknod: New file.
5826         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
5827         * lib/mknod.c (mknod): Likewise.
5828         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
5829         defaults.
5830         * modules/sys_stat (Makefile.am): Substitute them.
5831         * lib/sys_stat.in.h (mknod): Declare replacement.
5832         * MODULES.html.sh (Support for systems lacking POSIX:2008):
5833         Document it.
5834         * doc/posix-functions/mknod.texi (mknod): Likewise.
5835         * modules/mknod-tests: New test.
5836         * tests/test-mknod.c: Likewise.
5837
5838         mkfifo: new module
5839         * modules/mkfifo: New file.
5840         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5841         * lib/mkfifo.c (mkfifo): Likewise.
5842         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
5843         defaults.
5844         * modules/sys_stat (Makefile.am): Substitute them.
5845         * lib/sys_stat.in.h (mkfifo): Declare replacement.
5846         * MODULES.html.sh (Support for systems lacking POSIX:2008):
5847         Document it.
5848         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
5849         * modules/mkfifo-tests: New test.
5850         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
5851         from test-mkfifoat.c.
5852         * tests/test-mkfifo.c: New file.
5853
5854         readlink: detect FreeBSD bug
5855         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
5856         slash on symlink.
5857         * doc/posix-functions/readlink.texi (readlink): Document the bug.
5858         * tests/test-readlink.h (test_readlink): Enhance test.
5859
5860         symlink: detect FreeBSD bug
5861         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
5862         slash on symlink.
5863         * doc/posix-functions/symlink.texi (symlink): Document the bug.
5864         * tests/test-symlink.h (test_symlink): Enhance test.
5865
5866 2009-11-10  Eric Blake  <ebb9@byu.net>
5867
5868         link: detect FreeBSD bug
5869         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
5870         symlink.
5871         * doc/posix-functions/link.texi (link): Document the bug.
5872         * tests/test-link.h (test_link): Enhance test.
5873         * tests/test-linkat.c (main): Update caller.
5874
5875         unlink, remove: detect FreeBSD bug
5876         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
5877         slash on symlink.
5878         * doc/posix-functions/unlink.texi (unlink): Document the bug.
5879         * doc/posix-functions/remove.texi (remove): Likewise.
5880         * tests/test-unlink.h (test_unlink): Enhance test.
5881         * tests/test-remove.c (main): Likewise.
5882
5883 2009-11-09  Eric Blake  <ebb9@byu.net>
5884
5885         rename: detect FreeBSD bug
5886         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
5887         slash on symlink.
5888         * modules/renameat-tests (Depends-on): Add filenamecat.
5889         * tests/test-rename.h (test_rename): Allow one more errno.
5890         * tests/test-renameat.c (main): Likewise.
5891         * doc/posix-functions/rename.texi (rename): Document the bug.
5892
5893         open: detect FreeBSD bug
5894         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
5895         symlink.
5896         * doc/posix-functions/open.texi (open): Document the bug.
5897         * doc/posix-functions/utimes.texi (utimes): Likewise.
5898         * tests/test-open.h (test_open): Add parameters, and test symlink
5899         handling.
5900         * tests/test-open.c (main): Adjust caller.
5901         * tests/test-fcntl-safer.c (main): Likewise.
5902         * modules/open-tests (Depends-on): Add stdbool, symlink.
5903         * modules/fcntl-safer-tests (Depends-on): Likewise.
5904         * tests/test-openat.c (main): Add test-open tests.
5905
5906         stat: detect FreeBSD bug
5907         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
5908         symlink.
5909         * doc/posix-functions/stat.texi (stat): Document the bug.
5910         * tests/test-stat.h (test_stat_func): Add argument.
5911         * tests/test-stat.c (main): Adjust caller.
5912         * tests/test-fstatat.c (main): Likewise.
5913         * modules/stat-tests (Depends-on): Add stdbool, symlink.
5914         Reported by Jim Meyering.
5915
5916 2009-11-09  James Youngman  <jay@gnu.org>
5917
5918         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
5919         * lib/strftime.c: Correct placement of #include "ignore-value.h".
5920
5921 2009-11-08  Jim Meyering  <meyering@redhat.com>
5922
5923         utimens: remove invalid futimesat call
5924         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
5925         It used the file descriptor of the target file as the DIR_FD
5926         parameter and NULL as the file name.  That caused failure with
5927         errno == EFAULT on FreeBSD-8.0-rc2
5928
5929 2009-11-07  Eric Blake  <ebb9@byu.net>
5930
5931         fflush, freadseek: use fseeko, not fseek
5932         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
5933         (clear_ungetc_buffer): Avoid potential problems on large files.
5934         * lib/freadseek.c (freadseek): Likewise.
5935         * modules/freadseek (Depends-on): Add fseeko.
5936         * modules/fseek (configure.ac): Set a witness.
5937         * tests/test-fflush.c (main): Use fseeko.
5938         * tests/test-fpurge.c (fseek): Disable link warning.
5939         * tests/test-freadable.c (fseek): Likewise.
5940         * tests/test-freading.c (fseek): Likewise.
5941         * tests/test-fseeko.c (fseek): Likewise.
5942         * tests/test-ftell.c (fseek): Likewise.
5943         * tests/test-ftello.c (fseek): Likewise.
5944         * tests/test-fwritable.c (fseek): Likewise.
5945         * tests/test-fwriting.c (fseek): Likewise.
5946
5947 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5948
5949         * modules/memchr (Depends-on): Drop getpagesize dependency.
5950
5951 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5952
5953         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
5954         Reported by Ludovic Courtès.
5955         * build-aux/pmccabe2html: Improve example usage.
5956         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
5957
5958 2009-11-06  Jim Meyering  <meyering@redhat.com>
5959
5960         do-release-commit-and-tag: New module.
5961         Automate the release-commit and tag process.
5962         * build-aux/do-release-commit-and-tag: New script, from coreutils.
5963         * modules/do-release-commit-and-tag: New file.
5964         * MODULES.html.sh (Support for maintaining and releasing): Add it.
5965
5966 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5967
5968         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
5969         because test-select.c uses inet_pton.
5970
5971 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5972
5973         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
5974         GETADDRINFO_LIB.  Bump serial number.
5975         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
5976         Suggested by Eric Blake <ebb9@byu.net>.
5977
5978 2009-11-05  Eric Blake  <ebb9@byu.net>
5979
5980         strtod: detect darwin bug
5981         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
5982         Reported by Leo Davis.
5983
5984         freopen-safer: new module
5985         * modules/freopen-safer: New module.
5986         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
5987         * lib/freopen-safer.c (freopen_safer): New file.
5988         * lib/stdio-safer.h (freopen_safer): New declaration.
5989         * lib/stdio--.h (freopen): New override.
5990         * MODULES.html.sh (File stream based Input/Output): Mention it.
5991         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
5992         freopen-safer module.
5993         * doc/posix-functions/stderr.texi (stderr): Likewise.
5994         * doc/posix-functions/stdin.texi (stdin): Likewise.
5995         * doc/posix-functions/stdout.texi (stdout): Likewise.
5996         * modules/freopen-safer-tests: New test.
5997         * tests/test-reopen-safer.c: New file.
5998
5999 2009-11-05  Jim Meyering  <meyering@redhat.com>
6000
6001         maint.mk: Prohibit inclusion of "close-stream.h" without use.
6002         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6003
6004 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6005
6006         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
6007
6008 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6009
6010         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
6011
6012 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6013
6014         Fix link error.
6015         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6016         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6017
6018 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6019
6020         * tests/test-func.c: Also test value of __func__.
6021
6022 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6023
6024         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
6025         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
6026
6027 2009-11-05  Bruno Haible  <bruno@clisp.org>
6028
6029         Fix link error.
6030         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6031         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6032         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
6033
6034 2009-11-05  Bruno Haible  <bruno@clisp.org>
6035
6036         Tests for module 'inet_pton'.
6037         * modules/inet_pton-tests: New file.
6038         * tests/test-inet_pton.c: New file.
6039
6040 2009-11-05  Bruno Haible  <bruno@clisp.org>
6041
6042         Tests for module 'inet_ntop'.
6043         * modules/inet_ntop-tests: New file.
6044         * tests/test-inet_ntop.c: New file.
6045
6046 2009-11-04  Eric Blake  <ebb9@byu.net>
6047
6048         stdlib-safer: wrap all mkstemp variants
6049         * modules/mkostemp (configure.ac): Set witness.
6050         * modules/mkostemps (configure.ac): Likewise.
6051         * modules/mkstemps (configure.ac): Likewise.
6052         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
6053         (mkstemps_safer): Wrap more functions.
6054         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
6055         wrapping.
6056         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
6057         (mkstemps_safer): Implement the wrappers.
6058
6059         mkstemps, mkostemps: new modules
6060         * modules/mkostemps: New module.
6061         * modules/mkstemps: Likewise.
6062         * lib/mkostemps.c (mkostemps): New file.
6063         * lib/mkstemps.c (mkstemps): Likewise.
6064         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
6065         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
6066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
6067         * modules/stdlib (Makefile.am): Substitute them.
6068         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
6069         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
6070         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6071         * doc/gnulib.texi (Glibc stdlib.h): Include them.
6072         * MODULES.html.sh (File system functions): Mention them.
6073
6074         tempname: resync from glibc
6075         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
6076         same values for __GT_FILE as glibc.  Abort even when assertions
6077         are disabled.
6078         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
6079         match its value otherwise.  Allow idempotent inclusion.
6080         * lib/mkdtemp.c (mkdtemp): Adjust caller.
6081         * lib/mkostemp.c (mkostemp): Likewise.
6082         * lib/mkstemp.c (mkstemp): Likewise.
6083         * lib/tmpfile.c (tmpfile): Likewise.
6084         * NEWS: Document this.
6085
6086         utimens: fix use of futimens on older Linux
6087         * lib/utimens.c (fdutimens): Use updated, rather than original,
6088         timespec to avoid bug in older Linux kernel.
6089         Reported by Simon Josefsson.
6090
6091 2009-11-04  Bruno Haible  <bruno@clisp.org>
6092
6093         Make num_processors more flexible and consistent.
6094         * lib/nproc.h (enum nproc_query): New type.
6095         (num_processors): Add a 'query' argument.
6096         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
6097         (num_processors): Add a 'query' argument. Test the value of the
6098         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
6099         mingw, count the number of CPUs available for the current process.
6100         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
6101         Check for sched_getaffinity and sched_getaffinity_np.
6102         * modules/nproc (Depends-on): Add c-ctype, extensions.
6103         * NEWS: Mention the change.
6104
6105 2009-11-03  Bruno Haible  <bruno@clisp.org>
6106
6107         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
6108
6109 2009-11-03  Jim Meyering  <meyering@redhat.com>
6110
6111         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
6112         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
6113         if it is defined.
6114
6115 2009-11-02  Eric Blake  <ebb9@byu.net>
6116
6117         mktime, timegm: share common declaration
6118         * lib/mktime-internal.h: New file.
6119         * lib/mktime.c: Use it rather than open-coding a declaration.
6120         * lib/timegm.c: Likewise.
6121         * modules/mktime (Files): Ship it.
6122         * modules/timegm (Files): Likewise.
6123         Suggested by Bruno Haible.
6124
6125         test-update-copyright: update test to match script changes
6126         * tests/test-update-copyright.sh: Avoid hard-coding perl
6127         location.  Don't update *.bak created by earlier runs.
6128
6129 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6130             Simon Josefsson  <simon@josefsson.org>
6131             Bruno Haible  <bruno@clisp.org>
6132
6133         Fix link error on Solaris 8.
6134         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
6135         also in libnsl. Define also INET_PTON_LIB.
6136         * modules/inet_pton (Link): New section.
6137
6138 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6139             Bruno Haible  <bruno@clisp.org>
6140
6141         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
6142         * modules/inet_ntop (Link): New section.
6143         Reported by Boyan Kasarov <bkasarov@gmail.com>.
6144
6145 2009-11-02  Eric Blake  <ebb9@byu.net>
6146
6147         maint: avoid compiler warnings in m4 macros
6148         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
6149         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
6150
6151 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6152
6153         * m4/pmccabe2html.m4: Remove file.
6154         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
6155         function.  Change maintainer.
6156         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
6157         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
6158         Courtès).
6159
6160 2009-10-31  Eric Blake  <ebb9@byu.net>
6161
6162         fseeko: fix m4 regression
6163         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
6164         regression from 2009-10-27.
6165         Reported by Ralf Wildenhues.
6166
6167 2009-10-31  Jim Meyering  <meyering@redhat.com>
6168
6169         inttostr: aesthetics and improved (compile-time) safety
6170         Define inttype_is_signed rather than inttype_is_unsigned,
6171         since the sole use is via "#if inttype_is_signed".
6172         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
6173         inttype_is_unsigned.
6174         * lib/offtostr.c (inttype_is_signed): Likewise.
6175         * lib/uinttostr.c (inttype_is_signed): Likewise.
6176         * lib/umaxtostr.c (inttype_is_signed): Likewise.
6177         * lib/inttostr.c (inttostr): Use verify to cross-check the
6178         inttype_is_signed value and the signedness of the actual type.
6179         * modules/inttostr (Depends-on): Add verify.
6180
6181 2009-10-30  Eric Blake  <ebb9@byu.net>
6182
6183         build: avoid compiler warnings
6184         * lib/fchmodat.c (lchmod): Mark unused variables.
6185         * lib/getopt.c (_getopt_initialize): Likewise.
6186         * lib/mktime.c (__mktime_internal): Provide prototype.
6187         * lib/inttostr.c (inttostr): Avoid compiler warning even with
6188         older gcc that do not understand #pragma GCC diagnostic.
6189         * lib/uinttostr.c (inttype_is_unsigned): Define.
6190         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
6191
6192 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6193
6194         stat: fix compilation on AIX
6195         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
6196         only see struct stat64.
6197
6198 2009-10-30  Eric Blake  <ebb9@byu.net>
6199
6200         exclude: make more robust
6201         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
6202         rather than masking a coding bug.
6203         Suggested by Bruno Haible.
6204
6205 2009-10-30  Jim Meyering  <meyering@redhat.com>
6206
6207         perl scripts: remove #!/usr/bin/perl in favor of more portable...
6208         Rather than putting #!/usr/bin/perl on the first line,
6209         start with a variant of what's recommended by "man perlrun" that
6210         invokes the first "perl" program from your shell's search path.
6211         * build-aux/gitlog-to-changelog: Replace #!... as above.
6212         Add a "Local Variables" perl mode setting.
6213         Prompted by a patch from Ludovic Courtès.
6214         Improved by Eric Blake.
6215         * build-aux/useless-if-before-free: Likewise.
6216         * build-aux/announce-gen: Likewise.
6217         * build-aux/update-copyright: Likewise.
6218
6219 2009-10-29  Eric Blake  <ebb9@byu.net>
6220
6221         filenamecat-lgpl: adjust clients
6222         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
6223         filenamecat.
6224         * modules/renameat (Depends-on): Likewise.
6225
6226         filenamecat: split into filenamecat-lgpl
6227         * modules/filenamecat-lgpl: New module.
6228         * modules/filenamecat (Files): Move library-safe files into
6229         filenamecat-lgpl.
6230         (Depends-on): Add filenamecat-lgpl.
6231         (configure.ac): Declare witness.
6232         * lib/filenamecat.h (file_name_concat): Only declare when using
6233         GPL module.
6234         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
6235         Move...
6236         * lib/filenamecat-lgpl.c: ...into new file.
6237         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
6238         (gl_FILE_NAME_CONCAT): Use it.
6239         * MODULES.html.sh (File system functions): Mention new module.
6240
6241         argp: avoid memory leak
6242         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
6243         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
6244         base_name, since the latter malloc()s and can call exit().
6245         Leak introduced 2006-07-03.
6246
6247         dirname-lgpl: adjust clients that don't need full dirname
6248         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
6249         * modules/filenamecat (Depends-on): Likewise.
6250         * modules/linkat (Depends-on): Likewise.
6251         * modules/mkancesdirs (Depends-on): Likewise.
6252         * modules/mkdir (Depends-on): Likewise.
6253         * modules/openat (Depends-on): Likewise.
6254         * modules/savewd (Depends-on): Likewise.
6255         * modules/rename (Depends-on): Likewise.
6256         (License): Relax license.
6257         * modules/mkdir-tests (Depends-on): Drop progname.
6258         (Makefile.am): Delete unneeded LDADD.
6259         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
6260
6261         dirname: split into dirname-lgpl
6262         * modules/dirname-lgpl: New module.
6263         * modules/dirname (Files): Move library-safe files into
6264         dirname-lgpl.
6265         (Depends-on): Add dirname-lgpl.
6266         (configure.ac): Declare witness.
6267         * modules/double-slash-root (License): Relax license.
6268         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
6269         module.
6270         * lib/dirname.c (dir_len, mdir_name): Move...
6271         * lib/dirname-lgpl.c: ...into new file.
6272         * lib/basename.c (last_component, base_len): Move...
6273         * lib/basename-lgpl.c: ...into new file.
6274         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
6275         (gl_DIRNAME): Use it.
6276         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
6277         Mention new module.
6278         * modules/dirname-tests (Depends-on): Add progname.
6279         * tests/test-dirname.c (program_name): Delete.
6280
6281         mkdir: make safe for libraries
6282         * modules/mkdir (Depends-on): Drop xalloc.
6283         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
6284         exit.
6285
6286         tests: avoid some compiler warnings
6287         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
6288         literals.
6289         * tests/test-memchr.c (main): Avoid type mismatch.
6290         * tests/test-arpa_inet.c (main): Avoid unused parameters.
6291         * tests/test-base64.c (main): Likewise.
6292         * tests/test-getdelim.c (main): Likewise.
6293         * tests/test-gethostname.c (main): Likewise.
6294         * tests/test-getline.c (main): Likewise.
6295         * tests/test-netinet_in.c (main): Likewise.
6296         * tests/test-select.c (open_server_socket, main): Likewise.
6297         * tests/test-select-stdin.c (main): Likewise.
6298         * tests/test-sockets.c (main): Likewise.
6299         * tests/test-strsignal.c (main): Likewise.
6300         * tests/test-sys_select.c (main): Likewise.
6301         * tests/test-sys_socket.c (main): Likewise.
6302         * tests/test-u64.c (main): Likewise.
6303         * tests/test-xfprintf-posix.c (main): Likewise.
6304         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
6305
6306         sockets: avoid compiler warning
6307         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
6308
6309         maint: detect usage(1) and other suspicious exits
6310         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
6311
6312 2009-10-29  Jim Meyering  <meyering@redhat.com>
6313
6314         timespec: long-to-int truncation could make timespec_cmp malfunction
6315         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
6316         a multiple of 2^32 nanoseconds as no difference.
6317
6318 2009-10-28  Jim Meyering  <meyering@redhat.com>
6319
6320         fprintftime: wrap macro code argument in "do {...} while(0)"
6321         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
6322         cpy macro must be a statement that can be followed by a semicolon.
6323         Now that the else clause contains a comment and is hence longer
6324         than one line, I require curly braces.  That in turn requires
6325         that we wrap this code block in the standard do...while(0).
6326
6327         fprintftime: remove stray semicolon from previous change
6328         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
6329
6330         fprintftime: avoid a warning about ignored fwrite return value
6331         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
6332         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
6333         that is unsafe.
6334         * modules/fprintftime (Depends-on): Add ignore-value.
6335
6336         exclude: avoid an unwarranted warning
6337         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
6338
6339 2009-10-27  Eric Blake  <ebb9@byu.net>
6340
6341         fseek: avoid compilation failure when fflush is replaced
6342         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
6343         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
6344         module is in use.
6345         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
6346         module is not in use; since REPLACE_FSEEK worked otherwise.
6347         (GNULIB_FTELLO): Likewise for ftell.
6348         Reported by Ian Beckwith and others.
6349
6350 2009-10-27  Bruno Haible  <bruno@clisp.org>
6351
6352         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
6353         Reported by Jim Meyering.
6354
6355 2009-10-27  Jim Meyering  <jim@meyering.net>
6356             Bruno Haible  <bruno@clisp.org>
6357
6358         Avoid warning despite dropping the return value of fwrite.
6359         * lib/unicodeio.c: Include ignore-value.h.
6360         (fwrite_success_callback): Explicitly ignore fwrite's return value.
6361         * modules/unicodeio (Depends-on): Add ignore-value.
6362
6363 2009-10-26  Eric Blake  <ebb9@byu.net>
6364
6365         areadlinkat: fix fallback path
6366         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
6367         pointer and zero.
6368
6369 2009-10-22  Pádraig Brady  <P@draigBrady.com>
6370
6371         Use a better IO block size for modern systems
6372         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
6373         * lib/md2.c: Likewise.
6374         * lib/md4.c: Likewise.
6375         * lib/md5.c: Likewise.
6376         * lib/sha1.c: Likewise.
6377         * lib/sha256.c: Likewise.
6378         * lib/sha512.c: Likewise.
6379
6380 2009-10-22  Eric Blake  <ebb9@byu.net>
6381
6382         tests: avoid several compiler warnings
6383         * tests/test-getcwd.c (main): Avoid buffer underflow.
6384         * tests/test-getdate.c (main): String literals are not safe with
6385         putenv, so use setenv.  Declare unused argument.
6386         * modules/getdate-tests (Depends-on): Add setenv.
6387         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
6388         problems with string literals in char *.
6389         * tests/test-hash.c (main): Avoid shadowing declaration.
6390         (insert_new): Treat string literals as char const *.
6391         * tests/test-getopt.h (test_getopt): Likewise.
6392         (getopt_loop): Alter types to minimize casting elsewhere.
6393         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
6394         (test_getopt_long_posix): Likewise.
6395         (do_getopt_long): Add wrapper to minimize casting.
6396         * tests/test-atexit.c (clear_temp_file): Use void.
6397         * tests/test-areadlink-with-size.c (main): Declare unused
6398         arguments.
6399         * tests/test-areadlink.c (main): Likewise.
6400         * tests/test-areadlinkat-with-size.c (main): Likewise.
6401         * tests/test-areadlinkat.c (main): Likewise.
6402         * tests/test-canonicalize-lgpl.c (main): Likewise.
6403         * tests/test-canonicalize.c (main): Likewise.
6404         * tests/test-dirent-safer.c (main): Likewise.
6405         * tests/test-dirname.c (main): Likewise.
6406         * tests/test-dup2.c (main): Likewise.
6407         * tests/test-fchdir.c (main): Likewise.
6408         * tests/test-fcntl-h.c (main): Likewise.
6409         * tests/test-fcntl-safer.c (main): Likewise.
6410         * tests/test-fdopendir.c (main): Likewise.
6411         * tests/test-fdutimensat.c (main): Likewise.
6412         * tests/test-fflush.c (main): Likewise.
6413         * tests/test-filenamecat.c (main): Likewise.
6414         * tests/test-filevercmp.c (main): Likewise.
6415         * tests/test-fopen-safer.c (main): Likewise.
6416         * tests/test-fopen.c (main): Likewise.
6417         * tests/test-fpending.c (main): Likewise.
6418         * tests/test-fpurge.c (main): Likewise.
6419         * tests/test-freading.c (main): Likewise.
6420         * tests/test-fstatat.c (main): Likewise.
6421         * tests/test-fsync.c (main): Likewise.
6422         * tests/test-futimens.c (main): Likewise.
6423         * tests/test-getndelim2.c (main): Likewise.
6424         * tests/test-gettimeofday.c (main): Likewise.
6425         * tests/test-getopt.c (main): Likewise.
6426         * tests/test-i-ring.c (main): Likewise.
6427         * tests/test-inttypes.c (main): Likewise.
6428         * tests/test-link.c (main): Likewise.
6429         * tests/test-lstat.c (main): Likewise.
6430         * tests/test-math.c (main): Likewise.
6431         * tests/test-md5.c (main): Likewise.
6432         * tests/test-memchr2.c (main): Likewise.
6433         * tests/test-memrchr.c (main): Likewise.
6434         * tests/test-mkdir.c (main): Likewise.
6435         * tests/test-mkdirat.c (main): Likewise.
6436         * tests/test-mkfifoat.c (main): Likewise.
6437         * tests/test-open.c (main): Likewise.
6438         * tests/test-openat-safer.c (main): Likewise.
6439         * tests/test-openat.c (main): Likewise.
6440         * tests/test-quotearg.c (main): Likewise.
6441         * tests/test-rawmemchr.c (main): Likewise.
6442         * tests/test-readlink.c (main): Likewise.
6443         * tests/test-remove.c (main): Likewise.
6444         * tests/test-rename.c (main): Likewise.
6445         * tests/test-renameat.c (main): Likewise.
6446         * tests/test-rmdir.c (main): Likewise.
6447         * tests/test-sha1.c (main): Likewise.
6448         * tests/test-signal.c (main): Likewise.
6449         * tests/test-sigaction.c (main): Likewise.
6450         * tests/test-stat.c (main): Likewise.
6451         * tests/test-stat-time.c (main): Likewise.
6452         * tests/test-stddef.c (main): Likewise.
6453         * tests/test-stdint.c (main): Likewise.
6454         * tests/test-stdio.c (main): Likewise.
6455         * tests/test-stdlib.c (main): Likewise.
6456         * tests/test-strchrnul.c (main): Likewise.
6457         * tests/test-strerror.c (main): Likewise.
6458         * tests/test-string.c (main): Likewise.
6459         * tests/test-strtod.c (main): Likewise.
6460         * tests/test-strverscmp.c (main): Likewise.
6461         * tests/test-symlink.c (main): Likewise.
6462         * tests/test-symlinkat.c (main): Likewise.
6463         * tests/test-sys_stat.c (main): Likewise.
6464         * tests/test-sys_time.c (main): Likewise.
6465         * tests/test-time.c (main): Likewise.
6466         * tests/test-unistd.c (main): Likewise.
6467         * tests/test-unlink.c (main): Likewise.
6468         * tests/test-unlinkat.c (main): Likewise.
6469         * tests/test-utimens.c (main): Likewise.
6470         * tests/test-utimensat.c (main): Likewise.
6471         * tests/test-version-etc.c (main): Likewise.
6472         * tests/test-wchar.c (main): Likewise.
6473         * tests/test-wctype.c (main): Likewise.
6474         * tests/test-xprintf-posix.c (main): Likewise.
6475         * tests/test-posixtm.c (main): Likewise.
6476         (STREQ): Delete unused macro.
6477         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
6478         shadowed variables.
6479         * tests/test-memchr.c (main): Likewise.
6480
6481 2009-10-21  Eric Blake  <ebb9@byu.net>
6482
6483         areadlinkat: avoid failure on older glibc
6484         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
6485         rather than mis-comparing 0 against FUNC_RESULT of char*.
6486
6487 2009-10-21  Bruno Haible  <bruno@clisp.org>
6488
6489         * modules/stpncpy (License): Relicense under LGPLv2+.
6490         Reported by David Lutterkort <lutter@redhat.com>.
6491
6492 2009-10-20  Eric Blake  <ebb9@byu.net>
6493
6494         utimensat: work around Solaris 9 bug
6495         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
6496         has trailing slash bugs.
6497         * tests/test-lutimens.h (test_lutimens): Enhance test.
6498         * tests/test-utimens.h (test_utimens): Likewise.
6499         * doc/posix-functions/utime.texi (utime): Enhance documentation.
6500         * doc/posix-functions/utimes.texi (utimes): Likewise.
6501         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6502         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
6503         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
6504         * doc/posix-functions/futimens.texi (futimens): Likewise.
6505
6506         fdutimensat: new module
6507         * modules/fdutimensat: New file.
6508         * lib/fdutimensat.c (fdutimensat): Likewise.
6509         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
6510         * MODULES.html.sh (File system functions): Mention module.
6511         * modules/fdutimensat-tests: New test.
6512         * tests/test-fdutimensat.c: Likewise.
6513
6514         doc: regenerate INSTALL
6515         * doc/INSTALL: Reflect recent autoconf update.
6516         * doc/INSTALL.ISO: Likewise.
6517         * doc/INSTALL.UTF-8: Likewise.
6518
6519 2009-10-20  Pádraig Brady  <P@draigBrady.com>
6520
6521         acl: warn if ACL support is not detected
6522         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
6523
6524 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
6525
6526         * lib/nproc.h: Add extern "C" block for C++.
6527
6528 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
6529             Bruno Haible  <bruno@clisp.org>
6530
6531         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
6532         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
6533         * doc/posix-functions/isalpha.texi: Likewise.
6534         * doc/posix-functions/isblank.texi: Likewise.
6535         * doc/posix-functions/iscntrl.texi: Likewise.
6536         * doc/posix-functions/isdigit.texi: Likewise.
6537         * doc/posix-functions/isgraph.texi: Likewise.
6538         * doc/posix-functions/islower.texi: Likewise.
6539         * doc/posix-functions/isprint.texi: Likewise.
6540         * doc/posix-functions/ispunct.texi: Likewise.
6541         * doc/posix-functions/isspace.texi: Likewise.
6542         * doc/posix-functions/isupper.texi: Likewise.
6543         * doc/posix-functions/isxdigit.texi: Likewise.
6544
6545 2009-10-18  Bruno Haible  <bruno@clisp.org>
6546
6547         Tests for module 'isblank'.
6548         * modules/isblank-tests: New file.
6549         * tests/test-isblank.c: New file.
6550
6551         New module 'isblank'.
6552         * lib/isblank.c: New file.
6553         * m4/isblank.m4: New file.
6554         * modules/isblank: New file.
6555         * doc/posix-functions/isblank.texi: Mention the new module.
6556
6557 2009-10-18  Bruno Haible  <bruno@clisp.org>
6558
6559         New module 'ctype'.
6560         * lib/ctype.in.h: New file.
6561         * m4/ctype.m4: New file.
6562         * modules/ctype: New file.
6563         * doc/posix-headers/ctype.texi: Mention the new module.
6564
6565 2009-10-18  Jim Meyering  <meyering@redhat.com>
6566
6567         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
6568         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
6569         right after its initialization, rather than farther down.
6570         Keeping these in close proximity makes it easier to ensure
6571         that each such variable is initialized.  E.g.,
6572
6573             LIB_CLOCK_GETTIME=
6574             AC_SUBST([LIB_CLOCK_GETTIME])
6575
6576         This change also increments these serial numbers.
6577         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
6578         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
6579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6580
6581 2009-10-18  Bruno Haible  <bruno@clisp.org>
6582
6583         Don't let environment variables perturb build.
6584         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
6585         (gl_PREREQ_GETHRXTIME): ... not here.
6586
6587 2009-10-18  Bruno Haible  <bruno@clisp.org>
6588
6589         Avoid symlink attack in localcharset module.
6590         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
6591         (O_NOFOLLOW): Define fallback.
6592         (get_charset_aliases): Don't open the file if it is a symbolic link.
6593         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
6594         gl_FCNTL_H.
6595         (gl_FCNTL_H): Require it.
6596         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
6597         * modules/localcharset (Files): Add m4/fcntl_h.m4.
6598         Reported by Fergal Glynn <fglynn@veracode.com>.
6599
6600 2009-10-18  Bruno Haible  <bruno@clisp.org>
6601
6602         Implement nproc for mingw.
6603         * lib/nproc.c: Include <windows.h>
6604         (num_processors): On native Windows platforms, try GetSystemInfo.
6605
6606 2009-10-18  Bruno Haible  <bruno@clisp.org>
6607
6608         Implement nproc for IRIX.
6609         * lib/nproc.c: Include <sys/sysmp.h>.
6610         (num_processors): On IRIX systems, try sysmp.
6611         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
6612
6613 2009-10-18  Bruno Haible  <bruno@clisp.org>
6614
6615         Implement nproc for HP-UX.
6616         * lib/nproc.c: Include <sys/pstat.h>
6617         (num_processors): On HP-UX systems, try pstat_getdynamic.
6618         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
6619         pstat_getdynamic.
6620
6621 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
6622             Bruno Haible  <bruno@clisp.org>
6623
6624         Implement nproc for NetBSD, OpenBSD.
6625         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
6626         (ARRAY_SIZE): New macro.
6627         (num_processors): On BSD systems, try sysctl of HW_NCPU.
6628         * m4/nproc.m4: New file.
6629         * modules/nproc (Files): Add m4/nproc.m4.
6630         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
6631         (Makefile.am): Instead, augment lib_SOURCES.
6632
6633 2009-10-18  Bruno Haible  <bruno@clisp.org>
6634
6635         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
6636         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
6637         sys/param.h.
6638
6639 2009-10-16  Eric Blake  <ebb9@byu.net>
6640
6641         utimensat: new module
6642         * modules/utimensat: New file.
6643         * lib/utimensat.c (utimensat): Likewise.
6644         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6645         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
6646         so we can work around Linux bugs.
6647         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6648         * modules/sys_stat (Makefile.am): Substitute them.
6649         * lib/sys_stat.in.h (utimensat): Declare it.
6650         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6651         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6652         * modules/utimensat-tests: New test.
6653         * tests/test-utimensat.c: Likewise.
6654
6655         utimens: let lutimens work on non-symlinks
6656         * lib/utimens.c (lutimens): Fall back to utimens rather than
6657         failing with ENOSYS, when file is not a symlink.
6658         (utimens): Reduce redirection.
6659         * tests/test-lutimens.h (test_lutimens): Update test to cover
6660         non-symlinks.
6661         * tests/test-utimens.h (test_utimens): Update test to cover
6662         symlinks.
6663         * tests/test-utimens.c (main): Update caller.
6664
6665         utimens: cache whether utimensat syscall works
6666         * lib/utimens.c (utimensat_works_really): New cache variable.
6667         (fdutimens, lutimens): Use it to avoid failing syscall.
6668
6669         test-stat-time, test-utimens: improve portability
6670         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
6671         ext4 on alpha, and for cygwin.
6672         * tests/test-utimens-common.h: New file.
6673         (nap): Factor delays into single function.
6674         * tests/test-lutimens.h (test_lutimens): Use new header.
6675         * tests/test-futimens.h (test_futimens): Likewise.
6676         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
6677         timestamps to occur from same machine, as was done previously for
6678         test_utimens.
6679         * modules/utimens-tests (Files): Ship new file.
6680         * modules/futimens-tests (Files): Likewise.
6681         Reported in part by Jim Meyering.
6682
6683         sys_stat: sort replacement declarations
6684         * lib/sys_stat.in.h: Sort declarations.
6685         * lib/futimens.c (futimens): Fix typo.
6686
6687 2009-10-15  Jim Meyering  <meyering@redhat.com>
6688
6689         don't let environment settings perturb build
6690         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
6691         could cause a configure-time and/or build-time malfunction.
6692         Typically, a configure-time function-in-library test is performed
6693         via code like this:
6694
6695           LIB_VAR=
6696           AC_SUBST([LIB_VAR])
6697           prefix_saved_LIBS=$LIBS
6698             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
6699                        [test "$ac_cv_search_FUNC" = "none required" ||
6700                         LIB_VAR=$ac_cv_search_FUNC])
6701           LIBS=$prefix_saved_LIBS
6702
6703         However, in each of the files affected by this change, the LIB_VAR=
6704         initialization was omitted.  Thus, when set in the environment, its
6705         value would propagate into generated Makefiles when FUNC is not found
6706         in LIB_NAME.
6707         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
6708         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
6709         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6710
6711 2009-10-14  Eric Blake  <ebb9@byu.net>
6712
6713         fchdir: avoid infinite recursion in mingw
6714         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
6715         recursing.
6716
6717         test-stat-time: port to mingw
6718         * tests/test-stat-time.c (force_unlink): Return a value.
6719         (test_ctime) [W32]: Fix compilation error.
6720         (nap): Don't call usleep with too large an argument.  Use
6721         force_unlink.
6722         * doc/pastposix-functions/usleep.texi (usleep): Document the
6723         portability issue.
6724
6725 2009-10-13  Jim Meyering  <meyering@redhat.com>
6726
6727         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
6728         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
6729         * modules/pipe-filter-ii: Likewise.
6730         * modules/sys_socket-tests: Likewise.
6731         * modules/tsearch-tests: Likewise.
6732         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
6733         (check): Depend on it.
6734
6735 2009-10-12  Eric Blake  <ebb9@byu.net>
6736
6737         utimens-tests: port to NFS file systems
6738         * tests/test-utimens.h (test_utimens): Refactor utimecmp
6739         comparisons to avoid spurious failures from timestamp drift
6740         between NFS machines.
6741
6742 2009-10-12  Eric Blake  <ebb9@byu.net>
6743
6744         stat-time-tests: minor cleanups
6745         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
6746         * tests/test-stat-time.c (nap): Separate assignment from call.
6747         Suggested by Paolo Bonzini and Bruno Haible.
6748
6749         sys_stat: guarantee struct timespec
6750         * lib/sys_stat.in.h (includes): Always include <time.h>
6751         * modules/sys_stat (Depends-on): Add time.
6752         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
6753         mode_t permission values.
6754         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
6755         get at subsecond timestamps.
6756
6757 2009-10-10  Eric Blake  <ebb9@byu.net>
6758
6759         futimens: new module
6760         * modules/futimens: New file.
6761         * lib/futimens.c (futimens): Likewise.
6762         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
6763         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
6764         we can work around Linux bugs.
6765         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6766         * modules/sys_stat (Makefile.am): Substitute them.
6767         * lib/sys_stat.in.h (futimens): Declare it.
6768         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6769         * doc/posix-functions/futimens.texi (futimens): Likewise.
6770         * modules/futimens-tests: New test.
6771         * tests/test-futimens.c: Likewise.
6772
6773         utimens: introduce fdutimens
6774         * lib/utimens.h (fdutimens): New prototype.
6775         * lib/utimens.c (gl_futimens): Move guts...
6776         (fdutimens): ...to new interface.
6777         * tests/test-utimens.c (do_fdutimens): Use it.
6778
6779         utimens: add UTIME_NOW and UTIME_OMIT support
6780         * lib/utimens.c (validate_timespec, update_timespec): New helper
6781         functions.
6782         (gl_futimens, lutimens): Use them.
6783         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
6784         stdbool, sys_stat.
6785         (Link): Mention resulting library dependency.
6786         * modules/utimecmp (Link): Likewise.
6787         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
6788         (Makefile.am): Pick up library dependency.
6789         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
6790         definition.
6791         * tests/test-sys_stat.c: Test the definitions.
6792         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
6793         * NEWS: Document library dependency.
6794
6795         utimecmp: support symlink timestamps
6796         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
6797         hashing when possible.  Use pathconf when available.
6798         (SYSCALL_RESOLUTION): Recognize tighter resolution.
6799         * modules/utimecmp (Depends-on): Add lstat.
6800
6801         utimens: add lutimens interface
6802         * lib/utimens.c (lutimens): New function.
6803         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
6804         * lib/utimens.h (lutimens): Declare new interface.
6805         * tests/test-utimens.c (main): Enhance test.
6806         * tests/test-lutimens.h (test_lutimens): New file.
6807         * modules/utimens-tests (Files): Distribute it.
6808         (Depends-on): Add symlink.
6809         (configure.ac): Check for usleep.
6810
6811         utimens: validate futimens usage
6812         * lib/utimens.c (gl_futimens): Require valid fd up front, using
6813         fewer syscalls on failure later on.  Avoid compiler warning on
6814         mingw.
6815         * modules/utimens (Depends-on): Add dup2.
6816
6817         utimens: add test
6818         * modules/utimens-tests: New test.
6819         * tests/test-utimens.h: New file.
6820         * tests/test-futimens.h: Likewise.
6821         * tests/test-utimens.c: Likewise.
6822
6823         doc: mention timestamp portability issues
6824         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
6825         instead.
6826         * doc/posix-functions/utime.texi (utime): Likewise.
6827         * doc/posix-functions/utimes.texi (utimes): Likewise.
6828         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
6829         instead.
6830         * doc/posix-functions/futimens.texi (futimens): Mention utimens
6831         module.
6832         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6833         Mention weakness with symlink timestamps.
6834         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
6835         to utimensat/futimens instead.
6836         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
6837
6838         test-dup2: enhance test
6839         * tests/test-dup2.c (main): Also check AT_FDCWD.
6840
6841         test-stat-time: avoid more spurious failures
6842         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
6843         xfs; and avoid race if the two timestamps cross quantization edge.
6844
6845         relocatable: prefer 'file system' over 'filesystem'
6846         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
6847         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
6848         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
6849         * doc/relocatable.texi (Enabling Relocatability): Likewise.
6850         * lib/relocatable.c (compute_curr_prefix): Likewise.
6851
6852 2009-10-10  Jim Meyering  <meyering@redhat.com>
6853
6854         stat-time-tests: check for the usleep function
6855         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
6856
6857 2009-10-10  Bruno Haible  <bruno@clisp.org>
6858
6859         * modules/xnanosleep: Put the Link section after the Include section.
6860
6861 2009-10-09  Eric Blake  <ebb9@byu.net>
6862
6863         dup2: work around FreeBSD 6.1 bug
6864         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
6865         * doc/posix-functions/dup2.texi (dup2): Document it.
6866         Reported by Nelson H. F. Beebe and Jim Meyering.
6867
6868         test-stat-time: port to buggy NFS clients
6869         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
6870         (test_ctime): Also skip test if mtime and ctime are skewed.
6871
6872         maint: prefer 'file system' over 'filesystem'
6873         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
6874         * doc/posix-functions/lstat.texi (lstat): Likewise.
6875         * lib/file-has-acl.c (file_has_acl): Likewise.
6876         * lib/fwriteerror.c [TEST]: Likewise.
6877         * tests/test-areadlink.h (test_areadlink): Likewise.
6878         * tests/test-areadlinkat-with-size.c (main): Likewise.
6879         * tests/test-areadlinkat.c (main): Likewise.
6880         * tests/test-canonicalize-lgpl.c (main): Likewise.
6881         * tests/test-canonicalize.c (main): Likewise.
6882         * tests/test-fstatat.c (main): Likewise.
6883         * tests/test-linkat.c (main): Likewise.
6884         * tests/test-lstat.h (test_lstat_func): Likewise.
6885         * tests/test-mkdir.h (test_mkdir): Likewise.
6886         * tests/test-readlink.h (test_readlink): Likewise.
6887         * tests/test-remove.c (main): Likewise.
6888         * tests/test-rename.h (test_rename): Likewise.
6889         * tests/test-renameat.c (main): Likewise.
6890         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6891         * tests/test-symlink.h (test_symlink): Likewise.
6892         * tests/test-symlinkat.c (main): Likewise.
6893         * tests/test-unlink.h (test_unlink_func): Likewise.
6894         * tests/test-unlinkat.c (main): Likewise.
6895
6896         maint: make realtime library usage explicit
6897         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
6898         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
6899         * modules/settime (Link): Likewise.
6900         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
6901
6902         test-stat-time: speed up execution
6903         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
6904         warning on mingw.
6905         (nap): New helper function.
6906         (prepare_test): Use it to reduce sleep time.
6907         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
6908         execution.
6909         * modules/stat-time-tests (configure.ac): Check for usleep.
6910
6911 2009-10-09  Jim Meyering  <meyering@redhat.com>
6912
6913         selinux-h: always use getfilecon wrappers
6914         * lib/getfilecon.c: New file.
6915         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
6916         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
6917         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
6918         (fgetfilecon): Provide a stub.
6919         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
6920         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
6921         file unconditionally.
6922         When <selinux/selinux.h> is found, arrange to use wrappers.
6923         * modules/selinux-h (Files): Add getfilecon.c.
6924         (Makefile.am): Substitute include-next-related bits
6925         into the now-always-generated selinux/selinux.h file.
6926         * doc/glibc-functions/lgetfilecon.texi: New file.
6927         * doc/glibc-functions/fgetfilecon.texi: New file.
6928         * doc/glibc-functions/getfilecon.texi: New file.
6929         * doc/glibc-functions/getfilecon-desc.texi: New file.
6930         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
6931         which to pull in the new files.
6932         * MODULES.html.sh (Misc): Add selinux-h.
6933
6934 2009-10-08  Jim Meyering  <meyering@redhat.com>
6935
6936         unistd: fix comment typo
6937         * lib/unistd.in.h (euidaccess): Fix a comment typo.
6938
6939 2009-10-08  Eric Blake  <ebb9@byu.net>
6940
6941         areadlink: use SIZE_MAX consistently
6942         * modules/areadlink (Depends-on): Add stdint.
6943         * modules/areadlink-with-size (Depends-on): Likewise.
6944         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
6945         gives NULL; drop sys/types, since unistd gives size_t; and add
6946         stdint for SIZE_MAX.
6947         (SIZE_MAX): Rely on headers.
6948         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
6949         and add stdint.
6950         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
6951         (SIZE_MAX): Likewise.
6952         (INITIAL_BUF_SIZE): Turn into enum.
6953         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
6954
6955 2009-10-08  Jim Meyering  <meyering@redhat.com>
6956
6957         areadlinkat: avoid compilation failure
6958         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
6959         Fix typo in comment.
6960
6961 2009-10-07  Eric Blake  <ebb9@byu.net>
6962
6963         areadlinkat-with-size: new module
6964         * modules/areadlinkat-with-size: New module.
6965         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
6966         * lib/areadlink.h (areadlinkat): Declare it.
6967         * MODULES.html.sh (File system functions): Mention it.
6968         * modules/areadlinkat-with-size-tests: New test.
6969         * tests/test-areadlinkat-with-size.c: New file.
6970
6971         xreadlinkat: new module
6972         * modules/xreadlinkat: New module.
6973         * lib/xreadlinkat.c (xreadlinkat): New file.
6974         * lib/xreadlink.h (xreadlinkat): Declare it.
6975         * MODULES.html.sh (File system functions): Mention it.
6976
6977         areadlinkat: new module
6978         * lib/at-func.c (FUNC_FAIL): New define.
6979         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
6980         * modules/areadlinkat: New module.
6981         * lib/linkat.c (areadlinkat): Move...
6982         * lib/areadlinkat.c (areadlinkat): ...to new file.
6983         * lib/areadlink.h (areadlinkat): Declare it.
6984         * modules/linkat (Depends-on): Add areadlinkat.
6985         * MODULES.html.sh (File system functions): Mention it.
6986         * modules/areadlinkat-tests: New test.
6987         * tests/test-areadlinkat.c: New file.
6988
6989         areadlink, areadlink-with-size: add tests
6990         * modules/areadlink-tests: New test.
6991         * modules/areadlink-with-size-tests: Likewise.
6992         * tests/test-areadlink.h: New file.
6993         * tests/test-areadlink.c: Likewise.
6994         * tests/test-areadlink-with-size.c: Likewise.
6995
6996         maint: minor cleanups
6997         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
6998         _UNUSED_PARAMETER_ instead.
6999         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
7000         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
7001         * modules/linkat-tests (Files): Distribute test-link.h.
7002
7003         openat, utimens: whitespace cleanup
7004         * lib/openat.c: Prefer space throughout, rather than mix of 8
7005         spaces vs. tabs.
7006         * lib/at-func.c: Likewise.
7007         * lib/utimens.c: Likewise.
7008
7009         openat: avoid using wrong fd
7010         * lib/openat.c (openat_permissive): Reject user's fd if saving the
7011         working directory chooses same fd.
7012         * lib/at-func.c (AT_FUNC_NAME): Likewise.
7013
7014         mkdir, mkdirat: fix cygwin 1.5.x bug
7015         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
7016         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
7017         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
7018         bug.
7019         (gl_PREREQ_MKDIR): Delete unused macro.
7020         * modules/mkdir (Files): Track file rename.
7021         (configure.ac): Update macro name.
7022         * modules/openat (Depends-on): Add mkdir.
7023         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
7024
7025         mkdir, mkdirat: add tests
7026         * modules/mkdir-tests: New test.
7027         * tests/test-mkdir.h: New file.
7028         * tests/test-mkdir.c: Likewise.
7029         * tests/test-mkdirat.c: Likewise.
7030         * modules/openat-tests (Files): Add new files.
7031         (Makefile.am): Run new test.
7032
7033 2009-10-06  Eric Blake  <ebb9@byu.net>
7034
7035         doc: tweak *at function documentation
7036         * doc/posix-functions/faccessat.texi (faccessat): Mention
7037         known issue with replacement.
7038         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
7039         * doc/posix-functions/linkat.texi (linkat): Likewise.
7040         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7041         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7042         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7043         * doc/posix-functions/renameat.texi (renameat): Likewise.
7044         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7045
7046         openat: fix GNU/Hurd bug in unlinkat
7047         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
7048         broken.
7049         * doc/posix-functions/unlink.texi (unlink): Document this.
7050         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
7051
7052         fdopendir: fix GNU/Hurd bug
7053         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
7054         allowing non-directory fds.
7055         * lib/fdopendir.c (rpl_fdopendir): Work around it.
7056         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
7057         * modules/dirent (Makefile.am): Substitute it.
7058         * lib/dirent.in.h (fdopendir): Declare replacement.
7059         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
7060         * tests/test-fdopendir.c (main): Test something other than
7061         /dev/null, since on Hurd that behaves like a directory.
7062
7063         test-symlink: port to GNU/Hurd
7064         * tests/test-symlink.h (test_symlink): Relax expected errno.
7065
7066         doc: tweak more cygwin information
7067         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
7068         now compatible with glibc.
7069         * doc/posix-functions/getopt.texi (getopt): Likewise.
7070
7071         getopt-gnu: add another test
7072         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
7073         guarantee behavior relied on by m4.
7074         * tests/test-getopt.c (main): Use it.
7075         * modules/getopt-posix-tests (Depends-on): Add setenv.
7076         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
7077
7078         getopt: fix compilation on darwin
7079         * lib/getopt.in.h (includes): Leave breadcrumbs during system
7080         include.
7081         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
7082         Reported by Ludovic Courtès.
7083
7084 2009-10-06  Bruno Haible  <bruno@clisp.org>
7085
7086         * modules/size_max (Description): Discourage its use.
7087         Reported by Simon Josefsson.
7088
7089 2009-10-06  Jim Meyering  <meyering@redhat.com>
7090
7091         linkat: avoid compilation failure
7092         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
7093
7094 2009-10-05  Eric Blake  <ebb9@byu.net>
7095
7096         linkat: support Linux 2.6.17
7097         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
7098         linkat on Linux, but allow cache variable override.
7099         * lib/linkat.c (rpl_linkat): Define override.
7100         * modules/linkat (Depends-on): Add symlinkat.
7101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
7102         * modules/unistd (Makefile.am): Substitute it.
7103         * lib/unistd.in.h (linkat): Declare replacement.
7104         Reported by Pádraig Brady.
7105
7106         quotearg: port test to systems with C.UTF-8 locale
7107         * tests/test-quotearg.c (struct result_strings): Add another
7108         member, differentiating between C.ASCII and C.UTF-8 handling.
7109         (compare_strings): Add parameter.
7110         (main): Adjust all callers.
7111
7112         getopt: avoid clash with FreeBSD _getopt_internal
7113         * lib/getopt.in.h (_getopt_internal): Override the name.
7114         * lib/getopt_int.h (includes): Pick up any overrides.
7115         Reported by Reuben Thomas.
7116
7117         hash: allow C89 compilation
7118         * lib/hash.c (check_tuning): Move declaration before statement.
7119         Reported by Reuben Thomas.
7120
7121 2009-10-05  Karl Berry  <karl@gnu.org>
7122
7123         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
7124
7125 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
7126             Bruno Haible  <bruno@clisp.org>
7127
7128         * lib/uname.c (uname): Use a table-driven algorithm to compute
7129         Windows NT versions.
7130
7131 2009-10-04  Bruno Haible  <bruno@clisp.org>
7132
7133         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
7134         program_invocation_short_name.
7135         * modules/progname (configure.ac): Test for presence of
7136         program_invocation_short_name.
7137         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7138
7139 2009-10-04  Bruno Haible  <bruno@clisp.org>
7140
7141         * lib/progname.c (set_program_name): Fix comment.
7142         Reported by Jim Meyering.
7143
7144 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7145             Bruno Haible  <bruno@clisp.org>
7146
7147         * lib/uname.c: Include <string.h>.
7148         (uname): Do only one call to GetVersionEx in the common case.
7149
7150 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7151             Bruno Haible  <bruno@clisp.org>
7152
7153         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
7154         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
7155         (uname): Add support for Windows CE and various non-x86 CPU types.
7156
7157 2009-10-03  Bruno Haible  <bruno@clisp.org>
7158
7159         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
7160         invocation to tests/configure.ac.
7161         Reported by Ian Beckwith <ianb@erislabs.net>.
7162
7163 2009-10-02  Eric Blake  <ebb9@byu.net>
7164
7165         fchdir: avoid compiler warning
7166         * lib/fchdir.c (canonicalize_file_name)
7167         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
7168
7169         test-open: support mingw errno values
7170         * tests/test-open.h (test_open): Relax test.
7171         * tests/test-fopen.h (test_fopen): Likewise.
7172         * tests/test-openat-safer.c (main): Likewise.
7173
7174         open: fix opening directory on mingw
7175         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
7176
7177         test-open: on GNU/Hurd, /dev/null is a directory
7178         * tests/test-fopen.h (main): Rename...
7179         (test_fopen): ...to this.  Use a guaranteed non-directory when
7180         confirming open behavior on trailing slash.
7181         * tests/test-openat-safer.c (main): Likewise.
7182         * tests/test-open.h (main): Likewise....
7183         (test_open): ...to this.
7184         * tests/test-fopen.c (main): Adjust caller.
7185         * tests/test-fopen-safer.c (main): Likewise.
7186         * tests/test-open.c (main): Likewise.
7187         * tests/test-fcntl-safer.c (main): Likewise.
7188         Reported by Samuel Thibault.
7189
7190         rename, fchdir: don't ignore chdir failure
7191         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
7192         * lib/rename.c (rpl_rename) [W32]: Likewise.
7193         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
7194         an empty destination directory if source cannot be renamed,
7195         although there is still possibility for failure.
7196         * doc/posix-functions/rename.texi (rename): Document the race.
7197         Reported by Jim Meyering.
7198
7199         maint: cleanup whitespace in recent commits
7200         * lib/rename.c (rpl_rename): Remove tabs.
7201         * tests/test-link.h (test_link): Likewise.
7202         * lib/fchdir.c (get_name): Likewise.
7203         Reported by Jim Meyering.
7204
7205 2009-10-02  Ben Pfaff  <blp@gnu.org>
7206
7207         relocatable-prog-wrapper: Add missing dependency on
7208         double-slash-root.
7209         * modules/relocatable-prog-wrapper: Add dependency.
7210         Reported by Ian Beckwith <ianb@erislabs.net>.
7211
7212 2009-10-02  Eric Blake  <ebb9@byu.net>
7213
7214         renameat: fix Solaris bugs
7215         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
7216         needed fixing.
7217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
7218         * modules/stdio (Makefile.am): Substitute it.
7219         * lib/stdio.in.h (renameat): Declare replacement.
7220         * lib/renameat.c (rpl_renameat): Implement fix.
7221
7222         renameat: new module
7223         * modules/renameat: New file.
7224         * lib/renameat.c (renameat): Likewise.
7225         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
7226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7227         * modules/stdio (Makefile.am): Substitute them.
7228         * lib/stdio.in.h (renameat): Declare it.
7229         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7230         * doc/posix-functions/renameat.texi (renameat): Likewise.
7231         * modules/renameat-tests: New test.
7232         * tests/test-renameat.c: Likewise.
7233
7234         rename: fix mingw bugs
7235         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
7236         directory overwrite bugs.
7237
7238         rename: fix another cygwin 1.5 bug
7239         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
7240         checks.
7241         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
7242         unnecessary cygwin workarounds.  Also work around bug with moving
7243         full directory onto an empty one.
7244         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
7245
7246         rename-dest-slash: merge into rename module
7247         * modules/rename-dest-slash (Status): Mark obsolete.
7248         (Depends-on): Add rename.
7249         (Files): Let rename do it all.
7250         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
7251         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
7252         * m4/rename-dest-slash.m4: ...so this file can be deleted.
7253         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
7254         * lib/rename.c (rpl_rename): Update comments.
7255
7256         rename: fix cygwin 1.5.x bugs
7257         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
7258         * lib/rename.c (rpl_rename): Work around them.
7259         * modules/rename (Depends-on): Add same-inode.
7260
7261         rename: fix Solaris 10 bug
7262         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7263         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
7264         was the only bug.
7265
7266         rename: fix Solaris 9 bug
7267         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
7268         on non-directory.  Avoid calling exit.
7269         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
7270         strdup.
7271         * modules/rename-tests (Depends-on): Drop lstat.
7272         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7273         (gl_PREREQ_RENAME): Delete unused macro.
7274
7275         rename-dest-slash: fix NetBSD bug
7276         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
7277         links.
7278         * modules/rename-dest-slash (Depends-on): Add same-inode.
7279
7280         rename-tests: new test, exposes several platform bugs
7281         * modules/rename-tests: New file.
7282         * tests/test-rename.h: Likewise.
7283         * tests/test-rename.c: Likewise.
7284         * doc/posix-functions/rename.texi (rename): Improve documentation,
7285         including bugs that will eventually be fixed in gnulib.
7286
7287 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
7288
7289         * lib/uname.c: Include <stdlib.h>
7290         (uname): Assume version info is available.
7291
7292 2009-10-02  Jim Meyering  <meyering@redhat.com>
7293
7294         gnu-web-doc-update: correct --help output
7295         * build-aux/gnu-web-doc-update: Make --help output relevant.
7296
7297         gnu-web-doc-update: add standard options
7298         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
7299
7300         gnu-web-doc-update: New module.
7301         Use this script to automatically update the on-line web documentation
7302         for your GNU project at http://www.gnu.org/software/$pkg/manual/
7303         * modules/gnu-web-doc-update: New file, from coreutils.
7304         * build-aux/gnu-web-doc-update: New script.
7305
7306 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
7307
7308         link: LoadLibrary is not needed.
7309         * lib/link.c: Use GetModuleHandle.
7310
7311 2009-10-01  Eric Blake  <ebb9@byu.net>
7312
7313         getopt: bump serial number
7314         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
7315         change.
7316
7317         tests: tighten link, rmdir, and remove tests
7318         * tests/test-link.h (includes): No need to use <config.h> here.
7319         Clean up if directory hard link was created, otherwise test for
7320         trailing '.'.
7321         * tests/test-linkat.c (main): Simplify.
7322         * tests/test-remove.c (main): Enhance test for trailing '.'.
7323         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7324
7325 2009-10-01  Jim Meyering  <meyering@redhat.com>
7326
7327         maint.mk: requiring "make major" was annoying, for a "minor" release.
7328         What is intended is "stable", to contrast with alpha and beta,
7329         so require "make stable", not "make major".
7330         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
7331         (get_tool_versions): Likewise.
7332         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
7333
7334 2009-09-30  Ben Pfaff  <blp@gnu.org>
7335
7336         Fix broken build of replacement for Windows tmpfile().
7337         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
7338         flags argument added along with the 'mkostemp' module.
7339
7340 2009-09-28  Bruno Haible  <bruno@clisp.org>
7341
7342         Avoid identifier clash with POSIX function 'remove' defined as a macro.
7343         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
7344         to 'remove_elt'.
7345         (gl_list_remove): Update.
7346         * lib/gl_list.c (gl_list_remove): Update.
7347         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
7348         to 'remove_elt'.
7349         (gl_oset_remove): Update.
7350         * lib/gl_list.c (gl_oset_remove): Update.
7351         Reported by Eric Blake.
7352
7353 2009-09-28  Eric Blake  <ebb9@byu.net>
7354
7355         doc: mention yet more cygwin 1.7 status
7356         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
7357         cygwin.
7358         * doc/glibc-functions/execvpe.texi (execvpe): New file.
7359         * doc/gnulib.texi (Glibc unistd.h): Mention it.
7360
7361         argp: fix test failure
7362         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
7363         that are not upper-case.  Pass correct range to tolower.
7364
7365 2009-09-27  Jim Meyering  <meyering@redhat.com>
7366
7367         test-yesno: work around sparc-dash here-document infelicity
7368         Without this change, the literal \177 byte in a here document
7369         would make dash 0.5.5.1-3 access uninitialized memory.
7370         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
7371         Instead, use a marker, "@", and filter through tr to create the desired
7372         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
7373
7374 2009-09-27  Bruno Haible  <bruno@clisp.org>
7375
7376         Disable untested support for new flavours of ACLs on AIX.
7377         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
7378         progress.
7379         * lib/set-mode-acl.c (qset_acl): Likewise.
7380
7381 2008-12-07  Bruno Haible  <bruno@clisp.org>
7382
7383         Add support for new flavours of ACLs on AIX. (Untested.)
7384         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
7385         (file_has_acl): Add support for newer AIX.
7386         * lib/set-mode-acl.c (qset_acl): Likewise.
7387         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
7388         Rainer Tammer <tammer@tammer.net>.
7389
7390 2009-09-26  Eric Blake  <ebb9@byu.net>
7391
7392         argp: fix compilation of getopt
7393         * lib/getopt.in.h (includes): Use different guard than glibc.
7394         Reported by Sergey Poznyakoff.
7395
7396         doc: mention more cygwin 1.7 status
7397         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
7398         bug.
7399         * doc/posix-functions/execl.texi (execl): Likewise.
7400         * doc/posix-functions/execle.texi (execle): Likewise.
7401         * doc/posix-functions/execlp.texi (execlp): Likewise.
7402         * doc/posix-functions/execv.texi (execv): Likewise.
7403         * doc/posix-functions/execve.texi (execve): Likewise.
7404         * doc/posix-functions/execvp.texi (execvp): Likewise.
7405         * doc/glibc-functions/canonicalize_file_name.texi
7406         (canonicalize_file_name): Cygwin 1.7 now provides this.
7407         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
7408         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
7409         on AT_SYMLINK_NOFOLLOW.
7410
7411 2009-09-24  Eric Blake  <ebb9@byu.net>
7412
7413         test-linkat: make test more robust
7414         * tests/test-linkat.c (main): Avoid collision with EEXIST.
7415
7416         getopt: fix inclusion guards for cygwin
7417         * modules/getopt-posix (Depends-on): Add include-next.
7418         (Makefile.am): Substitute more items in replacement header.
7419         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
7420         <getopt.h>.
7421         * lib/getopt.in.h (includes): Use split inclusion guard, and
7422         prefer <getopt.h> over include <unistd.h> when one is present.
7423         (option): Also override name of 'struct option'.
7424
7425         same-inode: revert prior change; it is not yet ready
7426         * NEWS: Undo mention of this change.
7427         * lib/same-inode.h (same-inode.h): Undo tri-state change.
7428         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7429         * lib/cycle-check.c (cycle_check): Likewise.
7430         * lib/same.c (same_name): Likewise.
7431         * lib/at-func2.c (at_func2): Likewise.
7432
7433 2009-09-23  Eric Blake  <ebb9@byu.net>
7434
7435         linkat: new module
7436         * modules/linkat: New file.
7437         * lib/at-func2.c (at_func2): Likewise.
7438         * lib/linkat.c (linkat): Likewise.
7439         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7440         * lib/openat-priv.h (at_func2): Add declaration.
7441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7442         * modules/unistd (Makefile.am): Substitute them.
7443         * lib/unistd.in.h (linkat): Declare it.
7444         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7445         * doc/posix-functions/linkat.texi (linkat): Likewise.
7446         * doc/posix-functions/link.texi (link): Tweak wording.
7447         * tests/test-link.c (main): Move guts...
7448         * tests/test-link.h (test_link): ...into new file.
7449         * modules/linkat-tests: New test.
7450         * tests/test-linkat.c: Likewise.
7451         * modules/link-tests (Files): Ship new file.
7452         (Depends-on): Add stdbool.
7453
7454         dirname: add library-safe mdir_name
7455         * lib/dirname.h (mdir_name): New prototype.
7456         * lib/dirname.c (dir_name): Move guts...
7457         (mdir_name): ...to new function that avoids xalloc_die.
7458
7459         fchdir: another mingw fix
7460         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
7461         * lib/fchdir.c (get_name): New helper method; skips canonicalize
7462         on mingw (where it has not yet been ported), and make it optional
7463         elsewhere.
7464         (_gl_register_fd): Use it.
7465
7466         same-inode: make SAME_INODE tri-state, to port to mingw
7467         * NEWS: Mention this change.
7468         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
7469         st_ino always being 0.
7470         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7471         * lib/cycle-check.c (cycle_check): Likewise.
7472         * lib/same.c (same_name): Likewise.
7473
7474         lstat: avoid mingw compilation error
7475         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
7476         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
7477         lstat ourselves.
7478         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
7479         was adequate.
7480         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
7481         the checks for lstat.
7482         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
7483
7484         link: fix test failure on Solaris 9
7485         * lib/link.c (rpl_link): Don't assume link will catch bogus
7486         trailing slash on source.
7487
7488         test-symlinkat: enhance test
7489         * tests/test-readlink.c (main): Move guts...
7490         * tests/test-readlink.h (test_readlink): ...into new file.
7491         * tests/test-symlink.c (main): Move guts...
7492         * tests/test-symlink.h (test_symlink): ...into new file.
7493         * tests/test-symlinkat.c (main): Use new files for further
7494         coverage.
7495         (do_symlink, do_readlink): New helper functions.
7496         * modules/symlink-tests (Files): Ship new file.
7497         (Depends-on): Add stdbool.
7498         * modules/readlink-tests (Files): Ship new file.
7499         (Depends-on): Add stdbool.
7500         * modules/symlinkat-tests (Files): Use new files.
7501
7502 2009-09-23  Eric Blake  <ebb9@byu.net>
7503
7504         readlink: document portability issue with symlink length
7505         * doc/posix-functions/lstat.texi (lstat): Mention that some file
7506         systems have bogus st_size on symlinks, and mention the
7507         areadlink-with-size module.
7508         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7509         * doc/posix-functions/readlink.texi (readlink): Mention the
7510         areadlink module, and ERANGE failure.
7511         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7512         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
7513
7514         readlink: fix Solaris 9 bug with trailing slash
7515         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
7516         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
7517         * doc/posix-functions/readlink.texi (readlink): Document this.
7518         * modules/readlink-tests: New test.
7519         * tests/test-readlink.c: Likewise.
7520
7521         readlink: fix cygwin 1.5.x bug with return type
7522         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
7523         * lib/unistd.in.h (readlink): Use ssize_t.
7524         * lib/readlink.c (readlink): Likewise.
7525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7526         * modules/unistd (Makefile.am): Substitute it.
7527         * lib/unistd.in.h (readlink): Declare replacement.
7528         * doc/posix-functions/readlink.texi (readlink): Document this.
7529
7530         symlink: use throughout gnulib
7531         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
7532         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
7533         symlink is not used.
7534         * modules/symlinkat (Depends-on): Add symlink.
7535         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
7536         * modules/canonicalize-tests (Depends-on): Likewise.
7537         * modules/lstat-tests (Depends-on): Likewise.
7538         * modules/openat-tests (Depends-on): Likewise.
7539         * modules/remove-tests (Depends-on): Likewise.
7540         * modules/rmdir-tests (Depends-on): Likewise.
7541         * modules/unlink-tests (Depends-on): Likewise.
7542         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
7543         * tests/test-canonicalize.c (symlink): Likewise.
7544         * tests/test-fstatat.c (symlink): Likewise.
7545         * tests/test-lstat.c (symlink): Likewise.
7546         * tests/test-remove.c (symlink): Likewise.
7547         * tests/test-rmdir.c (symlink): Likewise.
7548         * tests/test-unlink.c (symlink): Likewise.
7549         * tests/test-unlinkat.c (symlink): Likewise.
7550
7551         symlink: new module, for Solaris 9 bug
7552         * modules/symlink: New file.
7553         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7554         * lib/symlink.c: Likewise.
7555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
7556         * modules/unistd (Makefile.am): Substitute them.
7557         * lib/unistd.in.h (symlink): Declare replacement.
7558         * MODULES.html.sh (File system functions): Mention it.
7559         * doc/posix-functions/symlink.texi (symlink): Likewise.
7560         * modules/symlink-tests: New test.
7561         * tests/test-symlink.c: Likewise.
7562
7563 2009-09-23  Bruno Haible  <bruno@clisp.org>
7564
7565         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
7566         when needed.
7567         Test case: gnulib-tool --import --with-tests atexit inttypes.
7568         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
7569
7570 2009-09-23  Bruno Haible  <bruno@clisp.org>
7571
7572         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
7573         subcommand, not in a subshell.
7574
7575 2009-09-22  Eric Blake  <ebb9@byu.net>
7576
7577         unistd: sort replacement declarations
7578         * lib/unistd.in.h: Sort declarations.
7579
7580         open, openat: minor optimization
7581         * lib/open.c (open): If open succeeded, len is non-zero.
7582         * lib/openat.c (rpl_openat): Likewise.
7583
7584         link-follow: ensure correct result
7585         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
7586         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
7587         distinguish between possible failures.
7588
7589 2009-09-21  Eric Blake  <ebb9@byu.net>
7590
7591         fts: avoid compiler warning
7592         * lib/fts.c (dirent_inode_sort_may_be_useful)
7593         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
7594
7595 2009-09-19  Bruno Haible  <bruno@clisp.org>
7596
7597         * lib/progreloc.c (canonicalize_file_name): New declaration.
7598
7599 2009-09-19  Eric Blake  <ebb9@byu.net>
7600
7601         link: fix quoting
7602         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
7603
7604         openat: fix openat bugs on Solaris 9
7605         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
7606         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
7607         * modules/openat (Depends-on): Add open.
7608         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
7609         * modules/fcntl-h (Makefile.am): Substitute it.
7610         * lib/fcntl.in.h (openat): Declare replacement.
7611         * doc/posix-functions/openat.texi (openat): Document this.
7612
7613         openat: move fstatat and unlinkat into correct files
7614         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
7615         compiled.
7616         * lib/openat.c (fstatat, unlinkat): Move...
7617         * lib/fstatat.c (fstatat): ...into correct files.
7618         * lib/unlinkat.c (unlinkat): Likewise.
7619
7620         openat: fix unlinkat bugs on Solaris 9
7621         * lib/unlinkat.c (unlinkat): New file.
7622         * modules/openat (Depends-on): Add unlink.
7623         (Files): Distribute it.
7624         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
7625         trailing slash behavior is broken.
7626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7627         * modules/unistd (Makefile.am): Substitute it.
7628         * lib/unistd.in.h (unlinkat): Declare replacement.
7629         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
7630
7631         openat: fix fstatat bugs on Solaris 9
7632         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
7633         stat.
7634         * doc/posix-functions/fstatat.texi (fstatat): Document this.
7635
7636         test-unlinkat: enhance test, to expose Solaris 9 bug
7637         * tests/test-unlink.c (main): Factor guts...
7638         * tests/test-unlink.h (test_rmdir_func): ...into new file.
7639         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
7640         * tests/test-rmdir.c (main): Adjust caller.
7641         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
7642         (unlinker): New helper function.
7643         (rmdirat): Enhance check.
7644         * modules/rmdir-tests (Depends-on): Add stdbool.
7645         * modules/unlink-tests (Depends-on): Likewise.
7646         (Files): Add test-unlink.h.
7647         * modules/openat-tests (Files): Likewise.
7648         (Depends-on): Add unlinkdir.
7649
7650         test-fstatat: new test, to expose Solaris 9 bugs
7651         * tests/test-stat.c (main): Factor guts...
7652         * tests/test-stat.h (test_stat_func): ...into new file.
7653         * tests/test-lstat.c (main): Factor guts...
7654         * tests/test-lstat.h (test_lstat_func): ...into new file.
7655         * tests/test-fstatat.c: New file.
7656         * modules/stat-tests (Files): Add test-stat.h.
7657         * modules/lstat-tests (Files): Add test-lstat.h.
7658         (Depends-on): Add stdbool.
7659         * modules/openat-tests (Depends-on): Add pathmax.
7660         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
7661         (Makefile.am): Run new test.
7662
7663         remove: new module, for mingw and Solaris 9 bugs
7664         * modules/remove: New file.
7665         * lib/remove.c: Likewise.
7666         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
7667         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7668         * modules/stdio (Makefile.am): Use them.
7669         * lib/stdio.in.h (remove): Declare replacement.
7670         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7671         * doc/posix-functions/remove.texi (remove): Likewise.
7672         * modules/remove-tests: New test.
7673         * tests/test-remove.c: Likewise.
7674
7675         unlink: new module, for Solaris 9 bug
7676         * modules/unlink: New file.
7677         * lib/unlink.c: Likewise.
7678         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7680         * modules/unistd (Makefile.am): Use them.
7681         * lib/unistd.in.h (stat): Declare replacement.
7682         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7683         * doc/posix-functions/unlink.texi (unlink): Likewise.
7684         * modules/unlink-tests: New test.
7685         * tests/test-unlink.c: Likewise.
7686
7687         lstat: fix Solaris 9 bug
7688         * lib/lstat.c (lstat): Also check for trailing slash on
7689         non-symlink, non-directories.  Use stat module to simplify logic.
7690         * doc/posix-functions/lstat.texi (lstat): Document it.
7691         * modules/lstat-tests (Depends-on): Add errno, same-inode.
7692         (configure.ac): Check for symlink.
7693         * tests/test-lstat.c (main): Add more tests.
7694
7695         stat: add as dependency to other modules
7696         * modules/chown (Depends-on): Add stat.
7697         * modules/euidaccess (Depends-on): Likewise.
7698         * modules/fchdir (Depends-on): Likewise.
7699         * modules/isdir (Depends-on): Likewise.
7700         * modules/link (Depends-on): Likewise.
7701         * modules/lstat (Depends-on): Likewise.
7702         * modules/mkdir-p (Depends-on): Likewise.
7703         * modules/modechange (Depends-on): Likewise.
7704         * modules/open (Depends-on): Likewise.
7705         * modules/readlink (Depends-on): Likewise.
7706         * modules/same (Depends-on): Likewise.
7707
7708         stat: fix Solaris 9 bug
7709         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
7710         slash.
7711         * lib/stat.c (rpl_stat): Work around it.
7712         * doc/posix-functions/stat.texi (stat): Update documentation.
7713
7714         stat: new module, for mingw bug
7715         * modules/stat: New file.
7716         * lib/stat.c: Likewise.
7717         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7718         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7719         * modules/sys_stat (Makefile.am): Use them.
7720         * lib/sys_stat.in.h (stat): Declare replacement.
7721         * lib/openat.c (fstatat): Deal with lstat and stat being function
7722         macros.
7723         * modules/openat (Depends-on): Add inline.
7724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7725         * doc/posix-functions/stat.texi (stat): Likewise.
7726         * modules/stat-tests: New test.
7727         * tests/test-stat.c: Likewise.
7728
7729 2009-09-19  Jim Meyering  <meyering@redhat.com>
7730
7731         syntax-check: detect unnecessary inclusion of canonicalize.h
7732         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
7733
7734 2009-09-19  Eric Blake  <ebb9@byu.net>
7735
7736         canonicalize-lgpl: adjust clients to use correct header
7737         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
7738         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
7739         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
7740         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
7741         * lib/progreloc.c (includes): Likewise.
7742
7743 2009-09-19  Jim Meyering  <meyering@redhat.com>
7744
7745         test-posixtm.c: correct a comment
7746         * tests/test-posixtm.c: Correct first-line comment.
7747         Spotted by Eric Blake.
7748
7749 2009-09-16  Jim Meyering  <meyering@redhat.com>
7750
7751         posixtm-tests: make T const-correct; add a test case
7752         * tests/test-posixtm.c (T): Declare const.
7753         Add a test for -(2^31+1).
7754         Remove useless can-succeed-only-in-2002 test.
7755
7756         posixtm-tests: adjust the sole failing test
7757         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
7758         expected output matches what mktime now produces.  Cross-checked via
7759         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
7760
7761         posixtm: move #ifdef'd tests into a new module
7762         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
7763         * tests/test-posixtm.c: ... this new file.
7764         * modules/posixtm-tests: New module.
7765
7766 2009-09-19  Eric Blake  <ebb9@byu.net>
7767
7768         openat: simplify use of at-func.c
7769         * lib/at-func.c (includes): Include prerequisites here, to
7770         simplify requirements on client files.
7771         * lib/openat-priv.h: Add double-inclusion guard.
7772         * lib/faccessat.c (includes): Simplify.
7773         * lib/fchmodat.c (includes): Likewise.
7774         * lib/fchownat.c (includes): Likewise.
7775         * lib/mkdirat.c (includes): Likewise.
7776         * lib/mkfifoat.c (includes): Likewise.
7777         * lib/symlinkat.c (includes): Likewise.
7778
7779         openat: allow return of fd 0
7780         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
7781         * modules/save-cwd (Depends-on): Replace fcntl-safer with
7782         unistd-safer.
7783         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
7784         <fcntl.h>; this module does not leak fds.
7785         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
7786         must be allowed to return 0, leaving openat_safer to add the
7787         safety.
7788         (openat_permissive): Avoid writing to just-opened fd 2 if
7789         restoring the current directory fails.
7790         * lib/openat-die.c (openat_restore_fail): Add comment.
7791         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
7792         (save_cwd): Guarantee safe fd, but without use of open_safer.
7793         * tests/test-openat.c: New test.
7794         * modules/openat-tests (Files, Makefile.am): Distribute and build
7795         new file.
7796
7797         relocatable-prog-wrapper: fix build
7798         * modules/relocatable-prog-wrapper (Files): Update name of
7799         canonicalize m4 file, broken on 2009-09-17.
7800         Reported by emad hajjar <aleppos@hotmail.com>.
7801
7802 2009-09-19  Bruno Haible  <bruno@clisp.org>
7803
7804         * lib/safe-alloc.h: Use the standard header with GPL copyright.
7805         * lib/safe-alloc.c: Likewise.
7806         Reported by Ian Beckwith <ianb@erislabs.net>.
7807
7808 2009-09-18  Bruno Haible  <bruno@clisp.org>
7809
7810         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
7811         Reported by <erobles@sensacd.com.mx>.
7812
7813 2009-09-17  Eric Blake  <ebb9@byu.net>
7814
7815         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
7816         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
7817         slashes when checking if last component is missing.
7818         * tests/test-canonicalize.c (main): Test this.
7819
7820         canonicalize, canonicalize-lgpl: honor // if distinct from /
7821         * modules/canonicalize (Files): Add double-slash-root.m4.
7822         * modules/canonicalize-lgpl (Files): Likewise.
7823         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
7824         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
7825         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
7826         fallback definition.
7827         (canonicalize_filename_mode): Use it to protect //.
7828         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
7829         (__realpath): Likewise.
7830         * tests/test-canonicalize.c (main): Test this.
7831         * tests/test-canonicalize-lgpl.c (main): Likewise.
7832         * modules/canonicalize-tests (Depends-on): Add same-inode.
7833         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
7834
7835         canonicalize-lgpl: fix glibc bug with trailing slash
7836         * m4/canonicalize-lgpl.m4: Move contents...
7837         * m4/canonicalize.m4: ...here.
7838         (gl_CANONICALIZE_LGPL): Factor realpath check...
7839         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
7840         glibc 2.3.5 bug, fixed 2005-04-27.
7841         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
7842         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
7843         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
7844         * modules/canonicalize-lgpl (Files): Manage file rename.
7845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
7846         * modules/stdlib (Makefile.am): Substitute witness.
7847         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
7848         is needed.
7849         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
7850         replacement is required.
7851         * lib/canonicalize.c (canonicalize_file_name): Likewise.
7852         * doc/glibc-functions/canonicalize_file_name.texi
7853         (canonicalize_file_name): Document this.
7854         * doc/posix-functions/realpath.texi (realpath): Likewise.
7855
7856         canonicalize-lgpl: reject non-directory with trailing slash
7857         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
7858         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
7859         catches failures in glibc 2.3.5.
7860         * tests/test-canonicalize.c (main): Likewise.
7861
7862         canonicalize-lgpl: use native realpath if it works
7863         * lib/canonicalize-lgpl.c (realpath): Guard with
7864         FUNC_REALPATH_WORKS.
7865         * lib/stdlib.in.h (realpath): Make declaration optional based on
7866         HAVE_REALPATH.
7867         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
7868         native realpath works.
7869         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
7870         * modules/stdlib (Makefile.am): Substitute witness.
7871
7872         canonicalize, canonicalize-lgpl: use <stdlib.h>
7873         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
7874         (Include): Mention <stdlib.h>.
7875         (configure.ac): Mention functions we provide.
7876         * modules/canonicalize (configure.ac): Likewise.
7877         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
7878         realpath if canonicalize_file_name is missing.
7879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
7880         * modules/stdlib (Makefile.am): Substitute witnesses.
7881         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
7882         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
7883         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
7884         * NEWS: Document this.
7885         * doc/glibc-functions/canonicalize_file_name.texi
7886         (canonicalize_file_name): Likewise.
7887         * doc/posix-functions/realpath.texi (realpath): Likewise.
7888         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
7889
7890         test-canonicalize: consolidate into single C program
7891         * tests/test-canonicalize.sh: Delete; move setup into...
7892         * tests/test-canonicalize.c (main): ...the program, making it
7893         easier to run in debugger.  Add some tests.
7894         * modules/canonicalize-tests (Files): Remove unused file.
7895         (Depends-on): Add progname.
7896         (configure.ac, Makefile.am): Simplify.
7897
7898         test-canonicalize-lgpl: consolidate into single C program
7899         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
7900         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
7901         easier to run in debugger.  Add some tests.
7902         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
7903         (configure.ac, Makefile.am): Simplify.
7904
7905         canonicalize: avoid resolvepath
7906         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
7907         unnecessary checks.
7908         * lib/canonicalize.c (includes): Simplify.
7909         (canonicalize_file_name): Drop resolvepath implementation.
7910         * modules/canonicalize (Depends-on): Drop filenamecat.
7911
7912         canonicalize: don't lose errno
7913         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
7914         over calls to free.
7915
7916         canonicalize: simplify errno handling
7917         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
7918         assignment.
7919
7920         canonicalize, canonicalize-lgpl: update module dependencies
7921         * modules/canonicalize (Depends-on): Add extensions, lstat,
7922         pathmax, stdlib.
7923         (Files): Drop pathmax.h.
7924         (configure.ac): Adjust macro name.
7925         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
7926         lstat, stdlib, sys_stat.
7927         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
7928         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
7929         extensions.
7930         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
7931         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
7932         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
7933         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
7934         declaration, if available.
7935         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
7936         we can rely on the readlink module.
7937         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
7938         (includes): Use <unistd.h> unconditionally.
7939
7940 2009-09-17  Eric Blake  <ebb9@byu.net>
7941
7942         maint: make Include sections of modules consistent
7943         * modules/alloca: Use only header name; no need to list #include.
7944         * modules/alloca-opt: Likewise.
7945         * modules/arpa_inet: Likewise.
7946         * modules/canon-host: Likewise.
7947         * modules/configmake: Likewise.
7948         * modules/dirent: Likewise.
7949         * modules/eealloc: Likewise.
7950         * modules/environ: Likewise.
7951         * modules/fchdir: Likewise.
7952         * modules/fcntl: Likewise.
7953         * modules/fcntl-h: Likewise.
7954         * modules/gethrxtime: Likewise.
7955         * modules/gettime: Likewise.
7956         * modules/ignore-value: Likewise.
7957         * modules/inet_ntop: Likewise.
7958         * modules/inet_pton: Likewise.
7959         * modules/inttypes: Likewise.
7960         * modules/isnand-nolibm: Likewise.
7961         * modules/isnanf-nolibm: Likewise.
7962         * modules/mbchar: Likewise.
7963         * modules/mbfile: Likewise.
7964         * modules/mbiter: Likewise.
7965         * modules/mbuiter: Likewise.
7966         * modules/netdb: Likewise.
7967         * modules/netinet_in: Likewise.
7968         * modules/nproc: Likewise.
7969         * modules/pagealign_alloc: Likewise.
7970         * modules/poll: Likewise.
7971         * modules/printf-frexp: Likewise.
7972         * modules/pthread: Likewise.
7973         * modules/putenv: Likewise.
7974         * modules/random_r: Likewise.
7975         * modules/relocatable-prog: Likewise.
7976         * modules/search: Likewise.
7977         * modules/select: Likewise.
7978         * modules/selinux-h: Likewise.
7979         * modules/settime: Likewise.
7980         * modules/signal: Likewise.
7981         * modules/size_max: Likewise.
7982         * modules/socklen: Likewise.
7983         * modules/ssize_t: Likewise.
7984         * modules/stdarg: Likewise.
7985         * modules/stdbool: Likewise.
7986         * modules/stddef: Likewise.
7987         * modules/stdint: Likewise.
7988         * modules/stdio: Likewise.
7989         * modules/stdlib: Likewise.
7990         * modules/string: Likewise.
7991         * modules/strings: Likewise.
7992         * modules/sys_file: Likewise.
7993         * modules/sys_ioctl: Likewise.
7994         * modules/sys_select: Likewise.
7995         * modules/sys_socket: Likewise.
7996         * modules/sys_stat: Likewise.
7997         * modules/sys_time: Likewise.
7998         * modules/sys_times: Likewise.
7999         * modules/sys_utsname: Likewise.
8000         * modules/sys_wait: Likewise.
8001         * modules/sysexits: Likewise.
8002         * modules/time: Likewise.
8003         * modules/times: Likewise.
8004         * modules/tmpfile: Likewise.
8005         * modules/trim: Likewise.
8006         * modules/unistd: Likewise.
8007         * modules/wchar: Likewise.
8008         * modules/wctype: Likewise.
8009
8010 2009-09-17  Bruno Haible  <bruno@clisp.org>
8011
8012         Make getdate.y compile on QNX and NetBSD 5 / i386.
8013         * m4/getdate.m4 (gl_GETDATE): Conditionally define
8014         TIME_T_FITS_IN_LONG_INT.
8015         * lib/getdate.y (long_time_t): New type.
8016         (relative_time): Change type of 'seconds' field to long_time_t.
8017         (get_date): Update types of local variables. Check against overflow
8018         during conversion from long_time_t to time_t.
8019         Reported by Matt Kraai <kraai@ftbfs.org>
8020         and Hasso Tepper <hasso@netbsd.org>.
8021
8022 2009-09-17  Bruno Haible  <bruno@clisp.org>
8023
8024         * modules/COPYING: Update copyright years.
8025         * modules/README: Likeiwse.
8026         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
8027         Reported by Ian Beckwith <ianb@erislabs.net>.
8028
8029 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8030
8031         * users.txt: Update references for gnuit package.
8032
8033 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8034
8035         * m4/getdelim.m4: Fix typo in copyright line.
8036
8037 2009-09-17  Bruno Haible  <bruno@clisp.org>
8038
8039         * lib/atoll.c: Use the standard header with GPL copyright.
8040         * lib/argz.in.h: Likewise.
8041         * lib/glob.c: Likewise.
8042         * lib/glob-libc.h: Likewise.
8043         * lib/random_r.c: Likewise.
8044         * lib/siglist.h: Likewise.
8045         * lib/strsignal.c: Likewise.
8046         Reported by Ian Beckwith <ianb@erislabs.net>.
8047
8048 2009-09-17  Eric Blake  <ebb9@byu.net>
8049
8050         rmdir: ensure correct dependency order
8051         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
8052
8053 2009-09-17  Bruno Haible  <bruno@clisp.org>
8054
8055         Disable assertion that fails on NetBSD 5 / i386.
8056         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
8057         Reported by Sam Steingold <sds@gnu.org>
8058         and Hasso Tepper <hasso@netbsd.org>.
8059
8060 2009-09-16  Eric Blake  <ebb9@byu.net>
8061
8062         unlinkdir: port to mingw
8063         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
8064         on which no one can unlink a directory.
8065
8066         stdlib: sort witness names
8067         * modules/stdlib (Makefile.am): Sort replacements.
8068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
8069         * lib/stdlib.in.h: Likewise.
8070
8071         parse-duration-tests: avoid link failure
8072         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
8073         LIBINTL.
8074         Reported by Tom G. Christensen.
8075
8076         openat-tests: ensure unlinkat behaves like rmdir
8077         * tests/test-rmdir.c (main): Factor guts...
8078         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
8079         * modules/rmdir-tests (Files): Ship new file.
8080         * modules/openat-tests: New test.
8081         * tests/test-unlinkat.c: Likewise.
8082
8083         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
8084         * modules/rmdir-errno (Status, Notice): Now obsolete.
8085
8086         rmdir: work around cygwin 1.5.x and mingw bugs
8087         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
8088         * lib/rmdir.c (rmdir): Work around it.
8089         * modules/rmdir (Status, Notice): No longer obsolete.
8090         (Files): Add dos.m4.
8091         (Depends-on): Add unistd.
8092         (configure.ac): Set witnesses.
8093         (License): Relax to LGPLv2+.
8094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
8095         * modules/unistd (Makefile.am): Substitute witnesses.
8096         * lib/unistd.in.h (rmdir): Declare replacement.
8097         * doc/posix-functions/rmdir.texi (rmdir): Document this.
8098         * modules/rmdir-tests: New tests.
8099         * tests/test-rmdir.c: Likewise.
8100
8101 2009-09-15  Eric Blake  <ebb9@byu.net>
8102
8103         fchdir: improve use of replacement functions
8104         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
8105         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
8106         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
8107         REPLACE_CLOSEDIR.
8108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
8109         * modules/sys_stat (Makefile.am): Substitute correct witness.
8110         * modules/dirent (Makefile.am): Likewise.
8111         * modules/unistd (Makefile.am): Likewise.
8112         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
8113         * lib/unistd.in.h (dup): Likewise.
8114         * lib/sys_stat.in.h (fstat): Likewise.
8115
8116         maint: ignore gnulib-tool temp files
8117         * .gitignore: Ignore files created during gnulib-tool --test.
8118
8119 2009-09-13  Jim Meyering  <meyering@redhat.com>
8120
8121         posixtm: don't reject a time that specify "60" as the number of seconds
8122         * lib/posixtm.c (posixtime): The code to reject invalid dates
8123         would also reject a time specified with the .60 suffix.
8124         But POSIX allows that, in order to accommodate leap seconds.
8125         So don't reject it.
8126         (main): Adjust tests accordingly.
8127         * modules/posixtm (Depends-on): Add stpcpy.
8128
8129 2009-09-11  Jim Meyering  <meyering@redhat.com>
8130
8131         announce-gen: include [$release_type] in emitted Subject:
8132         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
8133         e.g., [stable] in the emitted Subject: line.
8134
8135 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8136
8137         Remove obsolete macros from several modules.
8138         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
8139         obsolete Autoconf macros with their modern counterparts.
8140         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
8141         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
8142         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8143         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
8144         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
8145         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8146         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8147         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8148         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8149         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
8150         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8151         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8152         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
8153         * m4/sockets.m4 (gl_SOCKETS): Likewise.
8154         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
8155         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
8156         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8157         * m4/time_r.m4 (gl_TIME_R): Likewise.
8158         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8159         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
8160         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8161
8162         Fix copyright header in build-aux scripts.
8163         * build-aux/git-version-gen: Fix copyright header to match GPLv3
8164         recommendation.
8165         * build-aux/ncftpput-ftp: Likewise.
8166         * build-aux/update-copyright: Likewise.
8167
8168 2009-09-09  Eric Blake  <ebb9@byu.net>
8169
8170         test-link: allow Linux choice of errno
8171         * tests/test-link.c (main): Relax test for alternate error.
8172
8173         strndup: fix improper m4 caching
8174         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
8175         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
8176         (gl_PREREQ_STRNDUP): Delete.
8177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
8178         * modules/string (Makefile.am): Substitute it.
8179         * lib/string.in.h (strndup): Modernize prototype.
8180
8181         getcwd: port to mingw
8182         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
8183         different from the POSIX assumptions made throughout the getcwd
8184         module; fortunately, the mingw getcwd does not need replacement.
8185         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
8186         * modules/getcwd-tests: New test.
8187         * tests/test-getcwd.c: Likewise.
8188
8189         link: fix platform bugs
8190         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
8191         * lib/link.c (link): Work around them.  Fix related mingw bug.
8192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
8193         * modules/unistd (Makefile.am): Substitute it.
8194         * lib/unistd.in.h (link): Declare replacement.
8195         * doc/posix-functions/link.texi (link): Document this.
8196         * modules/link (Depends-on): Add strdup-posix, sys_stat.
8197
8198         test-link: consolidate into single C program, test more cases
8199         * tests/test-link.sh: Delete.
8200         * tests/test-link.c: Test more error conditions.  Exposes bugs on
8201         at least Cygwin and Solaris.
8202         * modules/link-tests (Files): Remove unused file.
8203         (Depends-on): Add errno, sys_stat.
8204         (Makefile.am): Simplify.
8205
8206 2009-09-08  Bruno Haible  <bruno@clisp.org>
8207
8208         Work around towlower, towupper bug on mingw.
8209         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
8210         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
8211         * doc/posix-functions/towlower.texi: Mention the mingw bug.
8212         * doc/posix-functions/towupper.texi: Likewise.
8213         Reported by Eric Blake.
8214
8215 2009-09-08  Jim Meyering  <meyering@redhat.com>
8216
8217         build: don't try to run autoheader if we don't use it
8218         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
8219         is not used in configure.ac.
8220
8221 2009-09-08  Eric Blake  <ebb9@byu.net>
8222
8223         euidaccess: fix compilation error
8224         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
8225
8226         rawmemchr: relax license
8227         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
8228         okay.
8229         Reported by Jim Meyering.
8230
8231         mkfifoat: new module
8232         * modules/mkfifoat: New file.
8233         * lib/mkfifoat.c: Likewise.
8234         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
8235         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8236         * modules/sys_stat (Makefile.am): Use them.
8237         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
8238         * MODULES.html.sh (File system functions): Mention module.
8239         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
8240         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
8241         * modules/mkfifoat-tests: New test.
8242         * tests/test-mkfifoat.c: Likewise.
8243
8244         strchrnul: relax license
8245         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
8246         okay.
8247         Reported by Jim Meyering.
8248
8249 2009-09-08  Eric Blake  <ebb9@byu.net>
8250
8251         fstatat: fix compilation on Solaris
8252         * lib/fstatat.c (includes): Add fcntl.h.
8253         Reported by Pádraig Brady.
8254
8255 2009-09-07  Eric Blake  <ebb9@byu.net>
8256
8257         rename: modernize replacement
8258         * modules/rename (Depends-on): Add stdio.
8259         (configure.ac): Declare witness.
8260         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
8261         stdio take care of replacement.
8262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
8263         * modules/stdio (Makefile.am): Substitute them.
8264         * lib/stdio.in.h (rename): Declare replacement.
8265         * lib/rename.c (includes): Allow cross-compilation to non-windows
8266         machines.
8267         * doc/posix-functions/rename.texi (rename): Improve
8268         documentation.
8269
8270         stdio: sort witness names
8271         * modules/stdio (Makefile.am): Sort replacements.
8272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8273         * lib/stdio.in.h: Likewise.
8274
8275         getcwd: minor cleanups
8276         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
8277         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
8278
8279         openat: provide more convenience names
8280         * modules/faccessat (configure.ac): Add C witness.
8281         * lib/unistd.in.h (readlinkat): Fix typo.
8282         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
8283         convenience wrappers.
8284         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
8285         wrappers in syntax checks.
8286
8287 2009-09-06  Eric Blake  <ebb9@byu.net>
8288
8289         doc: fix comments in recent patches
8290         * lib/faccessat.c: Mention correct function.
8291         * lib/fchmodat.c: Likewise.
8292         * lib/fchownat.c: Likewise.
8293         * lib/symlinkat.c: Likewise.
8294         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
8295         constants.
8296
8297         faccessat, symlinkat: continue cleanup of previous patch
8298         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
8299         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8300         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
8301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
8302         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
8303         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
8304         set.
8305
8306 2009-09-06  Bruno Haible  <bruno@clisp.org>
8307
8308         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
8309         (fstatat): Declare if GNULIB_FSTATAT is set.
8310         (mkdirat): Declare if GNULIB_MKDIRAT is set.
8311         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
8312         (unlinkat): Declare if GNULIB_UNLINKAT is set.
8313         * modules/fcntl-h (Files): Remove m4/openat.m4.
8314         * modules/sys_stat (Files): Remove m4/openat.m4.
8315         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
8316         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
8317         * modules/unistd (Files): Remove m4/openat.m4.
8318         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
8319         GNULIB_OPENAT.
8320         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
8321         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
8322         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
8323         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
8324         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
8325         gl_OPENAT_DEFAULTS.
8326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
8327         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
8328         Don't require gl_OPENAT_DEFAULTS.
8329         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
8330         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
8331         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
8332         (gl_OPENAT_DEFAULTS): Remove macro.
8333
8334 2009-09-06  Bruno Haible  <bruno@clisp.org>
8335
8336         * modules/openat (configure.ac): Remove unneeded witness.
8337
8338 2009-09-06  Bruno Haible  <bruno@clisp.org>
8339
8340         Set errno to ENOSYS when a function is entirely unsupported.
8341         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
8342         EOPNOTSUPP.
8343         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8344         * modules/chown (Depends-on): Remove errno.
8345
8346 2009-09-06  Bruno Haible  <bruno@clisp.org>
8347
8348         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
8349
8350 2009-09-06  Bruno Haible  <bruno@clisp.org>
8351
8352         * lib/sys_stat.in.h: Fix preprocessor command indentation.
8353
8354 2009-09-06  Ben Pfaff  <blp@gnu.org>
8355             Bruno Haible  <bruno@clisp.org>
8356
8357         Work around a glibc bug in strtok_r.
8358         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
8359         Undefine if UNDEFINE_STRTOK_R is set.
8360         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
8361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8362         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
8363         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
8364         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
8365         UNDEFINE_STRTOK_R.
8366         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
8367
8368 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
8369
8370         exclude: minor fix
8371         * lib/exclude.c: Include wctype.h
8372
8373 2009-09-06  Akim Demaille  <demaille@gostai.com>
8374
8375         bootstrap: improve error message
8376         * build-aux/bootstrap (find_tool): Upon failure, report the list
8377         of candidates.
8378         Honor the initial value of the envvar.
8379
8380 2009-09-05  Eric Blake  <ebb9@byu.net>
8381
8382         symlinkat: new module
8383         * modules/symlinkat: New file.
8384         * lib/symlinkat.c: Likewise.
8385         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
8386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8387         * modules/unistd (Makefile.am): Use them.
8388         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
8389         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
8390         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
8391         * MODULES.html.sh (File system functions): Mention module.
8392         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
8393         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8394         * modules/symlinkat-tests: New test.
8395         * tests/test-symlinkat.c: Likewise.
8396
8397         test-openat-safer: add more checks
8398         * tests/test-openat-safer.c (main): Check more code paths.
8399
8400 2009-09-05  Jim Meyering  <meyering@redhat.com>
8401
8402         syntax-check: detect unnecessary inclusion of openat.h
8403         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
8404
8405 2009-09-05  Bruno Haible  <bruno@clisp.org>
8406
8407         Support towlower, towupper.
8408         * doc/posix-functions/towlower.texi: Mention module wctype.
8409         * doc/posix-functions/towupper.texi: Likewise.
8410         * lib/wctype.in.h (towlower, towupper): New functions.
8411         * tests/test-wctype.c: Include stdio.h, stdlib.h.
8412         (ASSERT): New macro.
8413         (e): New variable.
8414         (main): Test also towlower, towupper. Test WEOF argument.
8415         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8416
8417 2009-09-05  Bruno Haible  <bruno@clisp.org>
8418
8419         Fix conversion behaviour when the input is invalid.
8420         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
8421         mark occurring in first pass of indirect conversion.
8422         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
8423         input.
8424         Found by clang's static analyzer.
8425
8426 2009-09-05  Bruno Haible  <bruno@clisp.org>
8427
8428         * tests/test-striconveh.c (main): Test indirect conversion on platforms
8429         where direct conversion is possible.
8430
8431 2009-09-04  Eric Blake  <ebb9@byu.net>
8432
8433         openat: fail with ENOENT on empty name
8434         * lib/openat-proc.c (openat_proc_name): Special-case the empty
8435         buffer.
8436
8437         link-follow: fix logic bug in prior patch
8438         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
8439         reversed sense of yes and no in prior patch.  Avoid confusing
8440         compilation failure with desired semantics.
8441
8442         link-follow: accomodate mingw and cross-compilation
8443         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
8444         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
8445         cross-compilation results to -1, to make linkat easier to
8446         implement when cross-compiling.  Trivially support mingw.
8447         * modules/link-follow (configure.ac): Call new name.
8448         * NEWS: Mention this.
8449
8450 2009-09-03  Eric Blake  <ebb9@byu.net>
8451
8452         faccessat: compile replacement
8453         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
8454         needed.
8455
8456         fts: fix compilation error
8457         * lib/fts.c (includes): Re-add "openat.h", for
8458         openat_needs_fchdir.
8459
8460         faccessat: new module
8461         * modules/faccessat: New file.
8462         * lib/faccessat.c: Likewise.
8463         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8465         * modules/unistd (Makefile.am): Use it.
8466         * lib/unistd.in.h (faccessat): Declare it.
8467         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
8468         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
8469         * MODULES.html.sh (File system functions): Mention it.
8470         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
8471         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
8472
8473         euidaccess: prefer POSIX over non-standard implementation
8474         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
8475         * lib/euidaccess.c (euidaccess): Use it if available.
8476
8477         openat: make template easier to use
8478         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
8479         AT_FUNC_F2 to be undefined.
8480         (VALIDATE_FLAG): New macro; use it to reject bad flags.
8481         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
8482         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
8483         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
8484         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
8485         Likewise.
8486         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
8487         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
8488         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
8489         Likewise.
8490
8491         openat: declare in POSIX headers
8492         * NEWS: Mention this.
8493         * modules/openat (configure.ac): Declare witnesses.
8494         (Depends-on): Add fcntl-h, sys_stat, unistd.
8495         (Include): Mention correct headers.
8496         * modules/fcntl-h (Depends-on): Add link-warning.
8497         (Files): Add openat.m4.
8498         (Makefile.am): Substitute witnesses.
8499         * modules/sys_stat (Files, Makefile.am): Likewise.
8500         * modules/unistd (Files, Makefile.am): Likewise.
8501         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
8502         (gl_OPENAT_DEFAULTS): New macro.
8503         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
8504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
8505         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
8506         (SYS_STAT_H): Remove unused variable.
8507         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
8508         * lib/fcntl--.h (includes): Remove unneeded header.
8509         * lib/openat-safer.c (includes): Likewise.
8510         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
8511         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
8512         appropriate headers.
8513         (__OPENAT_PREFIX): Delete.
8514         * lib/fcntl.in.h (openat): Provide declaration.
8515         (AT_FDCWD): Fix Solaris bug.
8516         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
8517         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
8518         * lib/fchmodat.c (includes):  Adjust to find declaration.
8519         * lib/fchownat.c (includes): Likewise.
8520         * lib/mkdirat.c (includes): Likewise.
8521         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
8522         still visible.
8523
8524 2009-09-02  Eric Blake  <ebb9@byu.net>
8525
8526         errno: use consistently
8527         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
8528         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
8529         * lib/canonicalize.c (ELOOP): Likewise.
8530         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
8531         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
8532         * lib/lchown.c (EOPNOTSUPP): Likewise.
8533         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
8534         * lib/savewd.c (ESTALE): Likewise.
8535         * lib/settime.c (ENOSYS): Likewise.
8536         * lib/utimens.c (ENOSYS): Likewise.
8537         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
8538         * lib/chdir-safer.c (ELOOP): Likewise.
8539         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
8540         * modules/c-stack (Depends-on): Add errno.
8541         * modules/canonicalize (Depends-on): Likewise.
8542         * modules/chdir-safer (Depends-on): Likewise.
8543         * modules/fdopendir (Depends-on): Likewise.
8544         * modules/inet_ntop (Depends-on): Likewise.
8545         * modules/inet_pton (Depends-on): Likewise.
8546         * modules/lchown (Depends-on): Likewise.
8547         * modules/openat (Depends-on): Likewise.
8548         * modules/savewd (Depends-on): Likewise.
8549         * modules/settime (Depends-on): Likewise.
8550         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
8551
8552         fts: avoid leaking fds
8553         * modules/fts (Depends-on): Add cloexec.
8554         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
8555         flag.
8556
8557         fts: make directory fds more robust
8558         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
8559         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
8560
8561         backupfile, chdir-long, fts, savedir: make safer
8562         * lib/backupfile.c (includes): Use "dirent--.h", since
8563         numbered_backup can write to stderr during readdir.
8564         * lib/savedir.c (includes): Likewise.
8565         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
8566         emulation can write to stderr on failure.
8567         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
8568         * lib/getcwd.c: Document why opendir_safer is unused.
8569         * lib/glob.c: Likewise.
8570         * lib/scandir.c: Likewise.
8571         * lib/openat-proc.c: Likewise, for open_safer.
8572         * modules/backupfile (Depends-on): Add dirent-safer.
8573         * modules/savedir (Depends-on): Likewise.
8574         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
8575         * modules/chdir-long (Depends-on): Add openat-safer.
8576
8577         openat-safer: new module
8578         * modules/openat-safer: New file.
8579         * lib/openat-safer.c: Likewise.
8580         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
8581         * lib/fcntl-safer.h (openat_safer): Declare.
8582         * lib/fcntl--.h (openat): Override.
8583         * MODULES.html.sh (File descriptor based I/O): Mention it.
8584         * lib/openat.h: Add double-inclusion guards.
8585         * lib/openat.c (includes): Only include "fcntl-safer.h", not
8586         "fcntl--.h", so we can implement openat.
8587         * modules/openat-safer-tests: New test.
8588         * tests/test-openat-safer.c: New file.
8589
8590         dirent-safer: new module
8591         * modules/dirent-safer: New file.
8592         * lib/dirent--.h: Likewise.
8593         * lib/dirent-safer.h: Likewise.
8594         * lib/opendir-safer.c: Likewise.
8595         * m4/dirent-safer.m4: Likewise.
8596         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
8597         * modules/dirent-safer-tests: New test.
8598         * tests/test-dirent-safer.c: New file.
8599         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
8600
8601         fdopendir: optimize on mingw
8602         * lib/unistd.in.h (_gl_directory_name): New prototype.
8603         * lib/fchdir.c (_gl_directory_name): Implement it.
8604         (fchdir): Use it to simplify implementation.
8605         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
8606         fchdir, when available, to avoid calling [f]chdir().
8607
8608         fdopendir: split into its own module
8609         * lib/openat.c (fdopendir): Move...
8610         * lib/fdopendir.c: ...into new file.
8611         * modules/fdopendir: New module.
8612         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
8613         * modules/openat (Depends-on): Add fdopendir.
8614         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
8615         fdopendir here.
8616         * modules/savedir (Depends-on): Only need fdopendir, not full
8617         openat.
8618         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
8619         * lib/openat.h (fdopendir): Drop prototype.
8620         * lib/dirent.in.h (fdopendir): Provide prototype.
8621         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
8622         * modules/dirent (Makefile.am): Substitute them.
8623         * MODULES.html.sh (File system functions): Mention it.
8624         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
8625         * modules/fdopendir-tests: New file.
8626         * tests/test-fdopendir.c: Likewise.
8627
8628         fchdir: use more consistent macro convention
8629         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
8630         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
8631         REPLACE_FCHDIR, rather than relying on config.h macros.
8632         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
8633         inside a single make-time REPLACE_FCHDIR block, rather than using
8634         the config.h FCHDIR_REPLACEMENT.
8635         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
8636         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
8637         Manage fstat replacement.
8638         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
8639         REPLACE_FCHDIR.
8640         * modules/sys_stat (Files): Add m4/unistd_h.m4.
8641         (Makefile.am): Substitute REPLACE_FCHDIR.
8642         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
8643         FCHDIR_REPLACEMENT.
8644         * lib/dup-safer.c (dup_safer): Likewise.
8645         * lib/dup2.c (rpl_dup2): Likewise.
8646         * lib/dup3.c (rpl_dup3): Likewise.
8647         * lib/open.c (rpl_open): Likewise.
8648
8649         fchdir: simplify error handling, and support dup3
8650         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
8651         stdbool, malloc-posix, realloc-posix.
8652         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
8653         (ensure_dirs_slot): Return false on allocation failure.
8654         (rpl_dup2): Delete.
8655         (_gl_register_dup): New function.
8656         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
8657         (_gl_register_fd): Close fd on allocation failure.
8658         * lib/fcntl.in.h (_gl_register_fd): Update signature.
8659         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
8660         prototype.
8661         (rpl_dup2_fchdir): Delete prototype.
8662         * lib/open.c (open): Update caller.
8663         * lib/dup2.c (dup2): Track fchdir metadata.
8664         * lib/dup3.c (dup3): Likewise.
8665         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
8666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
8667
8668 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8669
8670         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
8671         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
8672         don't pass arguments to AC_OUTPUT.
8673
8674 2009-09-02  Bruno Haible  <bruno@clisp.org>
8675
8676         * modules/mkdtemp (License): Relicense under LGPLv2+.
8677         Reported by Paolo Bonzini.
8678
8679 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8680
8681         Replace uses of obsolete autoconf macros in Jim's modules.
8682         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
8683         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
8684         can evoke a warning from autoconf when run with -Wobsolete
8685         enabled.  They were declared obsolete for good reasons (see
8686         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
8687         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
8688         should not continue using the deprecated macros.
8689         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
8690         obsolete Autoconf macros with modern counterparts.
8691         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8692         * m4/dos.m4 (gl_AC_DOS): Likewise.
8693         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
8694         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
8695         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
8696         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
8697         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
8698         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
8699         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
8700         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
8701         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
8702         Likewise.
8703         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8704         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
8705         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
8706         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
8707         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
8708         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
8709
8710 2009-09-01  Eric Blake  <ebb9@byu.net>
8711
8712         fchdir: fix off-by-one bug in previous patch
8713         * lib/fchdir.c (rpl_fstat): Use correct bounds.
8714         (_gl_unregister_fd): Delete useless if.
8715
8716 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
8717
8718         maint.mk: sort the list of syntax-check rules
8719         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
8720         easier to get a sense of progress when the rules are run sequentially
8721         and take a long time.
8722
8723 2009-09-01  Simon Josefsson  <simon@josefsson.org>
8724
8725         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
8726         * modules/netinet_in: Likewise.
8727         * modules/sys_file: Likewise.
8728         * modules/sys_ioctl: Likewise.
8729         * modules/sys_select: Likewise.
8730         * modules/sys_socket: Likewise.
8731         * modules/sys_stat: Likewise.
8732         * modules/sys_time: Likewise.
8733         * modules/sys_times: Likewise.
8734         * modules/sys_utsname: Likewise.
8735         * modules/sys_wait: Likewise.
8736
8737 2009-09-01  Jim Meyering  <meyering@redhat.com>
8738
8739         fts: help ensure that return values are not ignored
8740         * lib/fts_.h (__GNUC_PREREQ): Define.
8741         (__attribute_warn_unused_result__): Define.
8742         (fts_children, fts_close, fts_open, fts_read): Declare with
8743         __attribute_warn_unused_result__.
8744
8745         fts: fts_close now fails also when closing a dir file descriptor fails
8746         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
8747         and propagate to caller, along with errno.
8748
8749         announce-gen: correct formatting in --help output
8750         * build-aux/announce-gen (usage): Move the one-line description in
8751         --help output "up", to where it belongs, just after Usage:.
8752
8753 2009-08-31  Eric Blake  <ebb9@byu.net>
8754
8755         fchdir: port to mingw
8756         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
8757         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
8758         opened, then use a substitute.
8759         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
8760         replacement.
8761         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
8762         (_gl_register_fd): No need to check stat if open already filters
8763         all directories.
8764         (fchdir): Fix error condition to match POSIX.
8765         * modules/fchdir (Depends-on): Add sys_stat.
8766         * doc/posix-functions/open.texi (open): Document the limitation.
8767         * modules/fchdir-tests: New file.
8768         * tests/test-fchdir.c: Likewise.
8769
8770         canonicalize: allow cross-testing from cygwin to mingw
8771         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
8772         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
8773         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
8774         Likewise.
8775         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
8776         target does not support symlinks.
8777         * tests/test-canonicalize-lgpl.sh: Likewise.
8778
8779         chown: avoid compilation warning on mingw
8780         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
8781         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
8782         mingw.
8783         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8784         * modules/chown (Depends-on): Add errno.
8785
8786 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8787
8788         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
8789         command.
8790
8791 2009-08-31  Jim Meyering  <meyering@redhat.com>
8792
8793         canonicalize: remove useless initialization
8794         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
8795         initialization of local, "end".
8796
8797 2009-08-30  Bruno Haible  <bruno@clisp.org>
8798
8799         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
8800         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
8801         ENOSYS.
8802
8803 2009-08-30  Bruno Haible  <bruno@clisp.org>
8804
8805         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
8806         /usr/xpg4/bin/tr when it exists.
8807         * tests/test-pipe-filter-gi1.sh: Likewise.
8808
8809 2009-08-30  Bruno Haible  <bruno@clisp.org>
8810
8811         Work around deficient /usr/bin/id program on Solaris.
8812         * tests/test-file-has-acl.sh (ID): New variable.
8813         * tests/test-set-mode-acl.sh (ID): Likewise.
8814         * tests/test-copy-acl.sh (ID): Likewise.
8815         * tests/test-copy-file.sh (ID): Likewise.
8816
8817 2009-08-30  Bruno Haible  <bruno@clisp.org>
8818
8819         New module 'xstriconveh'.
8820         * lib/xstriconveh.h: New file.
8821         * lib/xstriconveh.c: New file.
8822         * modules/xstriconveh: New file.
8823
8824 2009-08-30  Bruno Haible  <bruno@clisp.org>
8825
8826         Make it easier to use mem_cd_iconveh.
8827         * lib/striconveh.h (iconveh_t): New type.
8828         (iconveh_open, iconveh_close): New declarations.
8829         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
8830         with a single 'const iconveh_t *' argument.
8831         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
8832         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
8833         with a single 'const iconveh_t *' argument.
8834         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
8835         * tests/test-striconveh.c (main): Update.
8836         * NEWS: Mention the change.
8837
8838 2009-08-30  Bruno Haible  <bruno@clisp.org>
8839
8840         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
8841         problem.
8842
8843 2009-08-30  Bruno Haible  <bruno@clisp.org>
8844
8845         Work around iconv_open problem on Solaris.
8846         * lib/iconv_open-solaris.gperf: New file.
8847         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
8848         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
8849         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
8850         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
8851         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
8852         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
8853
8854 2009-08-29  Jim Meyering  <meyering@redhat.com>
8855
8856         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
8857         * top/maint.mk (cvs-check): Remove target; it was just an alias
8858         to the better-named vc-diff-check.
8859         (maintainer-distcheck): Remove rule.  It was used only from
8860         the (alpha/beta/major) target, and all of its commands but one
8861         were coreutils-specific.
8862         (vc-dist): Remove rule.
8863         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
8864         Run vc-diff-check, not vc-dist.
8865         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
8866
8867 2009-08-27  Bruno Haible  <bruno@clisp.org>
8868
8869         * tests/test-bitrotate.c (main): Remove test that uses a shift count
8870         of 0.
8871
8872 2009-08-27  Bruno Haible  <bruno@clisp.org>
8873
8874         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
8875         compilers.
8876         * doc/func.texi: Document the SunPRO C bug.
8877
8878 2009-08-27  Bruno Haible  <bruno@clisp.org>
8879
8880         Fix link error on Solaris.
8881         * tests/test-parse-duration.c (xstrdup): Remove function.
8882
8883 2009-08-26  Pádraig Brady  <P@draigbrady.com>
8884
8885         ignore-value: handle pointer types, too
8886         * lib/ignore-value.h (__attribute__): Remove definition.
8887         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
8888         of a more concise and more-often effective "(void) i" statement.
8889         (ignore_ptr): New function to suppress warnings from functions that
8890         return pointers, and to make it explicit that one function doesn't
8891         handle all cases.
8892
8893 2009-08-25  Bruno Haible  <bruno@clisp.org>
8894
8895         dup2: work around a Linux bug.
8896         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
8897         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
8898         * doc/posix-functions/dup2.texi: Mention the Linux bug.
8899         Reported by Simon Josefsson.
8900
8901 2009-08-25  Jim Meyering  <meyering@redhat.com>
8902
8903         libguestfs uses gnulib
8904         * users.txt: Add libguestfs.
8905
8906 2009-08-24  Eric Blake  <ebb9@byu.net>
8907
8908         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
8909         * lib/pipe2.c (includes): Add binary-io.h.
8910         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
8911
8912 2009-08-24  Bruno Haible  <bruno@clisp.org>
8913
8914         Tolerate declared but missing accept4 syscall.
8915         * lib/accept4.c (accept4): Invoke original accept4 function first, if
8916         available.
8917         * lib/sys_socket.in.h (accept4): If the function is already present,
8918         override it.
8919         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
8920         * modules/accept4 (Makefile.am): Compile accept4.c always.
8921         Reported by Paolo Bonzini and Eric Blake.
8922
8923 2009-08-23  Bruno Haible  <bruno@clisp.org>
8924
8925         New module 'accept4'.
8926         * lib/sys_socket.in.h (accept4): New declaration.
8927         * lib/accept4.c: New file.
8928         * m4/accept4.m4: New file.
8929         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8930         GNULIB_ACCEPT4, HAVE_ACCEPT4.
8931         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
8932         HAVE_ACCEPT4.
8933         * modules/accept4: New file.
8934         * doc/glibc-functions/accept4.texi: Mention the new module.
8935
8936 2009-08-24  Jim Meyering  <meyering@redhat.com>
8937
8938         progname: also set global program_invocation_name, when possible
8939         Before this change, a libtool-enabled program that calls glibc's
8940         error function would report the program name as
8941         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
8942         * modules/progname (configure.ac): Check for a declaration of
8943         program_invocation_name.
8944         * lib/progname.c:  Include <errno.h>.
8945         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
8946         Set program_invocation_name.
8947
8948 2009-08-23  Bruno Haible  <bruno@clisp.org>
8949
8950         * lib/dup3.c: Include <string.h>.
8951
8952 2009-08-23  Bruno Haible  <bruno@clisp.org>
8953
8954         * lib/dup3.c (dup3): Test only once whether the system actually exists.
8955         * lib/pipe2.c (pipe2): Likewise.
8956         Suggested by Eric Blake.
8957
8958 2009-08-23  Bruno Haible  <bruno@clisp.org>
8959
8960         Tolerate declared but missing dup3 syscall.
8961         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
8962         * lib/unistd.in.h (dup3): If the function is already present,
8963         override it.
8964         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
8965         * modules/dup3 (Makefile.am): Compile dup3.c always.
8966         Reported by Paolo Bonzini.
8967
8968 2009-08-23  Bruno Haible  <bruno@clisp.org>
8969
8970         Tolerate declared but missing pipe2 syscall.
8971         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
8972         available.
8973         * lib/unistd.in.h (pipe2): If the function is already present,
8974         override it.
8975         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
8976         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
8977         Reported by Paolo Bonzini.
8978
8979 2009-08-23  Bruno Haible  <bruno@clisp.org>
8980
8981         * lib/pipe2.c (pipe2): Move #ifs inside function.
8982
8983 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
8984
8985         quotearg: document limitations of quote_these_too
8986         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
8987         those limitations are created.
8988         * lib/quotearg.h (set_char_quoting): Document that digits and
8989         letters that are special after backslash are not permitted.
8990         (quotearg_char): Cross-reference set_char_quoting documentation.
8991
8992 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
8993
8994         quotearg: implement custom_quoting_style
8995         * lib/quotearg.c: (struct quoting_options): Add left_quote and
8996         right_quote fields.
8997         (set_custom_quoting): New public function.
8998         (quotearg_buffer_restyled): Add left_quote and right_quote
8999         arguments, handle them very much like locale quoting, and update
9000         all uses.
9001         (quotearg_n_custom): New public function.
9002         (quotearg_n_custom_mem): New public function.
9003         (quotearg_custom): New public function.
9004         (quotearg_custom_mem): New public function.
9005         * lib/quotearg.h: Prototype and document new public functions.
9006         (enum quoting_style): For escape_quoting_style and
9007         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
9008         ignored even though they're otherwise like c_quoting_style.
9009         Add custom_quoting_style member and document with comparison to
9010         clocale_quoting_style.
9011         * tests/test-quotearg.c (custom_quotes): New array.
9012         (custom_results): New array.
9013         (main): Extend to test custom quoting.
9014
9015 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9016
9017         quotearg: fix right quote escaping when it's in quote_these_too
9018         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
9019         quote, be sure to prepend only one backslash.
9020         * tests/test-quotearg.c (use_quote_double_quotes): New function.
9021         (main): Test it.
9022
9023 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9024
9025         quotearg-tests: test escaping of embedded locale quotes
9026         * tests/test-quotearg.c (struct result_strings): Add member for
9027         new input.
9028         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
9029         (inputs): Add new input.
9030         (results_g): Add expected results.
9031         (flag_results): Likewise.
9032         (locale_results): Likewise.
9033         (compare_strings): Check those.
9034
9035 2009-08-23  Bruno Haible  <bruno@clisp.org>
9036
9037         Tests for module 'dup3'.
9038         * modules/dup3-tests: New file.
9039         * tests/test-dup3.c: New file.
9040
9041         New module 'dup3'.
9042         * lib/unistd.in.h (dup3): New declaration.
9043         * lib/dup3.c: New file.
9044         * m4/dup3.m4: New file.
9045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
9046         HAVE_DUP3.
9047         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
9048         * modules/dup3: New file.
9049         * doc/glibc-functions/dup3.texi: Mention the new module.
9050
9051 2009-08-23  Bruno Haible  <bruno@clisp.org>
9052
9053         Tweak the dup2 test.
9054         * tests/test-dup2.c (main): Create the test file empty. Verify that an
9055         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
9056         the test file is still empty. Fix argument order of lseek.
9057
9058 2009-08-23  Bruno Haible  <bruno@clisp.org>
9059
9060         Avoid test link errors when the modules getopt-gnu, gettext are used.
9061         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
9062         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9063
9064 2009-08-23  Bruno Haible  <bruno@clisp.org>
9065
9066         Fix getdtablesize() on mingw.
9067         * lib/getdtablesize.c (getdtablesize): Implement differently.
9068         * lib/unistd.in.h (getdtablesize): Improve comment.
9069
9070 2009-08-23  Bruno Haible  <bruno@clisp.org>
9071
9072         New module 'mkostemp'.
9073         Based on Ulrich Drepper's 2007-08-10 change in glibc.
9074         * lib/stdlib.in.h (mksotemp): New declaration.
9075         * lib/mkostemp.c: New file, from glibc with modifications.
9076         * lib/tempname.h (GT_FILE): Remove outdated comment.
9077         (gen_tempname): Add flags argument.
9078         * lib/tempname.c (__GT_BIGFILE): Remove macro.
9079         (__GT_FILE): Map to 1.
9080         (small_open, large_open): Remove macros.
9081         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
9082         * lib/mkstemp.c (mkstemp): Update.
9083         * lib/mkdtemp.c (mkdtemp): Likewise.
9084         * m4/mkostemp.m4: New file.
9085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
9086         HAVE_MKOSTEMP.
9087         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
9088         HAVE_MKOSTEMP.
9089         * modules/mkostemp: New file, based on modules/mkstemp.
9090         * doc/glibc-functions/mkostemp.texi: Mention the new module.
9091         * NEWS: Mention the change.
9092
9093 2009-08-23  Bruno Haible  <bruno@clisp.org>
9094
9095         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
9096         Reported by Eric Blake.
9097
9098 2009-08-23  Bruno Haible  <bruno@clisp.org>
9099
9100         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
9101         Reported by Eric Blake.
9102
9103 2009-08-23  Bruno Haible  <bruno@clisp.org>
9104
9105         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
9106         * modules/pipe2 (Depends-on): Likewise.
9107
9108 2009-08-23  Eric Blake  <ebb9@byu.net>
9109
9110         fcntl-h: add O_TTY_INIT support
9111         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
9112         * tests/test-fcntl-h.c (o): Test it.
9113         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9114
9115         fcntl-h: rename from fcntl, in preparation for fcntl(2)
9116         * modules/fcntl: Move <fcntl.h> header replacement...
9117         * modules/fcntl-h: ...to new name, so as not to collide with
9118         like-named function.
9119         * tests/test-fcntl.c: Rename...
9120         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
9121         * modules/fcntl-tests: Rename...
9122         * modules/fcntl-h-tests: ...to this.  Update test file name.
9123         * modules/chdir-long (Depends-on): Update clients.
9124         * modules/chdir-safer (Depends-on): Likewise.
9125         * modules/fcntl-safer (Depends-on): Likewise.
9126         * modules/fts (Depends-on): Likewise.
9127         * modules/mkancesdirs (Depends-on): Likewise.
9128         * modules/mkdir-p (Depends-on): Likewise.
9129         * modules/open (Depends-on): Likewise.
9130         * modules/savewd (Depends-on): Likewise.
9131         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
9132         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9133
9134 2009-08-22  Bruno Haible  <bruno@clisp.org>
9135
9136         * modules/binary-io (License): Relicense under LGPL.
9137         * modules/pipe2 (License): Likewise.
9138
9139 2009-08-22  Bruno Haible  <bruno@clisp.org>
9140
9141         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
9142         return value.
9143         * lib/pipe-filter-gi.c (filter_init): Likewise.
9144         Reported by Eric Blake.
9145
9146 2009-08-22  Bruno Haible  <bruno@clisp.org>
9147
9148         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
9149         * modules/pipe (Depends-on): Add pipe2.
9150
9151 2009-08-22  Bruno Haible  <bruno@clisp.org>
9152
9153         Tests for module 'pipe2'.
9154         * modules/pipe2-tests: New file.
9155         * tests/test-pipe2.c: New file.
9156
9157         New module 'pipe2'.
9158         * lib/unistd.in.h (pipe2): New declaration.
9159         * lib/pipe2.c: New file.
9160         * m4/pipe2.m4: New file.
9161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
9162         HAVE_PIPE2.
9163         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
9164         * modules/pipe2: New file.
9165         * doc/glibc-functions/pipe2.texi: Mention the new module.
9166
9167 2009-08-22  Bruno Haible  <bruno@clisp.org>
9168
9169         Reference some new glibc functions.
9170         * doc/glibc-functions/accept4.texi: New file.
9171         * doc/glibc-functions/dup3.texi: New file.
9172         * doc/glibc-functions/mkostemp.texi: New file.
9173         * doc/glibc-functions/pipe2.texi: New file.
9174         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
9175         (Glibc sys/socket.h): Refer to accept4.
9176         (Glibc unistd.h): Refer to dup3, pipe2.
9177         Reported by Eric Blake.
9178
9179 2009-08-22  Jim Meyering  <meyering@redhat.com>
9180             Bruno Haible  <bruno@clisp.org>
9181
9182         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
9183         This makes it so packages using automake-1.11's silent-rules option
9184         can print e.g., a single "GEN    configmake.h" line, rather than
9185         the 30+ statements that perform the job.  If you want to see the
9186         actual commands, you can still run "make V=1".
9187         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
9188         so that make output is abbreviated when those variables are defined
9189         appropriately.
9190         * modules/argz: Likewise.
9191         * modules/arpa_inet: Likewise.
9192         * modules/byteswap: Likewise.
9193         * modules/configmake: Likewise.
9194         * modules/dirent: Likewise.
9195         * modules/errno: Likewise.
9196         * modules/fcntl: Likewise.
9197         * modules/float: Likewise.
9198         * modules/fnmatch: Likewise.
9199         * modules/getopt-posix: Likewise.
9200         * modules/glob: Likewise.
9201         * modules/iconv_open: Likewise.
9202         * modules/inttypes: Likewise.
9203         * modules/localcharset: Likewise.
9204         * modules/locale: Likewise.
9205         * modules/math: Likewise.
9206         * modules/netdb: Likewise.
9207         * modules/netinet_in: Likewise.
9208         * modules/poll: Likewise.
9209         * modules/posix_spawnp-tests: Likewise.
9210         * modules/sched: Likewise.
9211         * modules/search: Likewise.
9212         * modules/selinux-h: Likewise.
9213         * modules/signal: Likewise.
9214         * modules/spawn: Likewise.
9215         * modules/stdarg: Likewise.
9216         * modules/stdbool: Likewise.
9217         * modules/stddef: Likewise.
9218         * modules/stdint: Likewise.
9219         * modules/stdio: Likewise.
9220         * modules/stdlib: Likewise.
9221         * modules/string: Likewise.
9222         * modules/strings: Likewise.
9223         * modules/sys_file: Likewise.
9224         * modules/sys_ioctl: Likewise.
9225         * modules/sys_select: Likewise.
9226         * modules/sys_socket: Likewise.
9227         * modules/sys_stat: Likewise.
9228         * modules/sys_time: Likewise.
9229         * modules/sys_times: Likewise.
9230         * modules/sys_utsname: Likewise.
9231         * modules/sys_wait: Likewise.
9232         * modules/sysexits: Likewise.
9233         * modules/time: Likewise.
9234         * modules/unistd: Likewise.
9235         * modules/wchar: Likewise.
9236         * modules/wctype: Likewise.
9237
9238 2009-08-22  Jim Meyering  <meyering@redhat.com>
9239
9240         announce-gen: detect write failure
9241         * build-aux/announce-gen: Add Coda at end.
9242         Remove equivalent-but-more-verbose block at top.
9243
9244 2009-08-19  Akim Demaille  <demaille@gostai.com>
9245
9246         bootstrap: --help to stdout.
9247         * bootstrap (usage): Don't send --help to stderr.
9248         Use a here doc instead of a long string.
9249
9250 2009-08-21  Eric Blake  <ebb9@byu.net>
9251
9252         test-popen-safer: split from test-popen
9253         * tests/test-popen.c (main): Move...
9254         * tests/test-popen.h: ...into new file.
9255         * tests/test-popen-safer2.c: New file.
9256         * modules/popen-tests (Files): Add test-popen.h.
9257         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
9258         Suggested by Bruno Haible.
9259
9260         test-fcntl-safer: split from test-open
9261         * tests/test-open.c (main): Move...
9262         * tests/test-open.h: ...into new file.
9263         * tests/test-fcntl-safer.c: New file.
9264         * modules/open-tests (Files): Add test-open.h.
9265         * modules/fcntl-safer-tests: New file.
9266         Suggested by Bruno Haible.
9267
9268         test-fopen-safer: split from test-fopen
9269         * tests/test-fopen.c (main): Move...
9270         * tests/test-fopen.h: ...into new file.
9271         * tests/test-fopen-safer.c: New file.
9272         * modules/fopen-tests (Files): Add test-fopen.h.
9273         * modules/fopen-safer-tests: New file.
9274         Suggested by Bruno Haible.
9275
9276 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9277
9278         popen-safer: test O_CLOEXEC at run-time.
9279         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
9280
9281 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9282
9283         fcntl: move more flags to the header
9284         * lib/cloexec.c: Do not define FD_CLOEXEC here.
9285         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
9286         * lib/fcntl.in.h: Do both things here.
9287
9288 2009-08-21  Jim Meyering  <meyering@redhat.com>
9289
9290         consistently remove $@-t before redirecting to it
9291         * modules/argz: Remove $@-t and $@ before redirecting to the former.
9292         * modules/alloca-opt: Likewise.
9293         * modules/byteswap: Likewise.
9294         * modules/fnmatch: Likewise.
9295         * modules/getopt-posix: Likewise.
9296         * modules/glob: Likewise.
9297         * modules/poll: Likewise.
9298         * modules/posix_spawnp-tests: Likewise.
9299         * modules/sys_socket: Likewise.
9300         * modules/sysexits: Likewise.
9301
9302 2009-08-21  Eric Blake  <ebb9@byu.net>
9303
9304         popen: simplify access to original popen
9305         * lib/popen.c (rpl_popen): No need to worry about popen being a
9306         macro.
9307         Reported by Bruno Haible.
9308
9309 2009-08-20  Eric Blake  <ebb9@byu.net>
9310
9311         build: avoid some compiler warnings
9312         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
9313         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
9314         type.
9315         (new_exclude_segment, excluded_file_pattern_p)
9316         (excluded_file_name_p): Reduce scope.
9317         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
9318         old-style declaration.
9319
9320 2009-08-20  Simon Josefsson  <simon@josefsson.org>
9321
9322         * tests/test-exclude1.sh: Handle Windows EOL.
9323         * tests/test-exclude2.sh: Likewise.
9324         * tests/test-exclude3.sh: Likewise.
9325         * tests/test-exclude4.sh: Likewise.
9326         * tests/test-exclude5.sh: Likewise.
9327         * tests/test-exclude6.sh: Likewise.
9328         * tests/test-exclude7.sh: Likewise.
9329
9330 2009-08-19  Akim Demaille  <demaille@gostai.com>
9331
9332         bootstrap: find sha1sum when named gsha1sum.
9333         * bootstrap (find_tool): New.
9334         ($SHA1SUM): New.
9335         Use it.
9336
9337 2009-08-20  Jim Meyering  <meyering@redhat.com>
9338
9339         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
9340         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
9341         expression that converts "." in a file name to "\." in the resulting
9342         regexp.  Start with a dummy statement, so that prior shell variable
9343         definitions are expanded portably.  Reported by Simon Josefsson.
9344
9345 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
9346
9347         Fix polling for writeability of a screen buffer.
9348         * lib/poll.c: Distinguish input and screen buffers for the
9349         Win32 implementation.
9350         * lib/select.c: Likewise.
9351
9352 2009-08-19  Eric Blake  <ebb9@byu.net>
9353
9354         popen-safer: prevent popen from clobbering std descriptors
9355         * modules/popen-safer: New file.
9356         * lib/popen-safer.c: Likewise.
9357         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
9358         * lib/stdio--.h (popen): Provide override.
9359         * lib/stdio-safer.h (popen_safer): Provide declaration.
9360         * tests/test-popen.c (includes): Partially test this.
9361         * modules/popen-safer-tests: New file, for more tests.
9362         * tests/test-popen-safer.c: Likewise.
9363         * MODULES.html.sh (file stream based Input/Output): Mention it.
9364
9365         tests: test some of the *-safer modules
9366         * modules/fopen-safer (Depends-on): Add fopen.
9367         * modules/fcntl-safer (Depends-on): Add fcntl.
9368         * modules/stdlib-safer (Depends-on): Add stdlib.
9369         (configure.ac): Set indicator.
9370         * modules/unistd-safer (configure.ac): Likewise.
9371         * modules/tmpfile-safer (configure.ac): Likewise.
9372         (Depends-on): Add tmpfile.
9373         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
9374         active.
9375         * tests/test-fopen.c (includes): Test safer versions when they are
9376         in use.
9377         * tests/test-open.c (includes): Likewise.
9378
9379         popen: fix cygwin 1.5 bug when stdin closed
9380         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
9381         * modules/popen: New file.
9382         * modules/popen-tests: Likewise.
9383         * tests/test-popen.c: Likewise.
9384         * m4/popen.m4: Likewise.
9385         * lib/popen.c: Likewise.
9386         * lib/stdio.in.h (popen): New declaration.
9387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
9388         * modules/stdio (Makefile.am): Likewise.
9389         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
9390
9391 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
9392
9393         maint.mk: give full control over update-copyright exclusions
9394         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
9395         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
9396         (update-copyright): Don't force inclusion of top-level
9397         ChangeLog.  Don't force exclusion of all COPYING files, but make
9398         them the default exclusion instead.
9399
9400 2009-08-16  Bruno Haible  <bruno@clisp.org>
9401
9402         Fix test failures on Solaris 10.
9403         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
9404         tests when Solaris iconv() is used.
9405         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9406         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9407         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9408         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9409         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9410
9411 2009-08-16  Bruno Haible  <bruno@clisp.org>
9412
9413         Fix test failures on Solaris 10.
9414         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
9415         'tr' program and pass it as first argument.
9416         * tests/test-pipe-filter-gi1.sh: Likewise.
9417         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
9418         program as first argument.
9419         * tests/test-pipe-filter-gi1.c (main): Likewise.
9420
9421 2009-08-16  Eric Blake  <ebb9@byu.net>
9422
9423         fpurge: fix previous commits
9424         * modules/fpurge (Makefile.am): Make replacement conditional,
9425         partially reverting 2007-04-29 change; missed in previous
9426         attempt.
9427         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
9428         is missing.
9429
9430 2009-08-16  Bruno Haible  <bruno@clisp.org>
9431
9432         Clarify fpurge's effect on the file position.
9433         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
9434         * tests/test-fpurge.c (main): Make a second pass for checking the file
9435         position.
9436
9437 2009-08-16  Bruno Haible  <bruno@clisp.org>
9438
9439         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
9440         declaration of fpurge is missing.
9441         * tests/test-fpurge.c (main): Check that the file has not more contents
9442         than expected. Close the file before removing it.
9443
9444 2009-08-15  Eric Blake  <ebb9@byu.net>
9445
9446         fpurge: don't wrap working cygwin implementation
9447         * lib/fpurge.c (fpurge): Fix comment typo.
9448         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
9449         1.7 to avoid replacement.
9450         * tests/test-fpurge.c (main): Enhance test.
9451
9452 2009-08-15  Eric Blake  <ebb9@byu.net>
9453         and Jim Meyering  <meyering@redhat.com>
9454
9455         test-update-copyright: skip if perl is insufficient
9456         * tests/test-update-copyright.sh: Failure to run maintainer tool
9457         should not cause testsuite failure on cygwin 1.5.
9458
9459 2009-08-14  Eric Blake  <ebb9@byu.net>
9460
9461         doc: mention more functions added in cygwin 1.7.0
9462         * doc/posix-headers/limits.texi (limits.h): Update for recent
9463         cygwin additions.
9464         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
9465         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9466         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
9467         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
9468         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
9469
9470 2009-08-14  Eric Blake  <ebb9@byu.net>
9471
9472         maint.mk: simplify update-copyright rule
9473         * top/maint.mk (update-copyright-local): Delete, and document how
9474         to do it in cfg.mk instead.
9475         (update-copyright-exclude-regexp): Delete, and document how to do
9476         it in .x-update-copyright instead.
9477         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
9478         exclude ChangeLog.
9479
9480 2009-08-14  Bruno Haible  <bruno@clisp.org>
9481
9482         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
9483
9484 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9485
9486         maint.mk: support update-copyright-env
9487         * top/maint.mk (update-copyright-env): Define place-holder.
9488         (update-copyright): Expand $(update-copyright-env) before
9489         invoking update-copyright.
9490
9491 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9492
9493         update-copyright: implement forced reformatting
9494         * build-aux/update-copyright: Implement and document
9495         UPDATE_COPYRIGHT_FORCE.
9496         * tests/test-update-copyright.sh: Test it.
9497
9498 2009-08-14  Eric Blake  <ebb9@byu.net>
9499         and Bruno Haible  <bruno@clisp.org>
9500
9501         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
9502         * tests/test-locale.c: Revert previous patch related to NULL.
9503         * tests/test-stdio.c: Likewise.
9504         * tests/test-stdlib.c: Likewise.
9505         * tests/test-string.c: Likewise.
9506         * tests/test-unistd.c: Likewise.
9507         * modules/time-tests (Depends-on): Add verify.
9508         * modules/wchar-tests (Depends-on): Likewise.
9509         * tests/test-time.c: Test for NULL compliance.
9510         * tests/test-wchar.c: Likewise.
9511         * modules/locale (Depends-on): Add stddef.
9512         * modules/stdio (Depends-on): Likewise.
9513         * modules/stdlib (Depends-on): Likewise.
9514         * modules/string (Depends-on): Likewise.
9515         * modules/time (Depends-on): Likewise.
9516         * modules/unistd (Depends-on): Likewise.
9517         * modules/wchar (Depends-on): Likewise.
9518         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
9519         * lib/stdlib.in.h (includes): Likewise.
9520         * lib/string.in.h (includes): Likewise.
9521         * lib/time.in.h (includes): Likewise.
9522         * lib/unistd.in.h (includes): Likewise.
9523         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
9524         replaced.
9525         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9526         * m4/stddef_h.m4: New file.
9527         * modules/stddef: Likewise.
9528         * lib/stddef.in.h: Likewise.
9529         * modules/stddef-tests: Likewise.
9530         * tests/test-stddef.c: Likewise.
9531         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
9532         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
9533         * doc/posix-headers/locale.texi (locale.h): Likewise.
9534         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
9535         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9536         * doc/posix-headers/string.texi (string.h): Likewise.
9537         * doc/posix-headers/time.texi (time.h): Likewise.
9538         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
9539         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
9540
9541 2009-08-14  Eric Blake  <ebb9@byu.net>
9542
9543         doc: improve git diff of texinfo files
9544         * .gitattributes: Add rule for *.texi files, with hint on how to
9545         use it.
9546         Copied from m4, and based on a report by Bruno Haible.
9547
9548 2009-08-14  Bruno Haible  <bruno@clisp.org>
9549
9550         Disable multithread support by default on Cygwin 1.5.x for real.
9551         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
9552
9553 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9554
9555         update-copyright: much ado about intervals
9556         * build-aux/update-copyright: Implement and document
9557         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
9558         of copyright year intervals.
9559         Also, document UPDATE_COPYRIGHT_YEAR.
9560         * tests/test-update-copyright.sh: Test it.
9561
9562         update-copyright: convert 2-digit to 4-digit years
9563         * build-aux/update-copyright: Implement and document.
9564         * tests/test-update-copyright.sh: Update.
9565
9566 2009-08-14  Jim Meyering  <meyering@redhat.com>
9567
9568         test-exclude: avoid coreutils "make check" failure
9569         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
9570         just as in test-argmatch.c.
9571
9572 2009-08-13  Eric Blake  <ebb9@byu.net>
9573
9574         test-dup2: fix bad assumption
9575         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
9576         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
9577
9578         test-version-etc: fix CRLF portability issue
9579         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
9580         recognize \r.
9581         * tests/test-argp-version-etc-1.sh: Likewise.
9582
9583         getopt: update client modules
9584         * modules/argp (Depends-on): Use getopt-gnu.
9585         * modules/git-merge-changelog (Depends-on): Likewise.
9586         * modules/long-options (Depends-on): Likewise.
9587         * modules/xstrtol (Depends-on): Likewise.
9588
9589 2009-08-13  Simon Josefsson  <simon@josefsson.org>
9590
9591         * tests/test-version-etc.sh: Don't fail on different
9592         project/version.  Don't fail on CRLF differences.  Rewrite to use
9593         multiple -e instead of multiple sed forks, suggested by Eric Blake
9594         <ebb9@byu.net>.
9595         * tests/test-argp-version-etc-1.sh: Likewise.
9596
9597 2009-08-13  Simon Josefsson  <simon@josefsson.org>
9598
9599         * tests/test-version-etc.sh: Don't fail on different
9600         project/version.
9601
9602 2009-08-12  Bruno Haible  <bruno@clisp.org>
9603
9604         Tests for modules 'getopt-posix', 'getopt-gnu'.
9605         * modules/getopt-posix-tests: New file.
9606         * tests/test-getopt.c: New file.
9607         * tests/test-getopt.h: New file.
9608         * tests/test-getopt_long.h: New file.
9609
9610         New modules 'getopt-posix', 'getopt-gnu'.
9611         * modules/getopt-gnu: New file, renamed from modules/getopt.
9612         * modules/getopt-posix: New file.
9613         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
9614         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
9615         (gl_GETOPT): Remove macro.
9616         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
9617         Disable the test against BSD systems that declare optreset. Test
9618         against mingw bug. Test against lack of support of optional arguments
9619         on many platforms.
9620         * doc/glibc-headers/getopt.texi: Update module name and list of
9621         relevant platforms.
9622         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
9623         'getopt-gnu' and more portability problems.
9624         * NEWS: Mention the changes.
9625
9626 2009-08-12  Bruno Haible  <bruno@clisp.org>
9627
9628         Ensure that optarg etc. get declared by <unistd.h>.
9629         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
9630         AC_USE_SYSTEM_EXTENSIONS.
9631         * modules/getopt (Depends-on): Add 'extensions'.
9632
9633 2009-08-12  Bruno Haible  <bruno@clisp.org>
9634
9635         Avoid test link errors.
9636         * modules/pipe-filter-ii-tests (Makefile.am): Define
9637         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
9638         * modules/pipe-filter-gi-tests (Makefile.am): Define
9639         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
9640         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9641
9642 2009-08-12  Bruno Haible  <bruno@clisp.org>
9643
9644         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
9645         gl_GETOPT_SUBSTITUTE before.
9646         (gl_GETOPT): Use it.
9647         * m4/argp.m4 (gl_ARGP): Update.
9648         Reported by Sergey Poznyakoff.
9649
9650         * m4/getopt.m4: Reorder macros.
9651         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
9652         (gl_GETOPT_SUBSTITUTE): Remove macro.
9653
9654 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
9655
9656         Minor improvement in gitlog-to-changelog
9657
9658         * build-aux/gitlog-to-changelog: New option `--format' makes
9659         output format string configurable.
9660
9661 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
9662
9663         Optimize exclude: use hash tables for non-wildcard patterns.
9664
9665         * lib/exclude.c: Include hash.h and mbuiter.h
9666         (struct exclude_pattern, exclude_segment): New data types.
9667         (struct exclude): Rewrite.
9668         (fnmatch_pattern_has_wildcards): New function.
9669         (new_exclude_segment, free_exclude_segment): New functions.
9670         (excluded_file_pattern_p, excluded_file_name_p): New functions.
9671         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
9672         * lib/exclude.h (is_fnmatch_pattern): New prototype.
9673         * modules/exclude: Depend on hash and mbuiter.
9674
9675         * modules/exclude-tests: New file.
9676         * tests/test-exclude.c: New file.
9677         * tests/test-exclude1.sh: New file.
9678         * tests/test-exclude2.sh: New file.
9679         * tests/test-exclude3.sh: New file.
9680         * tests/test-exclude4.sh: New file.
9681         * tests/test-exclude5.sh: New file.
9682         * tests/test-exclude6.sh: New file.
9683         * tests/test-exclude7.sh: New file.
9684
9685 2009-08-12  Bruno Haible  <bruno@clisp.org>
9686
9687         Ensure that getopt() gets declared by <unistd.h>.
9688         * lib/unistd.in.h: Conditionally include getopt.h.
9689         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
9690         Set GNULIB_UNISTD_H_GETOPT.
9691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9692         GNULIB_UNISTD_H_GETOPT.
9693         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
9694
9695 2009-08-12  Bruno Haible  <bruno@clisp.org>
9696
9697         Clarify logic.
9698         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
9699         gl_replace_getopt instead of GETOPT_H.
9700
9701 2009-08-12  Bruno Haible  <bruno@clisp.org>
9702
9703         * m4/getopt.m4: Add comments.
9704
9705 2009-08-12  Bruno Haible  <bruno@clisp.org>
9706
9707         Disable multithread support by default on Cygwin 1.5.x.
9708         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
9709         set gl_use_threads=no if not specified otherwise.
9710
9711 2009-08-11  Bruno Haible  <bruno@clisp.org>
9712
9713         Avoid compilation error on NetBSD 5.0.
9714         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
9715         * tests/test-stdio.c: Likewise.
9716         * tests/test-stdlib.c: Likewise.
9717         * tests/test-string.c: Likewise.
9718         * tests/test-unistd.c: Likewise.
9719         Reported by Greg Troxel <gdt@ir.bbn.com>
9720         at <https://savannah.gnu.org/support/?106973>.
9721
9722 2009-08-11  Bruno Haible  <bruno@clisp.org>
9723
9724         * modules/dup2-tests (Depends-on): Remove close.
9725
9726         Undo 2009-07-19 commit.
9727         * modules/acl-tests (Depends-on): Remove close.
9728         * modules/binary-io-tests (Depends-on): Likewise.
9729         * modules/closein-tests (Depends-on): Likewise.
9730         * modules/flock-tests (Depends-on): Likewise.
9731         * modules/fsync-tests (Depends-on): Likewise.
9732         * modules/lseek-tests (Depends-on): Likewise.
9733         * modules/pipe-tests (Depends-on): Likewise.
9734         * modules/posix_spawn-tests (Depends-on): Likewise.
9735         * modules/posix_spawnp-tests (Depends-on): Likewise.
9736         * modules/stat-time-tests (Depends-on): Likewise.
9737         * modules/yesno-tests (Depends-on): Likewise.
9738
9739 2009-08-10  Bruno Haible  <bruno@clisp.org>
9740
9741         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
9742
9743 2009-08-10  Bruno Haible  <bruno@clisp.org>
9744
9745         Fix a gcc warning.
9746         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
9747
9748 2009-08-10  Bruno Haible  <bruno@clisp.org>
9749
9750         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
9751         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
9752         not only the first time.
9753         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
9754         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
9755         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
9756         is 1, not only the the first time.
9757
9758 2009-08-10  Bruno Haible  <bruno@clisp.org>
9759
9760         Make it possible to use module 'gethostname' without module 'close'.
9761         * lib/unistd.in.h (close): Evoke a link error only if
9762         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
9763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9764         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9765         * modules/unistd (Makefile.am): Substitute
9766         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9767         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
9768         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
9769         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
9770         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9771         * modules/sys_ioctl (Makefile.am): Substitute
9772         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9773         * modules/socket (configure.ac): On native Windows, set
9774         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
9775         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9776         Reported by Sam Steingold <sds@gnu.org>.
9777
9778 2009-08-10  Bruno Haible  <bruno@clisp.org>
9779
9780         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
9781         * modules/ioctl (configure.ac): Likewise.
9782
9783 2009-08-10  Bruno Haible  <bruno@clisp.org>
9784
9785         Avoid collision between gnulib wrapper and libintl wrapper.
9786         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
9787         already defined in intl/printf.c.
9788         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
9789         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
9790
9791 2009-08-09  Bruno Haible  <bruno@clisp.org>
9792
9793         Make <sys/select.h> really self-contained, also on Solaris 10.
9794         * lib/sys_select.in.h: Include <string.h>.
9795         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
9796         Solaris 10 problem.
9797         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
9798         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
9799         Reported by Jim Meyering.
9800
9801 2009-08-09  Bruno Haible  <bruno@clisp.org>
9802
9803         Avoid warnings from 'aclocal' that are due to a use of macro name
9804         AM_XGETTEXT_OPTION that is not defined in automake.
9805         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
9806         automake.
9807         * modules/error (configure.ac): Likewise.
9808         * modules/propername (configure.ac): Likewise.
9809         * modules/vasprintf (configure.ac): Likewise.
9810         * modules/verror (configure.ac): Likewise.
9811         * modules/xprintf (configure.ac): Likewise.
9812         * modules/xvasprintf (configure.ac): Likewise.
9813
9814 2009-08-08  Bruno Haible  <bruno@clisp.org>
9815
9816         Avoid compilation error in C++ mode.
9817         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
9818         Reported by Sam Steingold <sds@gnu.org>.
9819
9820 2009-08-08  Bruno Haible  <bruno@clisp.org>
9821
9822         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
9823         for the various Unix platforms.
9824         * doc/posix-headers/limits.texi: Update platforms list regarding
9825         HOST_NAME_MAX.
9826         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9827
9828 2009-08-07  Jim Meyering  <meyering@redhat.com>
9829
9830         selinux-at: fix typo in a comment
9831         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
9832         Spotted by Paolo Bonzini.
9833
9834         selinux-at: remove redundant m4 code, add documentation
9835         * modules/selinux-at (configure.ac): Remove redundant code.
9836         LIB_SELINUX is already set via the dependent module, selinux-h.
9837         (Include): Add quotes around selinux-at.h.
9838         * lib/selinux-at.h: Add documentation.
9839         Reported by Bruno Haible in
9840         http://marc.info/?l=gnulib-bug&m=124958988300749
9841
9842 2009-08-07  Bruno Haible  <bruno@clisp.org>
9843
9844         Avoid link error on MacOS X 10.3 and 10.4.
9845         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
9846         on non-ELF systems.
9847         * lib/argp-pv.c (argp_program_version): Likewise.
9848         Reported by Simon Josefsson.
9849
9850 2009-08-07  Simon Josefsson  <simon@josefsson.org>
9851
9852         * tests/test-version-etc.sh: Use $EXEEXT.
9853
9854 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
9855
9856         update-copyright: update documentation to point to maint.mk
9857         * build-aux/update-copyright: Here.
9858
9859 2009-08-06  Jim Meyering  <meyering@redhat.com>
9860
9861         maint.mk: support update-copyright-local
9862         * top/maint.mk (update-copyright-local): Define place-holder.
9863         (update-copyright): Depend on $(update-copyright-local).
9864
9865 2009-08-06  Jim Meyering  <meyering@redhat.com>
9866
9867         selinux-at: new module
9868         Initially written for coreutils, this module will soon be
9869         used by findutils, too.
9870         * MODULES.html.sh [Misc]: Add selinux-at.
9871         * lib/selinux-at.h: New file, from coreutils.
9872         * lib/selinux-at.c: Likewise.
9873         * modules/selinux-at: Likewise.
9874         (License): Change from LGPL to GPL, since it depends
9875         on the GPL'd openat module.
9876
9877         doc: update README
9878         * README: Remove references to cogito.
9879         Remove cvs-repo-updating instructions from 2007.
9880         Don't imply that CVS is better if you have limited disk space.
9881
9882 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9883
9884         update-copyright: support C-style comments
9885         * build-aux/update-copyright: Implement and document.
9886         * tests/test-update-copyright.sh: Test.
9887
9888 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9889
9890         update-copyright: support omitted "(C)"
9891         * build-aux/update-copyright: Implement and document.  Also,
9892         allow variable whitespace before "(C)".
9893         * tests/test-update-copyright.sh: Test.
9894
9895 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9896
9897         update-copyright: don't trip on non-FSF copyright statements
9898         * build-aux/update-copyright: Fix so that the first correctly
9899         formatted FSF copyright statement is recognized no matter what
9900         appears before it.  Update documentation.
9901         * tests/test-update-copyright.sh: Test that.
9902
9903 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9904
9905         update-copyright: clean up code a little
9906         * build-aux/update-copyright: Append "_re" to the name of any
9907         variable holding a regular expression.
9908         Replace "old" and "new" with "stmt" in variable names.
9909         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
9910         handled correctly.
9911         Format code more consistently.
9912
9913 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9914
9915         update-copyright-tests: improve portability
9916         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
9917         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
9918
9919 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
9920
9921         update-copyright: support @copyright{} and &copy;
9922         * build-aux/update-copyright: Implement and document.
9923         * tests/test-update-copyright.sh: Test.
9924
9925 2009-08-04  Jim Meyering  <meyering@redhat.com>
9926
9927         update-copyright-tests: correctly test EOL=\r\n handling
9928         * tests/test-update-copyright.sh: Put \r at the end of some lines
9929         for the dos-eol tests.  Based on a patch by Joel E. Denny.
9930
9931         maint.mk: make update-copyright exclusion list more configurable
9932         * top/maint.mk (update-copyright): Default to excluding COPYING,
9933         but allow an override, in case someone does want to update that file.
9934
9935         maint.mk: don't update copyright date in COPYING
9936         * top/maint.mk (update-copyright): Exclude COPYING.
9937
9938         maint.mk: add a copyright-updating rule
9939         * top/maint.mk (update-copyright): New rule.
9940         Derived from coreutils/Makefile.am.
9941
9942         update-copyright: rename some variables
9943         * build-aux/update-copyright: Rename a few variables for clarity.
9944         Tweak syntax.  List Joel E. Denny as coauthor.
9945
9946 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
9947
9948         update-copyright: fix bug for 2-digit last year and add tests
9949         * build-aux/update-copyright: Fix bug.
9950         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
9951         specified.
9952         * modules/update-copyright-tests: New
9953         * tests/test-update-copyright.sh: New.
9954
9955 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
9956
9957         update-copyright: handle leading tabs in line prefix
9958         * build-aux/update-copyright: Count leading tabs as 8 spaces
9959         when computing margin.  This helps with the formatting of
9960         ChangeLogs, for example.
9961         Fix documentation a little.
9962
9963 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
9964
9965         update-copyright: support EOL=\r\n
9966         * build-aux/update-copyright: Implement that.
9967
9968 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
9969
9970         update-copyright: automatically format copyright statements
9971         * build-aux/update-copyright: Implement that.
9972         Also, be a little more predictable and safer by always failing
9973         when the full copyright format is not perfectly recognized as an
9974         unbroken whole.  Discussed at
9975         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
9976         Rewrite documentation.
9977
9978 2009-08-03  Bruno Haible  <bruno@clisp.org>
9979
9980         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
9981
9982 2009-08-02  Bruno Haible  <bruno@clisp.org>
9983
9984         Tests for module 'uname'.
9985         * modules/uname-tests: New file.
9986         * tests/test-uname.c: New file.
9987
9988         New module 'uname'.
9989         * lib/uname.c: New file.
9990         * m4/uname.m4: New file.
9991         * modules/uname: New file.
9992         * doc/posix-functions/uname.texi: Mention the new module.
9993
9994 2009-08-02  Bruno Haible  <bruno@clisp.org>
9995
9996         Tests for module 'sys_utsname'.
9997         * modules/sys_utsname-tests: New file.
9998         * tests/test-sys_utsname.c: New file.
9999
10000         New module 'sys_utsname'.
10001         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
10002         * m4/sys_utsname_h.m4: New file.
10003         * modules/sys_utsname: New file.
10004         * doc/posix-headers/sys_utsname.texi: Mention the new module.
10005
10006 2009-08-02  Bruno Haible  <bruno@clisp.org>
10007
10008         Implicitly initialize the sockets library.
10009         * lib/gethostname.c: Include sockets.h.
10010         (rpl_gethostname): Invoke gl_sockets_startup.
10011         * lib/socket.c: Include sockets.h.
10012         (rpl_socket): Invoke gl_sockets_startup.
10013         * modules/gethostname (Depends-on): Add sockets.
10014         * modules/socket (Depends-on): Likewise.
10015         * tests/test-poll.c: Don't include sockets.h.
10016         (main): Don't invoke gl_sockets_startup.
10017         * tests/test-select.c: Don't include sockets.h.
10018         (main): Don't invoke gl_sockets_startup.
10019
10020 2009-08-02  Bruno Haible  <bruno@clisp.org>
10021
10022         Allow multiple calls to gl_sockets_startup.
10023         * lib/sockets.c (initialized_sockets_version): New variable.
10024         (gl_sockets_startup): Do nothing if already called for this or a higher
10025         version.
10026         (gl_sockets_cleanup): Reset initialized_sockets_version.
10027
10028 2009-08-03  Simon Josefsson  <simon@josefsson.org>
10029
10030         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
10031         different project/version.
10032
10033 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
10034             Bruno Haible  <bruno@clisp.org>
10035
10036         Tests for module 'pipe-filter-gi'.
10037         * modules/pipe-filter-gi-tests: New file.
10038         * tests/test-pipe-filter-gi1.sh: New file.
10039         * tests/test-pipe-filter-gi1.c: New file.
10040         * tests/test-pipe-filter-gi2.sh: New file.
10041         * tests/test-pipe-filter-gi2-main.c: New file.
10042         * tests/test-pipe-filter-gi2-child.c: New file.
10043
10044         New module 'pipe-filter-gi'.
10045         * lib/pipe-filter-gi.c: New file.
10046         * modules/pipe-filter-gi: New file.
10047
10048 2009-08-02  Bruno Haible  <bruno@clisp.org>
10049             Paolo Bonzini  <bonzini@gnu.org>
10050
10051         Tests for module 'pipe-filter-ii'.
10052         * modules/pipe-filter-ii-tests: New file.
10053         * tests/test-pipe-filter-ii1.sh: New file.
10054         * tests/test-pipe-filter-ii1.c: New file.
10055         * tests/test-pipe-filter-ii2.sh: New file.
10056         * tests/test-pipe-filter-ii2-main.c: New file.
10057         * tests/test-pipe-filter-ii2-child.c: New file.
10058
10059         New module 'pipe-filter-ii'.
10060         * lib/pipe-filter.h: New file.
10061         * lib/pipe-filter-ii.c: New file.
10062         * lib/pipe-filter-aux.h: New file.
10063         * modules/pipe-filter-ii: New file.
10064
10065 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10066
10067         * lib/gc-libgcrypt.c: Change copyright to FSF.
10068         * lib/gc-gnulib.c: Likewise.
10069
10070 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
10071
10072         * lib/gethostname.c: Include limits.h.
10073
10074 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10075             Bruno Haible  <bruno@clisp.org>
10076
10077         Ensure HOST_NAME_MAX as part of the gethostname module.
10078         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10079         define also HOST_NAME_MAX.
10080         * tests/test-gethostname.c: Include <limits.h>.
10081         (main): Check also HOST_NAME_MAX.
10082         * doc/posix-headers/limits.texi: Document the mingw problem.
10083
10084 2009-08-02  Bruno Haible  <bruno@clisp.org>
10085
10086         * lib/gethostname.c (gethostname): Fix handling of large len argument.
10087         Add comments.
10088
10089 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10090
10091         * lib/gethostname.c: Add Windows wrapper.
10092         * m4/gethostname.m4: Look for gethostname in -lws2_32.
10093         * modules/gethostname: Depend on sys_socket & errno, for also
10094         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
10095         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
10096
10097 2009-07-31  Jim Meyering  <meyering@redhat.com>
10098
10099         getloadavg: fix symbol name in comment
10100         * lib/getloadavg.c: Correct a typo I introduced when adding
10101         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
10102         Matt Kraai spotted the problem.
10103
10104 2009-07-29  Matt Kraai  <mkraai@beckman.com>
10105
10106         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
10107         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
10108         code also if ! defined N_NAME_POINTER.
10109         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
10110         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
10111         but the n_name member is a 12-byte array.
10112
10113 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
10114
10115         update-copyright: generalize comment handling
10116         * build-aux/update-copyright: Handle copyright statements
10117         within more comment styles.
10118         Document usage.
10119         Report any file with an external copyright holder or parse failure.
10120
10121 2009-07-29  Jim Meyering  <meyering@redhat.com>
10122
10123         mktime: correct setting of REPLACE_MKTIME
10124         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
10125
10126         update-copyright: new module
10127         * modules/update-copyright: New file.
10128         * build-aux/update-copyright: New file.
10129         * MODULES.html.sh (maint+release support): Add update-copyright.
10130
10131 2009-07-27  Bruno Haible  <bruno@clisp.org>
10132
10133         Fix compilation error when <ctime> is used and mktime is replaced.
10134         * lib/time.in.h (mktime): New declaration.
10135         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
10136         REPLACE_MKTIME instead of defining mktime in config.h.
10137         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
10138         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
10139         Reported by Ross McFarland <rwmcfa1@neces.com>.
10140
10141 2009-07-27  Bruno Haible  <bruno@clisp.org>
10142
10143         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
10144         Reported by Matt Kraai <mkraai@beckman.com>.
10145
10146 2009-07-25  Jim Meyering  <meyering@redhat.com>
10147
10148         maint.mk: avoid warnings about missing files
10149         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
10150         diagnostic when .prev-version does not exist.
10151         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
10152         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
10153         nonexistent cfg.mk.
10154         Suggestions from Simon Josefsson.
10155
10156 2009-07-25  Bruno Haible  <bruno@clisp.org>
10157
10158         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
10159         defined as macros. Needed on QNX 6.4.1.
10160         Reported by Matt Kraai <mkraai@beckman.com>.
10161
10162 2009-07-23  Jim Meyering  <meyering@redhat.com>
10163
10164         maint.mk: invoke "make dist" with a working value of XZ_OPT
10165         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
10166
10167 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
10168
10169         Make fseeko.c compile on QNX.
10170         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
10171
10172 2009-07-22  Peter Simons  <simons@cryp.to>
10173
10174         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
10175         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
10176         * lib/md4.h: Likewise.
10177         * lib/md5.h: Likewise.
10178         * lib/sha1.h: Likewise.
10179         * lib/sha256.h: Likewise.
10180         * lib/sha512.h: Likewise.
10181
10182         tests-sha1: don't assign literal string to 'char *' variable
10183         * tests/test-sha1.c (main): Declare locals with "const" to match
10184         attributes of the right hand side.
10185
10186 2009-07-21  Eric Blake  <ebb9@byu.net>
10187
10188         dup2: fix more mingw problems
10189         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
10190         fd to itself.
10191         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10192         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
10193         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
10194         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
10195         care of mingw bugs.
10196
10197 2009-07-21  Jim Meyering  <meyering@redhat.com>
10198
10199         vc-list-files: avoid failure when /bin/sh is dash
10200         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
10201         On some Debian based systems, /bin/sh is a symlink to dash, and running
10202         this command would omit the "/" following each 'tests' prefix:
10203           dash -x build-aux/vc-list-files -C . tests
10204         That is because bash and dash work differently:
10205           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
10206           bash ok
10207           dash odd
10208
10209 2009-07-21  Eric Blake  <ebb9@byu.net>
10210
10211         dup2-tests: test previous patch
10212         * modules/dup2-tests: New file.
10213         * tests/test-dup2.c: Likewise.
10214         * tests/test-open.c (main): Avoid unspecified behavior.
10215         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
10216         test.
10217
10218         dup2: work around mingw and cygwin 1.5 bug
10219         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
10220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10221         * modules/unistd (Makefile.am): Substitute it.
10222         * lib/unistd.in.h (dup2): Declare the replacement.
10223         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
10224         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
10225         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
10226         * modules/execute (Depends-on): Add dup2.
10227         * modules/fseterr (Depends-on): Likewise.
10228         * modules/pipe (Depends-on): Likewise.
10229         * modules/posix_spawn-internal (Depends-on): Likewise.
10230
10231 2009-07-21  Bruno Haible  <bruno@clisp.org>
10232
10233         * modules/.gitattributes: New file.
10234
10235 2009-07-20  Bruno Haible  <bruno@clisp.org>
10236
10237         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
10238         (main): Use it.
10239
10240 2009-07-20  Eric Blake  <ebb9@byu.net>
10241
10242         test-pipe: make a bit more robust.
10243         * tests/test-pipe.c (myerr): Allow error messages regardless of
10244         what we do to stderr.
10245         (test_pipe): Rearrange to avoid deadlock.
10246         (child_main): Try a larger read, to ensure we avoided deadlock.
10247         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
10248         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
10249         if misused.
10250
10251 2009-07-19  Jim Meyering  <meyering@redhat.com>
10252
10253         fts: avoid false-positive cycle-detection
10254         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
10255         for each new command line argument.
10256
10257 2009-07-19  Bruno Haible  <bruno@clisp.org>
10258
10259         Fix build error on mingw with the modules sys_select and unistd.
10260         * modules/acl-tests (Depends-on): Add close.
10261         * modules/binary-io-tests (Depends-on): Likewise.
10262         * modules/closein-tests (Depends-on): Likewise.
10263         * modules/flock-tests (Depends-on): Likewise.
10264         * modules/fsync-tests (Depends-on): Likewise.
10265         * modules/lseek-tests (Depends-on): Likewise.
10266         * modules/pipe-tests (Depends-on): Likewise.
10267         * modules/posix_spawn-tests (Depends-on): Likewise.
10268         * modules/posix_spawnp-tests (Depends-on): Likewise.
10269         * modules/stat-time-tests (Depends-on): Likewise.
10270         * modules/yesno-tests (Depends-on): Likewise.
10271
10272 2009-07-19  Bruno Haible  <bruno@clisp.org>
10273
10274         Unify conditionals.
10275         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
10276         macros, not at the compiler macros.
10277         * lib/pipe.c: Likewise.
10278         * lib/execute.c: Likewise.
10279         * lib/spawni.c: Likewise.
10280
10281 2009-07-19  Bruno Haible  <bruno@clisp.org>
10282
10283         Fix handling of closed stdin/stdout/stderr on mingw.
10284         * lib/w32spawn.h: Include unistd.h.
10285         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
10286         file descriptor with O_NOINHERIT flag.
10287         (fd_safer_noinherit): New function, based on fd-safer.c.
10288         (dup_safer_noinherit): New function, based on dup-safer.c.
10289         (undup_safer_noinherit): New function.
10290         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
10291         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
10292         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
10293         instead of fd_safer.
10294         * tests/test-pipe.c: Include <windows.h>.
10295         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
10296
10297         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
10298         from main.
10299         (test_pipe): Pass an extra argument for disambiguation.
10300         (main): Invoke parent_main or child_main.
10301
10302         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
10303         consistently.
10304
10305 2009-07-18  Eric Blake  <ebb9@byu.net>
10306
10307         test-pipe: fix mingw build
10308         * tests/test-pipe.c (main): Avoid fcntl on mingw.
10309
10310 2009-07-18  Bruno Haible  <bruno@clisp.org>
10311
10312         * modules/pipe-tests (Makefile.am): Fix typo.
10313
10314 2009-07-18  Eric Blake  <ebb9@byu.net>
10315
10316         error: fix mingw build
10317         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
10318         Reported by Bruno Haible.
10319
10320         error: avoid undefined use of stdout
10321         * lib/error.c (error, error_at_line): Check that fd 1 is open
10322         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
10323         is handling faults and the close_stdout module wants to report the
10324         detection of closed stdout as an error.
10325
10326 2009-07-17  Eric Blake  <ebb9@byu.net>
10327
10328         pipe: be robust in face of closed fds
10329         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
10330         should cause child to misbehave.
10331         * modules/pipe-tests: New module.
10332         * tests/test-pipe.c: New file.
10333         * tests/test-pipe.sh: New file.
10334         Reported by Akim Demaille.
10335
10336 2009-07-14  Bruno Haible  <bruno@clisp.org>
10337
10338         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
10339         Reported by anonymous kc.
10340
10341 2009-07-07  Jim Meyering  <meyering@redhat.com>
10342
10343         maint.mk: don't look for translatable strings in *.m4 or *.mk
10344         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
10345         when searching for translatable strings.
10346
10347 2009-07-05  Jim Meyering  <meyering@redhat.com>
10348
10349         remove superfluous parentheses in STREQ definition
10350         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
10351         * lib/getugroups.c (STREQ): Likewise.
10352         * lib/fnmatch.c (STREQ): Likewise.
10353         Spotted by Bruno Haible.
10354
10355 2009-07-04  Jim Meyering  <meyering@redhat.com>
10356
10357         argv-iter: new module
10358         * MODULES.html.sh: Add argv-iter.
10359         * lib/argv-iter.c, lib/argv-iter.h: New files.
10360         * modules/argv-iter: New file.
10361         * modules/argv-iter-tests: New file.
10362         * tests/test-argv-iter.c: Test it.
10363
10364 2009-07-04  Bruno Haible  <bruno@clisp.org>
10365
10366         Fix assertion.
10367         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
10368         contains more exact copies of a given entry than file2, leave the extra
10369         copies unpaired rather than aborting.
10370         Reported by Eric Blake.
10371
10372 2009-07-02  Bruno Haible  <bruno@clisp.org>
10373
10374         Speedup git-merge-changelog for git cherry-pick.
10375         * lib/git-merge-changelog.c (struct entries_mapping): New type.
10376         (entries_mapping_get): New function, extracted from compute_mapping.
10377         (entries_mapping_reverse_get): New function.
10378         (compute_mapping): Add a 'full' argument. Return the result in a
10379         'struct entries_mapping'.
10380         (main): Update. Access the mappings through entries_mapping_get.
10381         Reported by Eric Blake.
10382
10383 2009-07-02  Bruno Haible  <bruno@clisp.org>
10384
10385         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
10386         best_i.
10387
10388 2009-07-02  Bruno Haible  <bruno@clisp.org>
10389
10390         Speed up approximate search for matching ChangeLog entries.
10391         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
10392         argument. Call fstrcmp_bounded instead of fstrcmp.
10393         (compute_mapping, try_split_merged_entry, main): Update callers.
10394
10395 2009-07-02  Bruno Haible  <bruno@clisp.org>
10396
10397         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
10398
10399 2009-06-30  Bruno Haible  <bruno@clisp.org>
10400
10401         Reduce the number of uc_is_cased calls.
10402         * lib/unicase.h (casing_suffix_context_t): Add
10403         'first_char_except_ignorable' field.
10404         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
10405         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
10406         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
10407         Update initializer.
10408         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
10409         case-ignorable characters.
10410         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
10411         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
10412         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
10413         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
10414         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
10415
10416 2009-06-30  Bruno Haible  <bruno@clisp.org>
10417
10418         Tests for module 'unicase/ignorable'.
10419         * modules/unicase/ignorable-tests: New file.
10420         * tests/unicase/test-ignorable.c: New file, generated by
10421         gen-uni-tables.
10422
10423         Tests for module 'unicase/cased'.
10424         * modules/unicase/cased-tests: New file.
10425         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
10426         * tests/unicase/test-predicate-part1.h: New file, derived from
10427         tests/unictype/test-predicate-part1.h.
10428         * tests/unicase/test-predicate-part2.h: New file, same as
10429         tests/unictype/test-predicate-part2.h.
10430
10431         Fix evaluation of "Before C" condition of FINAL_SIGMA.
10432         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
10433         (output_casing_properties): New function.
10434         (main): Call it.
10435         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
10436         * lib/unicase/cased.c: Include unictype/bitmap.h.
10437         (uc_is_cased): Define through a bitmap lookup.
10438         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
10439         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
10440         (uc_is_case_ignorable): Define through a bitmap lookup.
10441         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
10442         lib/unictype/bitmap.h.
10443         (Depends-on): Add inline. Clean up.
10444         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
10445         lib/unictype/bitmap.h.
10446         (Depends-on): Add inline. Clean up.
10447         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
10448         recognition.
10449         * tests/unicase/test-u16-tolower.c (main): Likewise.
10450         * tests/unicase/test-u32-tolower.c (main): Likewise.
10451
10452 2009-06-30  Bruno Haible  <bruno@clisp.org>
10453
10454         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
10455         * lib/unicase/u16-casemap.c: Likewise.
10456         * lib/unicase/u32-casemap.c: Likewise.
10457
10458 2009-06-29  Bruno Haible  <bruno@clisp.org>
10459
10460         Define u32_casefold as a wrapper around u32_ct_casefold.
10461         * lib/unicase/u32-casefold.c: Update.
10462         * modules/unicase/u32-casefold (Depends-on): Add
10463         unicase/u32-ct-casefold, unicase/empty-prefix-context,
10464         unicase/empty-suffix-context. Clean up.
10465
10466         Define u16_casefold as a wrapper around u16_ct_casefold.
10467         * lib/unicase/u16-casefold.c: Update.
10468         * modules/unicase/u16-casefold (Depends-on): Add
10469         unicase/u16-ct-casefold, unicase/empty-prefix-context,
10470         unicase/empty-suffix-context. Clean up.
10471
10472         Define u8_casefold as a wrapper around u8_ct_casefold.
10473         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
10474         * lib/unicase/u8-casefold.c: Update.
10475         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
10476         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10477
10478         Define u32_totitle as a wrapper around u32_ct_totitle.
10479         * lib/unicase/u32-totitle.c: Update.
10480         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
10481         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10482
10483         Define u16_totitle as a wrapper around u16_ct_totitle.
10484         * lib/unicase/u16-totitle.c: Update.
10485         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
10486         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10487
10488         Define u8_totitle as a wrapper around u8_ct_totitle.
10489         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
10490         functions.
10491         (FUNC): Delegate to U_CT_TOTITLE.
10492         * lib/unicase/u8-totitle.c: Update.
10493         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
10494         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10495
10496         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
10497         invocation.
10498         * modules/unicase/u32-tolower (Depends-on): Add
10499         unicase/empty-prefix-context, unicase/empty-suffix-context.
10500
10501         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
10502         invocation.
10503         * modules/unicase/u16-tolower (Depends-on): Add
10504         unicase/empty-prefix-context, unicase/empty-suffix-context.
10505
10506         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
10507         * modules/unicase/u8-tolower (Depends-on): Add
10508         unicase/empty-prefix-context, unicase/empty-suffix-context.
10509
10510         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
10511         invocation.
10512         * modules/unicase/u32-toupper (Depends-on): Add
10513         unicase/empty-prefix-context, unicase/empty-suffix-context.
10514
10515         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
10516         invocation.
10517         * modules/unicase/u16-toupper (Depends-on): Add
10518         unicase/empty-prefix-context, unicase/empty-suffix-context.
10519
10520         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
10521         * modules/unicase/u8-toupper (Depends-on): Add
10522         unicase/empty-prefix-context, unicase/empty-suffix-context.
10523
10524         New module 'unicase/u32-ct-casefold'.
10525         * lib/unicase/u32-ct-casefold.c: New file.
10526         * modules/unicase/u32-ct-casefold: New file.
10527
10528         New module 'unicase/u16-ct-casefold'.
10529         * lib/unicase/u16-ct-casefold.c: New file.
10530         * modules/unicase/u16-ct-casefold: New file.
10531
10532         New module 'unicase/u8-ct-casefold'.
10533         * lib/unicase/u8-ct-casefold.c: New file.
10534         * lib/unicase/u-ct-casefold.h: New file, derived from
10535         lib/unicase/u-casefold.h.
10536         * modules/unicase/u8-ct-casefold: New file.
10537
10538         New module 'unicase/u32-ct-totitle'.
10539         * lib/unicase/u32-ct-totitle.c: New file.
10540         * modules/unicase/u32-ct-totitle: New file.
10541
10542         New module 'unicase/u16-ct-totitle'.
10543         * lib/unicase/u16-ct-totitle.c: New file.
10544         * modules/unicase/u16-ct-totitle: New file.
10545
10546         New module 'unicase/u8-ct-totitle'.
10547         * lib/unicase/u8-ct-totitle.c: New file.
10548         * lib/unicase/u-ct-totitle.h: New file, derived from
10549         lib/unicase/u-totitle.h.
10550         * modules/unicase/u8-ct-totitle: New file.
10551
10552         New module 'unicase/u32-ct-tolower'.
10553         * lib/unicase/u32-ct-tolower.c: New file.
10554         * modules/unicase/u32-ct-tolower: New file.
10555
10556         New module 'unicase/u16-ct-tolower'.
10557         * lib/unicase/u16-ct-tolower.c: New file.
10558         * modules/unicase/u16-ct-tolower: New file.
10559
10560         New module 'unicase/u8-ct-tolower'.
10561         * lib/unicase/u8-ct-tolower.c: New file.
10562         * modules/unicase/u8-ct-tolower: New file.
10563
10564         New module 'unicase/u32-ct-toupper'.
10565         * lib/unicase/u32-ct-toupper.c: New file.
10566         * modules/unicase/u32-ct-toupper: New file.
10567
10568         New module 'unicase/u16-ct-toupper'.
10569         * lib/unicase/u16-ct-toupper.c: New file.
10570         * modules/unicase/u16-ct-toupper: New file.
10571
10572         New module 'unicase/u8-ct-toupper'.
10573         * lib/unicase/u8-ct-toupper.c: New file.
10574         * modules/unicase/u8-ct-toupper: New file.
10575
10576         Add context arguments to u*_casemap functions.
10577         * lib/unicase/unicasemap.h: Include unicase.h.
10578         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
10579         suffix_context arguments.
10580         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
10581         functions.
10582         (FUNC): Add prefix_context and suffix_context arguments. Use
10583         uc_is_cased and uc_is_case_ignorable.
10584         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
10585         * lib/unicase/u16-casemap.c: Likewise.
10586         * lib/unicase/u32-casemap.c: Likewise.
10587         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
10588         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10589         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
10590         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10591         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
10592         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10593
10594         New module 'unicase/u32-suffix-context'.
10595         * lib/unicase/u32-suffix-context.c: New file.
10596         * modules/unicase/u32-suffix-context: New file.
10597
10598         New module 'unicase/u16-suffix-context'.
10599         * lib/unicase/u16-suffix-context.c: New file.
10600         * modules/unicase/u16-suffix-context: New file.
10601
10602         New module 'unicase/u8-suffix-context'.
10603         * lib/unicase/u8-suffix-context.c: New file.
10604         * lib/unicase/u-suffix-context.h: New file.
10605         * modules/unicase/u8-suffix-context: New file.
10606
10607         New module 'unicase/empty-suffix-context'.
10608         * lib/unicase/empty-suffix-context.c: New file.
10609         * modules/unicase/empty-suffix-context: New file.
10610
10611         New module 'unicase/u32-prefix-context'.
10612         * lib/unicase/u32-prefix-context.c: New file.
10613         * modules/unicase/u32-prefix-context: New file.
10614
10615         New module 'unicase/u16-prefix-context'.
10616         * lib/unicase/u16-prefix-context.c: New file.
10617         * modules/unicase/u16-prefix-context: New file.
10618
10619         New module 'unicase/u8-prefix-context'.
10620         * lib/unicase/u8-prefix-context.c: New file.
10621         * lib/unicase/u-prefix-context.h: New file.
10622         * lib/unicase/context.h: New file.
10623         * modules/unicase/u8-prefix-context: New file.
10624
10625         New module 'unicase/empty-prefix-context'.
10626         * lib/unicase/empty-prefix-context.c: New file.
10627         * modules/unicase/empty-prefix-context: New file.
10628
10629         New module 'unicase/ignorable'.
10630         * lib/unicase/ignorable.c: New file.
10631         * modules/unicase/ignorable: New file.
10632
10633         New module 'unicase/cased'.
10634         * lib/unicase/caseprop.h: New file.
10635         * lib/unicase/cased.c: New file.
10636         * modules/unicase/cased: New file.
10637
10638         New functions for case mapping of substrings.
10639         * lib/unicase.h (casing_prefix_context_t): New type.
10640         (unicase_empty_prefix_context): New variable.
10641         (u8_casing_prefix_context, u16_casing_prefix_context,
10642         u32_casing_prefix_context, u8_casing_prefixes_context,
10643         u16_casing_prefixes_context, u32_casing_prefixes_context): New
10644         declarations.
10645         (casing_suffix_context_t): New type.
10646         (unicase_empty_suffix_context): New variable.
10647         (u8_casing_suffix_context, u16_casing_suffix_context,
10648         u32_casing_suffix_context, u8_casing_suffixes_context,
10649         u16_casing_suffixes_context, u32_casing_suffixes_context,
10650         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
10651         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
10652         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
10653         declarations.
10654
10655 2009-06-28  Jim Meyering  <meyering@redhat.com>
10656
10657         boostrap: indent only with spaces
10658         * build-aux/bootstrap: Indent only with spaces, never TABs.
10659
10660         bootstrap: split long lines
10661         * build-aux/bootstrap: Keep line length < 80.
10662
10663         bootstrap: sync from coreutils
10664         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
10665         just as autoreconf does.  Verify a list of prerequisite
10666         package-name,version-number pairs if defined in bootstrap.conf.
10667         Refer to README-prereq, if prerequisites are not satisfied.
10668
10669 2009-06-27  Eric Blake  <ebb9@byu.net>
10670
10671         tests: add test for bogus NULL definition
10672         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
10673         * tests/test-stdlib.c: Likewise.
10674         * tests/test-string.c: Likewise.
10675         * tests/test-locale.c: Likewise.
10676         * tests/test-unistd.c: Likewise.
10677         * modules/stdio-tests (Depends-on): Add verify.
10678         * modules/stdlib-tests (Depends-on): Likewise.
10679         * modules/string-tests (Depends-on): Likewise.
10680         * modules/locale-tests (Depends-on): Likewise.
10681         * modules/unistd-tests (Depends-on): Likewise.
10682
10683 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
10684
10685         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
10686         self-explaining comment.
10687         * m4/selinux-selinux-h: Update serial.
10688         (gl_LIBSELINUX): New macro, adding a warning for missing development
10689         packages to code extracted from...
10690         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
10691         Add warning for missing development packages here, too.
10692
10693 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
10694
10695         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
10696
10697 2009-06-25  Eric Blake  <ebb9@byu.net>
10698
10699         version-etc: fix regression
10700         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
10701         gcc.
10702         (version_etc): Use it, to catch bugs with trailing NULL.
10703         * lib/version-etc.c (version_etc_arn): Delete unused argument.
10704         (version_etc_va): Fix logic bug.
10705         * modules/version-etc-tests: Add test.
10706         * tests/test-version-etc.c: New file.
10707         * tests/test-version-etc.sh: Likewise.
10708
10709 2009-06-25  Sam Steingold  <sds@gnu.org>
10710
10711         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
10712         mbtowc declaration.
10713
10714 2009-06-25  Eric Blake  <ebb9@byu.net>
10715
10716         fpurge: migrate into <stdio.h>
10717         * lib/fpurge.h: Delete...
10718         * lib/stdio.in.h (fpurge): ...and declare here, instead.
10719         * lib/fpurge.c (fpurge): Change declaring header.
10720         * modules/fpurge (Files): Drop deleted file.
10721         (Depends-on): Add stdio.
10722         (configure.ac): Set witness.
10723         * modules/stdio (Makefile.am): Support fpurge macros.
10724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
10725         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
10726         * lib/fflush.c: Update client.
10727         * tests/test-fpurge.c: Likewise.
10728         * NEWS: Mention the change.
10729
10730 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10731
10732         * lib/argp-version-etc.c (program_authors): Add const
10733         qualifier.
10734         * lib/version-etc.c: Fix typos in the comments.
10735         * modules/argp-version-etc: Depends on version-etc.
10736
10737 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10738
10739         argp-version-etc: new module.
10740
10741         * lib/argp-version-etc.c: New file.
10742         * lib/argp-version-etc.h: New file.
10743         * modules/argp-version-etc: New file.
10744         * modules/argp-version-etc-tests: New file.
10745         * tests/test-argp-version-etc.c: New test.
10746         * tests/test-argp-version-etc-1.sh: New test.
10747
10748 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10749
10750         Provide additional interfaces and documentation for version-etc
10751         module.
10752
10753         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
10754         interfaces.
10755         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
10756         prototypes.
10757
10758 2009-06-24  Bruno Haible  <bruno@clisp.org>
10759
10760         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
10761         HAVE_LIB${NAME} macro.
10762         Reported by Sam Steingold <sds@gnu.org>.
10763
10764 2009-06-23  Simon Josefsson  <simon@josefsson.org>
10765
10766         * modules/hash-tests (test_hash_LDADD): Link to libintl when
10767         needed.
10768
10769 2009-06-21  Bruno Haible  <bruno@clisp.org>
10770
10771         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
10772         work.
10773         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
10774         together with LIB${NAME}, LTLIB${NAME}.
10775         Reported by Sam Steingold <sds@gnu.org>.
10776
10777 2009-06-20  Jim Meyering  <meyering@redhat.com>
10778
10779         tests: make sc_require_test_exit_idiom more generic
10780         * top/maint.mk (Exit_witness_file): New overridable variable.
10781         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
10782         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
10783
10784 2009-06-19  Jim Meyering  <meyering@redhat.com>
10785
10786         hash: reverse order of src/dst parameters in an internal interface
10787         * lib/hash.c (transfer_entries): Reverse order of parameters to
10788         put DST before SRC.  Adjust callers.
10789
10790         tests: test-hash: avoid wholesale duplication
10791         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
10792         Instead, use a loop and add a single conditional.
10793
10794         tests: test-hash: allow seed selection via a command line argument
10795         * tests/test-hash.c (get_seed): New function.
10796         (main): Use it.
10797
10798 2009-06-19  Eric Blake  <ebb9@byu.net>
10799
10800         hash: avoid memory leak on allocation failure
10801         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
10802         failure.  Factor repeated algorithm...
10803         (transfer_entries): ...into new helper routine.
10804         (hash_delete): React to hash_rehash return value.
10805
10806         hash: reduce memory pressure in hash_rehash no-op case
10807         * lib/hash.c (next_prime): Avoid overflow.
10808         (hash_initialize): Factor bucket size computation...
10809         (compute_bucket_size): ...into new helper function.
10810         (hash_rehash): Use new function and open coding to reduce memory
10811         pressure, and avoid a memory leak in USE_OBSTACK code.
10812         Reported by Jim Meyering.
10813
10814 2009-06-18  Eric Blake  <ebb9@byu.net>
10815
10816         hash: make rotation more obvious
10817         * modules/hash (Depends-on): Add bitrotate and stdint.
10818         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
10819         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
10820         (SIZE_MAX): Rely on headers for definition.
10821         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
10822         (raw_hasher): Use rotr_sz.
10823         Suggested by Jim Meyering.
10824
10825         hash: fix memory leak in last patch
10826         * lib/hash.c (hash_rehash): Avoid memory leak.
10827
10828         hash: avoid no-op rehashing
10829         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
10830
10831         hash: provide default callback functions
10832         * lib/hash.c (raw_hasher, raw_comparator): New functions.
10833         (hash_initialize): Use them as defaults.
10834         * tests/test-hash.c (main): Test this.
10835
10836         hash: minor optimization
10837         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
10838         when possible.
10839         (hash_initialize): Document this promise.
10840         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
10841         * tests/test-hash.c (hash_compare_strings): Test this.
10842
10843 2009-06-18  Bruno Haible  <bruno@clisp.org>
10844
10845         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
10846         going to be replaced anyway.
10847
10848 2009-06-18  Bruno Haible  <bruno@clisp.org>
10849
10850         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
10851         in one place.
10852         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
10853         be replaced anyway.
10854
10855 2009-06-18  Eric Blake  <ebb9@byu.net>
10856
10857         hash: check for resize before insertion
10858         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
10859         threshold before insertion, so that a pathological hash_rehash
10860         that fills every bucket can still trigger another rehash.
10861
10862 2009-06-18  Jim Meyering  <meyering@redhat.com>
10863
10864         hash-tests: add a loop around the small tests
10865         * tests/test-hash.c (main): Repeat small tests with selected
10866         small initial table sizes.
10867
10868 2009-06-17  Eric Blake  <ebb9@byu.net>
10869
10870         hash: minor cleanups
10871         * lib/hash.h (hash_entry): Make opaque, by moving...
10872         * lib/hash.c (hash_entry): ...here.
10873         (hash_insert): Clarify restrictions on what can be inserted.
10874         (hash_get_next): Clarify when it is safe to remove an element
10875         during traversal.
10876         (check_tuning): Skip verification when tuning is known safe.
10877         (hash_initialize): Clarify restrictions on tuning.
10878
10879 2009-06-17  Jim Meyering  <jim@meyering.net>
10880         and Eric Blake  <ebb9@byu.net>
10881
10882         hash-tests: new module
10883         * modules/hash-tests: New file.
10884         * tests/test-hash.c: New file.
10885
10886 2009-06-17  Eric Blake  <ebb9@byu.net>
10887
10888         strstr-simple: document new module
10889         * MODULES.html.sh: Document new module.
10890
10891         strstr, strcasestr: replace on platforms with broken memchr
10892         * modules/strstr: Split into...
10893         * modules/strstr-simple: ...new module that does not care about
10894         performance, but does care about glibc bug.
10895         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
10896         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
10897         if platform memchr is broken, per Debian bug 521737.
10898         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
10899         memchr.
10900         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
10901         * doc/posix-functions/strstr.texi (strstr): Document the fix.
10902         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10903         * modules/mountlist (Depends-on): Add strstr-simple.
10904         * modules/gen-uni-tables (Depends-on): Likewise.
10905         * modules/argz (Depends-on): Add strstr.
10906
10907 2009-06-17  Bruno Haible  <bruno@clisp.org>
10908
10909         * modules/posix_spawn-internal (Depends-on): Add errno.
10910
10911 2009-06-17  Bruno Haible  <bruno@clisp.org>
10912
10913         Define missing ESTALE on Interix 3.5.
10914         * lib/errno.in.h (ESTALE): Assign a value if missing.
10915         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
10916         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
10917         missing.
10918         * doc/posix-headers/errno.texi: Mention the Interix bug.
10919         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
10920
10921 2009-06-15  Eric Blake  <ebb9@byu.net>
10922
10923         memchr, memchr2: add valgrind exception
10924         * lib/memchr.valgrind: New file.
10925         * lib/memchr2.valgrind: New file.
10926         * modules/memchr (Files): Distribute valgrind file.
10927         * modules/memchr2 (Files): Likewise.
10928
10929         docs: memchr is no longer obsolete
10930         * MODULES.html.sh: Move memchr from obsolete to string.h section.
10931         * lib/string.in.h (memchr): Simplify logic.
10932
10933 2009-06-14  Jim Meyering  <meyering@redhat.com>
10934
10935         link-follow: fix the "checking..." message to not mention trailing slash
10936         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
10937         never considered trailing slashes.
10938
10939 2009-06-14  Bruno Haible  <bruno@clisp.org>
10940
10941         * m4/memchr.m4: Mention also the bug on IA-64.
10942         * doc/posix-functions/memchr.texi: Likewise.
10943
10944 2009-06-12  Eric Blake  <ebb9@byu.net>
10945
10946         memchr: detect broken x86_64 and alpha implementations
10947         * modules/memchr-tests (Depends-on): Move mmap detection...
10948         * modules/memchr (Depends-on): ...here.
10949         (configure.ac): Set indicator.
10950         * lib/string.in.h (memchr): Declare replacement.
10951         * modules/string (Makefile.am): Trigger replacement.
10952         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
10953         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
10954         bugs.
10955         * doc/posix-functions/memchr.texi (memchr): Document the bug.
10956         * modules/getpagesize (License): Relax license.
10957
10958 2009-06-11  Bruno Haible  <bruno@clisp.org>
10959
10960         * lib/idpriv.h: Add more references.
10961
10962 2009-06-08  Bruno Haible  <bruno@clisp.org>
10963
10964         Tests for module 'idpriv-droptemp'.
10965         * modules/idpriv-droptemp-tests: New file.
10966         * tests/test-idpriv-droptemp.sh: New file.
10967         * tests/test-idpriv-droptemp.su.sh: New file.
10968         * tests/test-idpriv-droptemp.c: New file.
10969
10970         New module 'idpriv-droptemp'.
10971         * lib/idpriv-droptemp.c: New file.
10972         * modules/idpriv-droptemp: New file.
10973
10974 2009-06-08  Bruno Haible  <bruno@clisp.org>
10975
10976         Tests for module 'idpriv-drop'.
10977         * modules/idpriv-drop-tests: New file.
10978         * tests/test-idpriv-drop.sh: New file.
10979         * tests/test-idpriv-drop.su.sh: New file.
10980         * tests/test-idpriv-drop.c: New file.
10981
10982         New module 'idpriv-drop'.
10983         * lib/idpriv.h: New file.
10984         * lib-idpriv-drop.c: New file.
10985         * m4/idpriv.m4: New file.
10986         * modules/idpriv-drop: New file.
10987
10988 2009-06-08  Bruno Haible  <bruno@clisp.org>
10989
10990         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
10991         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10992         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10993         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10994         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10995         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10996         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10997
10998 2009-06-08  Eric Blake  <ebb9@byu.net>
10999
11000         test-strstr: use memory fence, when possible
11001         * tests/test-strstr.c (main): Use memory fence, in order to be
11002         more likely to trigger Debian bug 521737.
11003         * modules/strstr-tests (Files): Pull in additional files.
11004
11005         memchr: no longer obsolete, for wider field testing
11006         * modules/memchr (Status, Notice): Delete, this module is no
11007         longer obsolete.
11008         * modules/vasnprintf (Depends-on): Add memchr.
11009
11010 2009-06-07  Jim Meyering  <meyering@redhat.com>
11011
11012         hash: declare some functions with the warn_unused_result attribute
11013         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
11014
11015 2009-06-07  Bruno Haible  <bruno@clisp.org>
11016
11017         * tests/test-alignof.c: Don't test int64_t if it does not exist.
11018         Reported by Eric Blake.
11019
11020 2009-06-06  Eric Blake  <ebb9@byu.net>
11021
11022         test-alignof: fix typo with long double
11023         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
11024         compiler error.
11025
11026 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
11027
11028         Escape non-texinfo { and }s.
11029         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
11030         markup error.
11031
11032 2009-06-04  Jim Meyering  <meyering@redhat.com>
11033
11034         gitlog-to-changelog: don't infloop on an empty commit log
11035         * build-aux/gitlog-to-changelog: Warn about an empty log message.
11036         Reported by Boris Petersen <transacid@centerim.org>.
11037
11038 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
11039
11040         version-etc: extend for packagers
11041         Add three new configure options, intended for packagers:
11042           --with-packager="packager name"
11043           --with-packager-version="packager-specific version"
11044           --with-packager-bug-reports="packager bug reporting"
11045         An example with coreutils:
11046           $ ./configure \
11047             --with-packager=Gentoo \
11048             --with-packager-bug-report=http://bugs.gentoo.org/ \
11049             --with-packager-version="patchset 1.6"
11050           $ ./src/ls --version | head -n2
11051           ls (GNU coreutils) 7.1-dirty
11052           Packaged by Gentoo (patchset 1.6)
11053         Note that the bug reporting info via --help doesn't show up because
11054         coreutils uses its own custom emit_bug_reporting_address() implementation
11055         in src/system.h.  If it didn't, it'd look like:
11056           $ ./src/ls --help | tail -n4
11057           Report bugs to <bug-coreutils@gnu.org>.
11058           Report Gentoo bugs to <http://bugs.gentoo.org/>.
11059           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
11060           General help using GNU software: <http://www.gnu.org/gethelp/>.
11061         * lib/version-etc.c: Print new information, if provided.
11062         * m4/version-etc.m4: New file.
11063         * modules/version-etc (Files): Add m4/version-etc.m4.
11064         (configure.ac): Add gl_VERSION_ETC.
11065
11066 2009-05-31  Bruno Haible  <bruno@clisp.org>
11067
11068         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
11069         and 'int64_t'.
11070         * modules/alignof-tests (Dependencies): Add stdint.
11071         Reported by Eric Blake.
11072
11073 2009-05-31  Bruno Haible  <bruno@clisp.org>
11074
11075         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
11076         restriction due to compiler bugs.
11077         Reported by Eric Blake.
11078
11079 2009-05-31  Simon Josefsson  <simon@josefsson.org>
11080             Bruno Haible  <bruno@clisp.org>
11081
11082         Fix test-alignof failure.
11083         * lib/alignof.h (alignof_slot): New macro.
11084         (alignof_type): New macro, with the same semantics as the previous
11085         'alignof'.
11086         (alignof): Alias to alignof_slot.
11087         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
11088         check that the results are usable as constant expressions.
11089
11090 2009-05-31  Bruno Haible  <bruno@clisp.org>
11091
11092         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
11093         * tests/test-memchr.c (main): Check that memchr does not read past the
11094         first occurrence of the byte.
11095         * tests/test-strstr.c (main): Update comment.
11096         Suggested by Eric Blake.
11097
11098 2009-05-30  Bruno Haible  <bruno@clisp.org>
11099
11100         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
11101         detail how to use dumpbin.
11102         Reported by David Byron <dbyron@dbyron.com>.
11103
11104 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11105
11106         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
11107
11108 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11109
11110         * m4/manywarnings.m4: Add GCC 4.4 warnings.
11111
11112 2009-05-28  Bruno Haible  <bruno@clisp.org>
11113
11114         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
11115         build-aux/ files.
11116
11117 2009-05-28  Simon Josefsson  <simon@josefsson.org>
11118
11119         * gnulib-tool (func_import): Transform license on build-aux/ files too.
11120
11121 2009-05-27  Simon Josefsson  <simon@josefsson.org>
11122
11123         * gnulib-tool (sed_transform_main_lib_file)
11124         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
11125         regexps.
11126
11127 2009-05-26  Simon Josefsson  <simon@josefsson.org>
11128
11129         * tests/test-strstr.c: Add another self-test.
11130         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
11131         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
11132
11133 2009-05-23  Bruno Haible  <bruno@clisp.org>
11134
11135         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
11136         change.
11137
11138 2009-05-21  Bruno Haible  <bruno@clisp.org>
11139
11140         Simplify use of mode_t varargs.
11141         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
11142         uses 'mode_t' or 'int'.
11143         * lib/openat.c (openat): Likewise.
11144         * lib/open-safer.c (open_safer): Likewise.
11145         * m4/mode_t.m4: New file.
11146         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
11147         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
11148         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
11149         * modules/open (Files): Add m4/mode_t.m4.
11150         * modules/openat (Files): Likewise.
11151         * modules/fcntl-safer (Files): Likewise.
11152         Suggested by Eric Blake.
11153
11154 2009-05-21  Pádraig Brady  <P@draigbrady.com>
11155
11156         * doc/glibc-functions/fallocate.texi: New file.
11157         * doc/gnulib.texi: Include it.
11158
11159 2009-05-21  Eric Blake  <ebb9@byu.net>
11160             Bruno Haible  <bruno@clisp.org>
11161
11162         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
11163         invocations.
11164         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11165
11166 2009-05-21  Eric Blake  <ebb9@byu.net>
11167             Bruno Haible  <bruno@clisp.org>
11168
11169         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
11170         include_next. Fix of 2008-11-20 commit.
11171         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
11172         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
11173         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
11174         NEXT_MATH_H.
11175         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
11176         instead of NEXT_MATH_H.
11177
11178 2009-05-21  Bruno Haible  <bruno@clisp.org>
11179
11180         Avoid redefinition warnings for SIZE_MAX.
11181         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
11182         Reported by Simon Josefsson.
11183
11184 2009-05-21  Bruno Haible  <bruno@clisp.org>
11185
11186         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
11187         AC_CACHE_VAL.
11188
11189 2009-05-20  Bruno Haible  <bruno@clisp.org>
11190
11191         Make zeroptr.h work on mingw.
11192         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
11193         mprotect.
11194         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
11195         * modules/memchr2-tests (configure.ac): Likewise.
11196         * modules/memcmp-tests (configure.ac): Likewise.
11197         * modules/memmem-tests (configure.ac): Likewise.
11198         * modules/memrchr-tests (configure.ac): Likewise.
11199         Reported by Simon Josefsson.
11200
11201 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11202
11203         * tests/test-glob.c: Include string.h for strcmp prototype.
11204
11205 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11206
11207         * modules/getdelim (Depends-on): Add explicit stdint, although it
11208         was implicitly already pulled in via realloc-posix.
11209         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
11210
11211 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11212
11213         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
11214         G. Christensen" <tgc@jupiterrise.com>.
11215         * m4/sys_socket_h.m4: Check for sa_family_t.
11216         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
11217         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
11218         * tests/test-sys_socket.c: Check that sa_family_t works.
11219
11220 2009-05-18  Eric Blake  <ebb9@byu.net>
11221
11222         maint.mk: allow gnulib_dir in VPATH build
11223         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
11224
11225 2009-05-15  Jim Meyering  <meyering@redhat.com>
11226
11227         maint.mk: Give gnulib_dir a default definition.
11228         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
11229         Thus, most packages no longer need to specify this variable in cfg.mk
11230
11231 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
11232
11233         rename.m4: fix typos that would make non-mingw cross-configure fail
11234         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
11235
11236 2009-05-13  Eric Blake  <ebb9@byu.net>
11237
11238         mmap-anon: avoid out-of-order autoconf expansion
11239         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
11240         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
11241         * modules/memchr-tests (Depends-on): Add extensions.
11242         * modules/memchr2-tests (Depends-on): Add extensions.
11243         * modules/memcmp-tests (Depends-on): Add extensions.
11244         * modules/memmem-tests (Depends-on): Add extensions.
11245         * modules/memrchr-tests (Depends-on): Add extensions.
11246
11247 2009-05-13  Bruno Haible  <bruno@clisp.org>
11248
11249         Make some tests ISO C 99 compliant.
11250         * tests/zerosize-ptr.h: New file.
11251         * tests/test-memchr.c: Include zerosize-ptr.h.
11252         (main): Use a zero-size object pointer instead of NULL.
11253         * tests/test-memchr2.c: Include zerosize-ptr.h.
11254         (main): Use a zero-size object pointer instead of NULL.
11255         * tests/test-memcmp.c: Include zerosize-ptr.h.
11256         (main): Use a zero-size object pointer instead of NULL.
11257         * tests/test-memmem.c: Include zerosize-ptr.h.
11258         (main): Use a zero-size object pointer instead of NULL.
11259         * tests/test-memrchr.c: Include zerosize-ptr.h.
11260         (main): Use a zero-size object pointer instead of NULL.
11261         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
11262         m4/mmap-anon.m4.
11263         (Depends-on): Add getpagesize.
11264         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11265         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
11266         m4/mmap-anon.m4.
11267         (Depends-on): Add getpagesize.
11268         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11269         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
11270         m4/mmap-anon.m4.
11271         (Depends-on): Add getpagesize.
11272         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11273         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
11274         m4/mmap-anon.m4.
11275         (Depends-on): Add getpagesize.
11276         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11277         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
11278         m4/mmap-anon.m4.
11279         (Depends-on): Add getpagesize.
11280         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11281
11282 2009-05-12  Bruno Haible  <bruno@clisp.org>
11283
11284         Tests for module 'alignof'.
11285         * modules/alignof-tests: New file.
11286         * tests/test-alignof.c: New file.
11287
11288 2009-05-12  Bruno Haible  <bruno@clisp.org>
11289
11290         Fix alignof macro.
11291         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
11292         vendor compilers that are always correct.
11293
11294 2009-05-12  Bruno Haible  <bruno@clisp.org>
11295
11296         Make the MAP_ANONYMOUS detection work on HP-UX 11.
11297         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
11298         not whether its fully works.
11299
11300 2009-05-12  Bruno Haible  <bruno@clisp.org>
11301
11302         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
11303
11304 2009-05-12  Jim Meyering  <meyering@redhat.com>
11305
11306         * top/maint.mk: Adjust backslash alignment.
11307
11308 2009-05-11  Simon Josefsson  <simon@josefsson.org>
11309
11310         * top/maint.mk: Make $(srcdir)/build-aux configurable.
11311
11312 2009-05-11  Eric Blake  <ebb9@byu.net>
11313
11314         argp: avoid undefined behavior
11315         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
11316         macros.
11317
11318 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11319
11320         * tests/test-vc-list-files-git.sh: Do git config of user.email and
11321         user.name to prevent git commit from complaining.
11322
11323 2009-05-10  Bruno Haible  <bruno@clisp.org>
11324
11325         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
11326         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
11327         it rewrites every file name only once.
11328         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
11329
11330 2009-05-08  Bruno Haible  <bruno@clisp.org>
11331
11332         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
11333         instead of 'max'.
11334
11335 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11336
11337         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
11338         sockaddr_storage test.
11339
11340 2009-05-07  Simon Josefsson  <simon@josefsson.org>
11341
11342         * modules/sys_socket (Makefile.am): Substitute
11343         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
11344         * m4/sys_socket_h.m4: Check for sockaddr_storage.
11345         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
11346         * tests/test-sys_socket.c: Check sockaddr_storage.
11347
11348 2009-05-08  Bruno Haible  <bruno@clisp.org>
11349
11350         New module 'alignof'.
11351         * lib/alignof.h: New file.
11352         * modules/alignof: New file.
11353
11354 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11355             Bruno Haible  <bruno@clisp.org>
11356
11357         Fix test-file-has-acl on FreeBSD.
11358         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
11359         mask is implicitly added.
11360         * tests/test-file-has-acl.c: Include <signal.h>.
11361         (main): Terminate the test after 5 seconds.
11362         * modules/acl-tests (configure.ac): Check for alarm function.
11363
11364 2009-05-04  Bruno Haible  <bruno@clisp.org>
11365
11366         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
11367         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
11368         * modules/errno (configure.ac): Drop AC_REQUIRE.
11369         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
11370         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
11371
11372 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11373
11374         * modules/glob-tests: New module.
11375         * tests/test-glob.c: Add.
11376
11377 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11378
11379         * modules/fnmatch-tests: New module.
11380         * tests/test-fnmatch.c: Add.
11381
11382 2009-05-04  Eric Blake  <ebb9@byu.net>
11383
11384         maint: make the new no-submodule-changes rule VPATH-safe
11385         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
11386
11387 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11388             Bruno Haible  <bruno@clisp.org>
11389
11390         acl: Fix infinite loop on FreeBSD.
11391         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
11392         of return value from acl_get_entry.
11393         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
11394         Likewise.
11395
11396 2009-05-03  Bruno Haible  <bruno@clisp.org>
11397
11398         * lib/acl-internal.h (acl_entries): Clarify return value.
11399         * lib/acl_entries.c (acl_entries): Likewise.
11400
11401 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11402
11403         Bug fix in acl module.
11404         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
11405
11406 2009-05-03  Bruno Haible  <bruno@clisp.org>
11407
11408         Create gperf-generated file in the source dir, not in the build dir.
11409         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
11410         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
11411         * modules/unicase/locale-language (unicase/locale-languages.h):
11412         Likewise.
11413         * modules/unicase/special-casing (unicase/special-casing-table.h):
11414         Likewise.
11415         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
11416         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
11417         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
11418         Reported by Ralf Wildenhues.
11419
11420 2009-05-03  Bruno Haible  <bruno@clisp.org>
11421
11422         * modules/fnmatch (Description, configure.ac): Taken from
11423         fnmatch-posix.
11424         * modules/fnmatch-posix: Turn into a symbolic reference to the
11425         'fnmatch' module, and deprecate.
11426         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
11427
11428 2009-05-03  Bruno Haible  <bruno@clisp.org>
11429
11430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
11431         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
11432         Reported by Ralf Wildenhues.
11433
11434 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11435
11436         * m4/fnmatch.m4: Fix fnmatch re-define.
11437
11438 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11439
11440         priv-set: new module and tests; adapt write-any-file
11441         * lib/priv-set.c: New file.
11442         * lib/priv-set.h: New file.
11443         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
11444         * lib/write-any-file.c: Simplify by using priv-set module.
11445         * m4/priv-set.m4: New file.
11446         * modules/priv-set: New file.
11447         * modules/unlinkdir: Add dependency on priv-set module.
11448         * modules/write-any-file: Likewise.
11449
11450         Tests for module 'priv-set'.
11451         * modules/priv-set-tests: New file.
11452         * tests/test-priv-set.c: New file.
11453
11454 2009-05-03  Jim Meyering  <meyering@redhat.com>
11455             Bruno Haible  <bruno@clisp.org>
11456
11457         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
11458         use the converted UTF-8 variant of the name instead.
11459
11460 2009-05-03  Jim Meyering  <meyering@redhat.com>
11461
11462         tests: tighten some getdate tests
11463         * tests/test-getdate.c (main): Tighten tests: require equality,
11464         not just greater than.  Set TZ envvar to UTC0.
11465
11466 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11467
11468         getdate: correctly interpret "next monday" when run on a Monday
11469         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
11470         that e.g., "next tues" (when run on a tuesday) results in a date
11471         that is one week in the future, and not today's date.
11472         I.e., add a week when the wday is the same as the current one.
11473         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
11474         and earlier by Martin Bernreuther and Jan Minář.
11475         * tests/test-getdate.c (main): Check that "next DAY" is always in
11476         the future and that "last DAY" is always in the past.
11477
11478 2009-05-02  Jim Meyering  <meyering@redhat.com>
11479
11480         build: ensure that a release build fails when a submodule is unclean
11481         * top/maint.mk (no-submodule-changes): New rule.
11482         (alpha beta major): Depend on it.
11483
11484 2009-05-02  Bruno Haible  <bruno@clisp.org>
11485
11486         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
11487         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
11488         shell variable gl_fnmatch_required to detect which variant is
11489         requested.
11490         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
11491         gl_FUNC_FNMATCH_POSIX.
11492         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
11493         exclude fnmatch-posix.
11494
11495 2009-05-02  Bruno Haible  <bruno@clisp.org>
11496
11497         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
11498         * modules/mbsrtowcs (License): Change to LGPLv2+.
11499         * modules/strnlen1 (License): Likewise.
11500         Reported by Simon Josefsson.
11501
11502 2009-05-02  Bruno Haible  <bruno@clisp.org>
11503
11504         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
11505         "cross".
11506         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
11507         gnulib-tool was called with option --source-base=lib.
11508
11509 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11510
11511         Use automake *-local hooks without commands, for extensibility.
11512         * modules/localcharset (Makefile.am): Rename install-exec-local
11513         rule to install-exec-localcharset, and make it a prerequisite of
11514         install-exec-local.  Likewise, rename the uninstall-local rule to
11515         uninstall-localcharset, and make it a prerequisite of the former.
11516
11517 2009-05-01  Bruno Haible  <bruno@clisp.org>
11518
11519         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
11520         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11521         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
11522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
11523         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
11524         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11525         m4/locale-zh.m4, m4/codeset.m4.
11526
11527         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11528         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
11529         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11530         m4/locale-zh.m4.
11531
11532         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
11533         REPLACE_WCRTOMB if mbstate_t must be replaced.
11534         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
11535         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
11536
11537 2009-05-01  Bruno Haible  <bruno@clisp.org>
11538
11539         Avoid compiler warnings when redefining macros defined by <libintl.h>.
11540         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
11541         dngettext, dcngettext, textdomain, bindtextdomain,
11542         bind_textdomain_codeset): Undefine before redefining.
11543
11544 2009-04-30  Bruno Haible  <bruno@clisp.org>
11545
11546         Fix bug introduced on 2009-04-25.
11547         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
11548         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
11549         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
11550         is defined.
11551         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
11552         is defined.
11553         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
11554         is defined.
11555         Reported by Elbert_Pol <elbert.pol@gmail.com>.
11556
11557 2009-04-28  Bruno Haible  <bruno@clisp.org>
11558
11559         Comment tweaks.
11560         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
11561         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
11562         * lib/unicase.h (u*_casexfrm): Likewise.
11563         Reported by Paolo Bonzini.
11564
11565 2009-04-28  Bruno Haible  <bruno@clisp.org>
11566
11567         Fix a compilation error.
11568         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
11569         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
11570         Reported by Jim Meyering.
11571
11572 2009-04-27  Bruno Haible  <bruno@clisp.org>
11573
11574         New module 'libunistring'.
11575         * modules/libunistring: New file.
11576         * m4/libunistring.m4: New file.
11577         * MODULES.html.sh (Unicode string functions): Add it.
11578
11579 2009-04-27  Eric Blake  <ebb9@byu.net>
11580
11581         maint.mk: allow package-specific header to provide <config.h>
11582         * top/maint.mk (sc_require_config_h): New variable.
11583         (sc_require_config_h, sc_require_config_h_first): Use it.
11584
11585 2009-04-27  Simon Josefsson  <simon@josefsson.org>
11586
11587         * top/maint.mk (sc_avoid_if_before_free): Except
11588         useless-if-before-free script.
11589
11590 2009-04-27  Eric Blake  <ebb9@byu.net>
11591
11592         maintainer-makefile: depend on all required helper scripts
11593         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
11594         useless-if-before-free.
11595         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
11596         version, rather than assuming gnulib checkout is available.
11597         Reported by Simen Josefsson.
11598
11599 2009-04-26  Bruno Haible  <bruno@clisp.org>
11600
11601         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
11602         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
11603         "../" or "..".
11604
11605 2009-04-26  Bruno Haible  <bruno@clisp.org>
11606
11607         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
11608         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
11609         AC_LIB_HAVE_LINKFLAGS.
11610
11611 2009-04-26  Bruno Haible  <bruno@clisp.org>
11612
11613         Simplify calling convention of u*_conv_from_encoding.
11614         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
11615         u32_conv_from_encoding): Expect a resultbuf argument and return the
11616         result directly as a pointer.
11617         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
11618         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
11619         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
11620         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
11621         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
11622         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
11623         Update.
11624         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
11625         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
11626         * lib/vasnprintf.c (VASNPRINTF): Update.
11627         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
11628         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
11629         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
11630         * NEWS: Mention the change.
11631
11632 2009-04-26  Bruno Haible  <bruno@clisp.org>
11633
11634         Simplify calling convention of u*_conv_to_encoding.
11635         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
11636         u32_conv_to_encoding): Expect a resultbuf argument and return the
11637         result directly as a pointer.
11638         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
11639         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
11640         freeing scaled_offsets if mem_iconveha failed.
11641         * lib/unicase/u-casexfrm.h (FUNC): Update.
11642         * lib/uninorm/u-normxfrm.h (FUNC): Update.
11643         * lib/vasnprintf.c (VASNPRINTF): Update.
11644         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
11645         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
11646         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
11647         * NEWS: Mention the change.
11648
11649 2009-04-26  Bruno Haible  <bruno@clisp.org>
11650
11651         Avoid test failures on AIX and OSF/1.
11652         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
11653         malloc(0).
11654         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
11655         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
11656         Likewise.
11657         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
11658         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
11659         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
11660         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
11661         * doc/posix-functions/malloc.texi: Document the portability problem
11662         related to malloc(0).
11663
11664 2009-04-26  Bruno Haible  <bruno@clisp.org>
11665
11666         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
11667         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
11668         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
11669
11670 2009-04-25  Bruno Haible  <bruno@clisp.org>
11671
11672         Avoid link error when creating a namespace clean library.
11673         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
11674         as macro with arguments if already defined as an alias.
11675         * lib/signbitf.c (gl_signbitf): Don't undefine.
11676         * lib/signbitd.c (gl_signbitd): Don't undefine.
11677         * lib/signbitl.c (gl_signbitl): Don't undefine.
11678
11679 2009-04-25  Jim Meyering  <meyering@redhat.com>
11680
11681         vc-list-files: fix another quoting bug
11682         * build-aux/vc-list-files: Avoid sed backslash expansion
11683         of pathological directory names.
11684
11685 2009-04-25  Eric Blake  <ebb9@byu.net>
11686
11687         vc-list-files: fix shell quoting error
11688         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
11689         timestamp.
11690
11691 2009-04-25  Jim Meyering  <meyering@redhat.com>
11692
11693         vc-list-files: restore lost functionality with subdir argument
11694         * build-aux/vc-list-files: When given a non-"." sub-directory
11695         argument, substitute the $dir/ prefix back onto each resulting name.
11696         Otherwise, coreutils' root_tests check would fail.
11697
11698 2009-04-24  Eric Blake  <ebb9@byu.net>
11699
11700         vc-list-files: ignore git symlinks
11701         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
11702         than ls-files, to ignore git symlinks.
11703
11704         maint.mk: import improvements from m4
11705         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
11706         (move_if_change): Delete unused macro.
11707         (news-date-check, vc-diff-check): Support VPATH builds.
11708         (announcement): Likewise.  Split --bootstrap-tools list...
11709         (boostrap-tools): ...into separate list, which can be overridden
11710         in cfg.mk.
11711         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
11712         requiring dependency on useless-if-before-free module.
11713         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
11714         Support VPATH builds.
11715
11716 2009-04-24  Jim Meyering  <meyering@redhat.com>
11717
11718         maint.mk: remove coreutils-specific rules and variables
11719         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
11720         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
11721         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
11722
11723         maint.mk: remove obsolete rule
11724         * top/maint.mk (rel-check): Remove rule.
11725         (WGET, WGETFLAGS): Remove now-unused variables.
11726
11727 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11728
11729         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
11730         consistency.
11731
11732         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
11733         '$(PATH_SEPARATOR)' instead of ':'.
11734
11735 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11736
11737         * lib/getopt1.c (main): Use 'const' for static array.
11738
11739 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11740
11741         * top/maint.mk: Sync with coreutils.
11742         * NEWS: Explain incompatibilities.
11743
11744 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11745             Bruno Haible  <bruno@clisp.org>
11746
11747         Fix cross-compilation results.
11748         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
11749         statement, as third argument of AC_TRY_RUN.
11750         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11751         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11752         Likewise.
11753         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11754         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
11755         Likewise.
11756         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11757         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
11758         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
11759
11760 2009-04-20  Bruno Haible  <bruno@clisp.org>
11761
11762         Avoid test failure on mingw.
11763         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
11764
11765 2009-04-20  Bruno Haible  <bruno@clisp.org>
11766
11767         Avoid compilation error on mingw.
11768         * modules/localename-tests (Depends-on): Add locale.
11769
11770 2009-04-19  Bruno Haible  <bruno@clisp.org>
11771
11772         Support for building a shared library on Windows platforms.
11773         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
11774         (main): Test the presence of UNINORM_NFC here.
11775         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
11776         (main): Test the presence of UNINORM_NFD here.
11777         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
11778         (main): Test the presence of UNINORM_NFKC here.
11779         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
11780         (main): Test the presence of UNINORM_NFKD here.
11781
11782 2009-04-19  Bruno Haible  <bruno@clisp.org>
11783
11784         Avoid a compiler warning.
11785         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
11786         Change type of variable 'sequence'.
11787
11788 2009-04-19  Bruno Haible  <bruno@clisp.org>
11789
11790         * modules/configmake (Makefile.am): When the contents of configmake.h
11791         does not change, arrange to preserve its modification time.
11792
11793 2009-04-17  Simon Josefsson  <simon@josefsson.org>
11794
11795         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
11796         gettext domain.
11797
11798 2009-04-16  Jim Meyering  <meyering@redhat.com>
11799
11800         useless-if-before-free: improve conversion code
11801         * build-aux/useless-if-before-free: Adjust code-in-comment to match
11802         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
11803
11804 2009-04-14  Bruno Haible  <bruno@clisp.org>
11805
11806         * modules/fcntl (Depends-on): Add extensions.
11807         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
11808
11809 2009-04-12  Ben Pfaff  <blp@gnu.org>
11810
11811         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
11812         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
11813
11814 2009-03-20  Ben Pfaff  <blp@gnu.org>
11815
11816         Make rename replace existing destinations on Windows.
11817         * m4/rename.m4: Add test for Mingw.
11818         * lib/rename.c: Add rename replacement that uses MoveFileEx with
11819         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
11820         * doc/posix-functions/rename.texi: Document.
11821
11822 2009-04-10  Bruno Haible  <bruno@clisp.org>
11823
11824         New include file "iconveh.h".
11825         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
11826         * lib/striconveh.h: Include it.
11827         (enum iconv_ilseq_handler): Remove definition.
11828         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
11829         striconveh.h.
11830         * lib/striconveha.c: Include striconveh.h.
11831         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
11832         * modules/striconveh (Files): Add lib/iconveh.h.
11833         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
11834         lib/striconveh.h.
11835
11836 2009-04-10  Bruno Haible  <bruno@clisp.org>
11837
11838         * lib/uniconv.h: Update comment.
11839
11840 2009-04-10  Bruno Haible  <bruno@clisp.org>
11841
11842         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
11843         always.
11844         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
11845         * lib/unistr/u16-mbtouc-aux.c: Likewise.
11846         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
11847         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
11848         "unistring-notinline.h", so that the function gets defined always.
11849         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
11850         * lib/unistr/u8-uctomb.c: Likewise.
11851         * lib/unistr/u16-mbtouc.c: Likewise.
11852         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
11853         * lib/unistr/u16-uctomb.c: Likewise.
11854         * lib/unistr/u32-mbtouc.c: Likewise.
11855         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
11856         * lib/unistr/u32-uctomb.c: Likewise.
11857
11858 2009-04-10  Bruno Haible  <bruno@clisp.org>
11859
11860         Mark 'utime' obsolete.
11861         * modules/utime (Status, Notice): New sections.
11862         Suggested by Jim Meyering.
11863
11864         Fix cross-compile guess for utime test.
11865         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
11866         autoconf.
11867         * doc/posix-functions/utime.texi: Give more precisions.
11868         Reported by Jan <ipif@ymail.com>.
11869
11870 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
11871
11872         filevercmp: correct today's change
11873         * lib/filevercmp.c: Also handle coreutils' test inputs.
11874         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
11875
11876         Fix regression in 'filevercmp' module. Thanks Sven Joachim
11877         for reporting it.
11878         * lib/filevercmp.c: Special handle for "", "." and "..".
11879         * tests/test-filevercmp.c: Enlarge the set suite.
11880
11881 2009-04-07  Jim Meyering  <meyering@redhat.com>
11882
11883         useless-if-before-free: show how to remove braced useless free, too
11884         * build-aux/useless-if-before-free: still only in a comment, though.
11885
11886 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
11887
11888         maint.mk: import changes to syntax-check macros from coreutils
11889         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
11890         Use them in the relevant macros.
11891
11892 2009-04-06  Bruno Haible  <bruno@clisp.org>
11893
11894         Fix unportable use of bit-fields.
11895         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
11896         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
11897         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
11898
11899 2009-04-06  Bruno Haible  <bruno@clisp.org>
11900
11901         Avoid test failures on AIX and OSF/1.
11902         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
11903         that malloc(0) = NULL.
11904         * tests/unicase/test-u8-tolower.c (check): Likewise.
11905         * tests/unicase/test-u8-totitle.c (check): Likewise.
11906         * tests/unicase/test-u8-toupper.c (check): Likewise.
11907         * tests/unicase/test-u16-casefold.c (check): Likewise.
11908         * tests/unicase/test-u16-tolower.c (check): Likewise.
11909         * tests/unicase/test-u16-totitle.c (check): Likewise.
11910         * tests/unicase/test-u16-toupper.c (check): Likewise.
11911         * tests/unicase/test-u32-casefold.c (check): Likewise.
11912         * tests/unicase/test-u32-tolower.c (check): Likewise.
11913         * tests/unicase/test-u32-totitle.c (check): Likewise.
11914         * tests/unicase/test-u32-toupper.c (check): Likewise.
11915         * tests/uninorm/test-u8-nfc.c (check): Likewise.
11916         * tests/uninorm/test-u8-nfd.c (check): Likewise.
11917         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
11918         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
11919         * tests/uninorm/test-u16-nfc.c (check): Likewise.
11920         * tests/uninorm/test-u16-nfd.c (check): Likewise.
11921         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
11922         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
11923         * tests/uninorm/test-u32-nfc.c (check): Likewise.
11924         * tests/uninorm/test-u32-nfd.c (check): Likewise.
11925         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
11926         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
11927
11928 2009-04-05  Bruno Haible  <bruno@clisp.org>
11929
11930         Work around an autoconf limitation.
11931         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
11932         comment line if it would be longer than 3 KB.
11933
11934 2009-04-05  Bruno Haible  <bruno@clisp.org>
11935
11936         Avoid test failure with libiconv-1.13.
11937         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
11938         of the expected test results.
11939
11940 2009-04-05  Bruno Haible  <bruno@clisp.org>
11941
11942         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
11943         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
11944         that it should be installed.
11945
11946 2009-04-05  Bruno Haible  <bruno@clisp.org>
11947
11948         * gnulib-tool: New option --copy-file.
11949         (func_usage): Document it.
11950         (func_dest_tmpfilename): Moved out of func_import.
11951         (func_add_file, func_update_file): New functions, extracted from
11952         func_import.
11953         (func_import): Update.
11954
11955 2009-04-05  Karl Berry  <karl@gnu.org>
11956
11957         * README: prominently mention gnulib-tool.
11958         Rearrange sections so getting the code is near the top.
11959
11960 2009-04-05  Bruno Haible  <bruno@clisp.org>
11961
11962         * lib/unicase.h: Mention u*_cmp2.
11963         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
11964         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
11965         * lib/unicase/ulc-casecmp.c: Likewise.
11966         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
11967         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
11968         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
11969         unistr/u8-cmp.
11970         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
11971         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
11972         unistr/u16-cmp.
11973         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
11974         unistr/u32-cmp.
11975
11976         * lib/uninorm.h: Mention u*_cmp2.
11977         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
11978         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
11979         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
11980         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
11981         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
11982         unistr/u8-cmp.
11983         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
11984         unistr/u16-cmp.
11985         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
11986         unistr/u32-cmp.
11987
11988         New module 'unistr/u32-cmp2'.
11989         * lib/unistr/u32-cmp2.c: New file.
11990         * modules/unistr/u32-cmp2: New file.
11991
11992         New module 'unistr/u16-cmp2'.
11993         * lib/unistr/u16-cmp2.c: New file.
11994         * modules/unistr/u16-cmp2: New file.
11995
11996         New module 'unistr/u8-cmp2'.
11997         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
11998         * lib/unistr/u8-cmp2.c: New file.
11999         * lib/unistr/u-cmp2.h: New file.
12000         * modules/unistr/u8-cmp2: New file.
12001
12002 2009-04-05  Bruno Haible  <bruno@clisp.org>
12003
12004         * lib/unictype.h (uc_property_is_valid): New macro.
12005         * tests/unictype/test-pr_byname.c (main): Use it.
12006
12007         * lib/unistr.h: Doc fixes.
12008         * lib/uniconv.h: Doc fixes.
12009         * lib/unictype.h: Doc fixes.
12010
12011 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12012
12013         Port coreutils 7.2 to Solaris 8.
12014
12015         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
12016         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
12017         for Solaris 8.  This is a bit of a hack, as it means it's the
12018         caller's responsibility to add -lnsl if needed, but most likely it
12019         won't be needed since only getaddrinfo uses this and getaddrinfo
12020         isn't needed on Solaris 8.
12021
12022         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
12023         problem to Solaris 8 encountered with coreutils 7.2, which
12024         resulted in a message "fnmatch.c:292: warning: passing argument 4
12025         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
12026         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
12027
12028 2009-04-03  Simon Josefsson  <simon@josefsson.org>
12029
12030         * m4/ld-version-script.m4: Add FIXME comment.
12031
12032 2009-04-02  Simon Josefsson  <simon@josefsson.org>
12033
12034         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
12035         SOVERSION variable.
12036
12037 2009-04-02  Bruno Haible  <bruno@clisp.org>
12038
12039         * Makefile (info, html, dvi, pdf): Combine the rules.
12040         Suggested by Jim Meyering.
12041
12042 2009-04-01  Bruno Haible  <bruno@clisp.org>
12043
12044         * Makefile (info, html, dvi, pdf): New targets.
12045         Reported by Reuben Thomas <rrt@sc3d.org>.
12046
12047 2009-04-01  Bruno Haible  <bruno@clisp.org>
12048
12049         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
12050         can be put into PATH.
12051         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
12052
12053 2009-04-01  Bruno Haible  <bruno@clisp.org>
12054
12055         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
12056
12057 2009-04-01  Bruno Haible  <bruno@clisp.org>
12058
12059         Rename module 'visibility'.
12060         * modules/lib-symbol-visibility: Renamed from modules/visibility.
12061         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
12062         * doc/gnulib.texi: Update.
12063         * MODULES.html.sh (Misc): Update.
12064         * NEWS: Mention the change.
12065
12066 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12067
12068         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
12069         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
12070         Eric Blake <ebb9@byu.net> for review.
12071         * MODULES.html.sh: Add lib-msvc-compat.
12072         * doc/gnulib.texi: Link to new section.
12073         * m4/ld-output-def.m4: New file.
12074         * doc/ld-output-def.texi: New file.
12075
12076 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12077
12078         Rename ld-version-script to lib-symbol-versions.  Suggested by
12079         Bruno Haible <bruno@clisp.org>.
12080         * modules/ld-version-script: Renamed to lib-symbol-versions.
12081         * doc/ld-version-script.texi: Fix module name.
12082         * MODULES.html.sh: Add lib-symbol-versions.
12083
12084 2009-03-31  Simon Josefsson  <simon@josefsson.org>
12085
12086         * modules/u64-tests: New file.
12087         * tests/test-u64.c: New file.
12088
12089 2009-03-04  Simon Josefsson  <simon@josefsson.org>
12090
12091         * MODULES.html.sh: Mention u64.
12092         * modules/u64: New module.
12093         * modules/crypto/sha512: Depend on u64 module instead of providing
12094         u64.h.
12095
12096 2009-03-27  Eric Blake  <ebb9@byu.net>
12097
12098         test-strerror: make debugging EAI_SYSTEM easier
12099         * modules/getaddrinfo-tests (Depends-on): Add strerror.
12100         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
12101         failure was EAI_SYSTEM.
12102
12103 2009-03-25  Bruno Haible  <bruno@clisp.org>
12104
12105         Fix a problem with --enable-relocatable on Solaris 7.
12106         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
12107         since 2008-02-24.
12108
12109 2009-03-25  Eric Blake  <ebb9@byu.net>
12110
12111         test-sockets: avoid gcc warning
12112         * tests/test-sockets.c (main): Silence compiler warning.
12113
12114 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12115
12116         New modules nproc, pthread, contributed by Glen Lenker.
12117
12118         * MODULES.html.sh: Add pthread, nproc.
12119         * lib/nproc.c: New file.
12120         * lib/nproc.h: New file.
12121         * lib/pthread.in.h: New file.
12122         * m4/pthread.m4: New file.
12123         * modules/nproc: New file.
12124         * modules/pthread: New file.
12125
12126 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12127
12128         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
12129         New variable.
12130
12131 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
12132
12133         filevercmp: handle simple~ and numbered.~3~ backup suffixes
12134         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
12135         * tests/test-filevercmp.c: Add tests for backup suffixes.
12136
12137 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12138
12139         * modules/stdlib (Depends-on): Add stdint, needed when defining
12140         struct random_data on, for example, HP-UX 10.20.  Reported by
12141         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12142
12143 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12144
12145         * lib/readline.c (readline): Call fflush on stdout after printing
12146         prompt.
12147
12148 2009-03-20  Bruno Haible  <bruno@clisp.org>
12149
12150         Remove dependency from 'close' module to -lws2_32 on native Windows.
12151         * lib/close-hook.h: New file.
12152         * lib/close-hook.c: New file.
12153         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
12154         w32sock.h.
12155         (_gl_close_fd_maybe_socket): Remove function.
12156         (rpl_close): Invoke execute_all_close_hooks instead of
12157         _gl_close_fd_maybe_socket.
12158         * lib/sockets.c: Include close-hook.h, w32sock.h.
12159         (close_fd_maybe_socket): New function, essentially from lib/close.c.
12160         (close_sockets_hook): New variable.
12161         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
12162         (gl_sockets_cleanup): Unregister it.
12163         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
12164         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
12165         * modules/close-hook: New file.
12166         * modules/close (Files): Remove lib/w32sock.h.
12167         (Depends-on): Add close-hook.
12168         (Link): Remove section.
12169         * modules/sockets (Files): Add lib/w32sock.h.
12170         (Depends-on): Add close-hook.
12171         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
12172         invocation.
12173         * NEWS: Mention that LIB_CLOSE is gone.
12174
12175 2009-03-23  Eric Blake  <ebb9@byu.net>
12176
12177         signal-tests: test previous patch
12178         * tests/test-signal.c: New file.
12179         * modules/signal-tests: Likewise.
12180
12181         signal.h: always support 'volatile sig_atomic_t'
12182         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
12183         (gl_SIGNAL_H_DEFAULTS): Add a default.
12184         * modules/signal (Makefile.am): Substitute if needed.
12185         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
12186         users can blindly add volatile.
12187         * doc/posix-headers/signal.texi (signal.h): Document it.
12188         Reported by Matthew Woehlke.
12189
12190 2009-03-23  Jim Meyering  <meyering@redhat.com>
12191
12192         pathmax: PATH_MAX: use pathconf only when available
12193         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
12194         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
12195         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
12196         This avoids a link failure in a PSP cross-compilation environment
12197         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
12198
12199         * lib/vasnprintf.c (divide): Fix typo in comment.
12200
12201 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12202
12203         * gnulib-tool (func_filter_filelist): Fix comment.
12204
12205 2009-03-20  Bruno Haible  <bruno@clisp.org>
12206
12207         Make sockets.h self-contained.
12208         * lib/sockets.c: Include sockets.h first.
12209         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
12210
12211 2009-03-19  Eric Blake  <ebb9@byu.net>
12212
12213         doc: mention more functions added in cygwin 1.7.0
12214         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
12215         addition.
12216         * doc/posix-functions/log2f.texi: Likewise.
12217
12218 2009-03-19  Jim Meyering  <meyering@redhat.com>
12219
12220         fsusage: avoid syntax error due to statement-before-declaration
12221         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
12222         after all declarations.  Reported by Matthew Woehlke in
12223         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
12224
12225 2009-03-18  Eric Blake  <ebb9@byu.net>
12226
12227         build-aux/compile: sync from automake
12228         * build-aux/compile: New file, from automake.
12229         * config/srclist.txt: Mention build-aux/compile.
12230
12231 2009-03-17  Bruno Haible  <bruno@clisp.org>
12232
12233         * lib/git-merge-changelog.c: Fix typo in comment.
12234         Reported by Reuben Thomas <rrt@sc3d.org>.
12235
12236 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
12237
12238         * m4/regex.m4: update and improve help for
12239         --without-included-regex.
12240
12241 2009-03-17  Simon Josefsson  <simon@josefsson.org>
12242
12243         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
12244         failure on missing include files.
12245
12246 2009-03-17  Eric Blake  <ebb9@byu.net>
12247
12248         doc: mention more functions added in cygwin 1.7.0
12249         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
12250         addition.
12251         * doc/posix-functions/fwscanf.texi: Likewise.
12252         * doc/posix-functions/swprintf.texi: Likewise.
12253         * doc/posix-functions/swscanf.texi: Likewise.
12254         * doc/posix-functions/vfwprintf.texi: Likewise.
12255         * doc/posix-functions/vfwscanf.texi: Likewise.
12256         * doc/posix-functions/vswprintf.texi: Likewise.
12257         * doc/posix-functions/vswscanf.texi: Likewise.
12258         * doc/posix-functions/vwprintf.texi: Likewise.
12259         * doc/posix-functions/vwscanf.texi: Likewise.
12260         * doc/posix-functions/wcscasecmp.texi: Likewise.
12261         * doc/posix-functions/wcsdup.texi: Likewise.
12262         * doc/posix-functions/wcsftime.texi: Likewise.
12263         * doc/posix-functions/wcsncasecmp.texi: Likewise.
12264         * doc/posix-functions/wprintf.texi: Likewise.
12265         * doc/posix-functions/wscanf.texi: Likewise.
12266         * doc/glibc-functions/gethostbyname2.texi: Likewise.
12267
12268 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12269
12270         maint.mk: really add $(AM_MAKEFLAGS)
12271         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
12272         was inadvertently omitted in the last commit.
12273         Spotted by Bruno Haible.
12274
12275         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
12276         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
12277         $(AM_MAKEFLAGS)' rather than plain `make'.
12278
12279         gnulib-tool: execute $MAKE not make
12280         * gnulib-tool: Default $MAKE to 'make'.
12281         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
12282         than make.  Initialize $MAKE in the do-autobuild script.
12283
12284         gnulib-tool: use $MAKE not make in generated files
12285         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
12286         make, in generated files.  Initialize $MAKE in the do-autobuild
12287         script.
12288
12289         * top/GNUmakefile (_have-git-version-gen): Fix typo.
12290
12291         GNUmakefile: disable parallelism only for multiple, recursive targets
12292         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
12293         additions in the Makefile.
12294         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
12295         by Automake.
12296         (.NOTPARALLEL): Only disable parallel builds if multiple targets
12297         are listed on the command line and at least one of them is
12298         listed in $(ALL_RECURSIVE_TARGETS).
12299
12300 2009-03-14  Bruno Haible  <bruno@clisp.org>
12301
12302         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
12303         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
12304         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
12305         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
12306         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
12307         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
12308         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
12309         unistr/u8-uctomb.
12310         * modules/unistr/u8-strchr (Depends-on): Likewise.
12311         * modules/unistr/u8-strrchr (Depends-on): Likewise.
12312         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
12313         unistr/u16-uctomb.
12314         * modules/unistr/u16-strchr (Depends-on): Likewise.
12315         * modules/unistr/u16-strrchr (Depends-on): Likewise.
12316
12317 2009-03-12  Bruno Haible  <bruno@clisp.org>
12318
12319         Work around select() bug on Interix 3.5.
12320         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
12321         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
12322         * m4/select.m4: New file.
12323         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
12324         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
12325         * modules/select (Files): Add m4/select.m4.
12326         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
12327         * modules/nanosleep (Depends-on): Add select.
12328         * modules/poll (Depends-on): Likewise.
12329         * doc/posix-functions/select.texi: Mention the Interix bug.
12330         Reported by Markus Duft <mduft@gentoo.org>.
12331
12332         * lib/select.c: Renamed from lib/winsock-select.c.
12333         * modules/select (Files): Add lib/select.c, remove
12334         lib/winsock-select.c.
12335         (configure.ac): Update.
12336
12337 2009-03-12  Jim Meyering  <meyering@redhat.com>
12338
12339         avoid gcc warnings about unused macro definitions
12340         * lib/readtokens.c (STREQ): Remove unused definition.
12341         * lib/xmalloc.c (SIZE_MAX): Likewise.
12342         * lib/openat-die.c (N_): Likewise.
12343         * lib/mountlist.c (SIZE_MAX): Remove definition.
12344         Instead, include <stdint.h>.
12345         * lib/readutmp.c: Likewise.
12346         * modules/readutmp (Depends-on): Add stdint.
12347         * modules/mountlist (Depends-on): Add stdint.
12348         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
12349
12350 2009-03-10  Bruno Haible  <bruno@clisp.org>
12351
12352         Tests for module 'mbmemcasecoll'.
12353         * modules/mbmemcasecoll-tests: New file.
12354         * tests/test-mbmemcasecoll1.sh: New file.
12355         * tests/test-mbmemcasecoll2.sh: New file.
12356         * tests/test-mbmemcasecoll3.sh: New file.
12357         * tests/test-mbmemcasecoll.c: New file.
12358
12359         New module 'mbmemcasecoll'.
12360         * lib/mbmemcasecoll.h: New file.
12361         * lib/mbmemcasecoll.c: New file.
12362         * modules/mbmemcasecoll: New file.
12363
12364         * tests/test-mbmemcasecmp.h: New file, extracted from
12365         tests/test-mbmemcasecmp.c.
12366         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
12367         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
12368         (main): Update.
12369         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
12370
12371 2009-03-09  Bruno Haible  <bruno@clisp.org>
12372
12373         Tests for module 'mbmemcasecmp'.
12374         * modules/mbmemcasecmp-tests: New file.
12375         * tests/test-mbmemcasecmp1.sh: New file.
12376         * tests/test-mbmemcasecmp2.sh: New file.
12377         * tests/test-mbmemcasecmp3.sh: New file.
12378         * tests/test-mbmemcasecmp.c: New file.
12379
12380         New module 'mbmemcasecmp'.
12381         * lib/mbmemcasecmp.h: New file.
12382         * lib/mbmemcasecmp.c: New file.
12383         * modules/mbmemcasecmp: New file.
12384
12385 2009-03-09  Bruno Haible  <bruno@clisp.org>
12386
12387         Tests for module 'unicase/ulc-casecoll'.
12388         * modules/unicase/ulc-casecoll-tests: New file.
12389         * tests/unicase/test-ulc-casecoll1.sh: New file.
12390         * tests/unicase/test-ulc-casecoll2.sh: New file.
12391         * tests/unicase/test-ulc-casecoll.c: New file.
12392
12393         New module 'unicase/ulc-casecoll'.
12394         * lib/unicase.h (ulc_casecoll): New declaration.
12395         * lib/unicase/ulc-casecoll.c: New file.
12396         * modules/unicase/ulc-casecoll: New file.
12397
12398         New module 'unicase/ulc-casexfrm'.
12399         * lib/unicase.h (ulc_casexfrm): New declaration.
12400         * lib/unicase/ulc-casexfrm.c: New file.
12401         * modules/unicase/ulc-casexfrm: New file.
12402
12403 2009-03-09  Bruno Haible  <bruno@clisp.org>
12404
12405         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
12406         invocations.
12407
12408         * m4/mbscasecmp.m4: Remove file.
12409         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
12410         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
12411
12412         * m4/mbscasestr.m4: Remove file.
12413         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
12414         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
12415
12416         * m4/mbschr.m4: Remove file.
12417         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
12418         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
12419
12420         * m4/mbscspn.m4: Remove file.
12421         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
12422         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
12423
12424         * m4/mbslen.m4: Remove file.
12425         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
12426         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
12427
12428         * m4/mbsncasecmp.m4: Remove file.
12429         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
12430         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
12431
12432         * m4/mbsnlen.m4: Remove file.
12433         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
12434         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
12435
12436         * m4/mbspbrk.m4: Remove file.
12437         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
12438         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
12439
12440         * m4/mbspcasecmp.m4: Remove file.
12441         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
12442         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
12443
12444         * m4/mbsrchr.m4: Remove file.
12445         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
12446         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
12447
12448         * m4/mbssep.m4: Remove file.
12449         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
12450         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
12451
12452         * m4/mbsspn.m4: Remove file.
12453         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
12454         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
12455
12456         * m4/mbsstr.m4: Remove file.
12457         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
12458         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
12459
12460         * m4/mbstok_r.m4: Remove file.
12461         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
12462         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
12463
12464         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
12465
12466         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
12467         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
12468
12469         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
12470
12471 2009-03-08  Bruno Haible  <bruno@clisp.org>
12472
12473         Tests for module 'unicase/ulc-casecmp'.
12474         * modules/unicase/ulc-casecmp-tests: New file.
12475         * tests/unicase/test-ulc-casecmp1.sh: New file.
12476         * tests/unicase/test-ulc-casecmp2.sh: New file.
12477         * tests/unicase/test-ulc-casecmp.c: New file.
12478
12479         New module 'unicase/ulc-casecmp'.
12480         * lib/unicase.h (ulc_casecmp): New declaration.
12481         * lib/unicase/ulc-casecmp.c: New file.
12482         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
12483         'const SRC_UNIT *'.
12484         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
12485         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
12486         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
12487         * modules/unicase/ulc-casecmp: New file.
12488
12489         Tests for module 'unicase/u32-is-cased'.
12490         * modules/unicase/u32-is-cased-tests: New file.
12491         * tests/unicase/test-u32-is-cased.c: New file.
12492
12493         Tests for module 'unicase/u16-is-cased'.
12494         * modules/unicase/u16-is-cased-tests: New file.
12495         * tests/unicase/test-u16-is-cased.c: New file.
12496
12497         Tests for module 'unicase/u8-is-cased'.
12498         * modules/unicase/u8-is-cased-tests: New file.
12499         * tests/unicase/test-u8-is-cased.c: New file.
12500         * tests/unicase/test-is-cased.h: New file.
12501
12502         New module 'unicase/u32-is-cased'.
12503         * lib/unicase/u32-is-cased.c: New file.
12504         * modules/unicase/u32-is-cased: New file.
12505
12506         New module 'unicase/u16-is-cased'.
12507         * lib/unicase/u16-is-cased.c: New file.
12508         * modules/unicase/u16-is-cased: New file.
12509
12510         New module 'unicase/u8-is-cased'.
12511         * lib/unicase/u8-is-cased.c: New file.
12512         * lib/unicase/u-is-cased.h: New file.
12513         * modules/unicase/u8-is-cased: New file.
12514
12515         Tests for module 'unicase/u32-is-casefolded'.
12516         * modules/unicase/u32-is-casefolded-tests: New file.
12517         * tests/unicase/test-u32-is-casefolded.c: New file.
12518
12519         Tests for module 'unicase/u16-is-casefolded'.
12520         * modules/unicase/u16-is-casefolded-tests: New file.
12521         * tests/unicase/test-u16-is-casefolded.c: New file.
12522
12523         Tests for module 'unicase/u8-is-casefolded'.
12524         * modules/unicase/u8-is-casefolded-tests: New file.
12525         * tests/unicase/test-u8-is-casefolded.c: New file.
12526         * tests/unicase/test-is-casefolded.h: New file.
12527
12528         New module 'unicase/u32-is-casefolded'.
12529         * lib/unicase/u32-is-casefolded.c: New file.
12530         * modules/unicase/u32-is-casefolded: New file.
12531
12532         New module 'unicase/u16-is-casefolded'.
12533         * lib/unicase/u16-is-casefolded.c: New file.
12534         * modules/unicase/u16-is-casefolded: New file.
12535
12536         New module 'unicase/u8-is-casefolded'.
12537         * lib/unicase/u8-is-casefolded.c: New file.
12538         * modules/unicase/u8-is-casefolded: New file.
12539
12540         Tests for module 'unicase/u32-is-titlecase'.
12541         * modules/unicase/u32-is-titlecase-tests: New file.
12542         * tests/unicase/test-u32-is-titlecase.c: New file.
12543
12544         Tests for module 'unicase/u16-is-titlecase'.
12545         * modules/unicase/u16-is-titlecase-tests: New file.
12546         * tests/unicase/test-u16-is-titlecase.c: New file.
12547
12548         Tests for module 'unicase/u8-is-titlecase'.
12549         * modules/unicase/u8-is-titlecase-tests: New file.
12550         * tests/unicase/test-u8-is-titlecase.c: New file.
12551         * tests/unicase/test-is-titlecase.h: New file.
12552
12553         New module 'unicase/u32-is-titlecase'.
12554         * lib/unicase/u32-is-titlecase.c: New file.
12555         * modules/unicase/u32-is-titlecase: New file.
12556
12557         New module 'unicase/u16-is-titlecase'.
12558         * lib/unicase/u16-is-titlecase.c: New file.
12559         * modules/unicase/u16-is-titlecase: New file.
12560
12561         New module 'unicase/u8-is-titlecase'.
12562         * lib/unicase/u8-is-titlecase.c: New file.
12563         * modules/unicase/u8-is-titlecase: New file.
12564
12565         Tests for module 'unicase/u32-is-lowercase'.
12566         * modules/unicase/u32-is-lowercase-tests: New file.
12567         * tests/unicase/test-u32-is-lowercase.c: New file.
12568
12569         Tests for module 'unicase/u16-is-lowercase'.
12570         * modules/unicase/u16-is-lowercase-tests: New file.
12571         * tests/unicase/test-u16-is-lowercase.c: New file.
12572
12573         Tests for module 'unicase/u8-is-lowercase'.
12574         * modules/unicase/u8-is-lowercase-tests: New file.
12575         * tests/unicase/test-u8-is-lowercase.c: New file.
12576         * tests/unicase/test-is-lowercase.h: New file.
12577
12578         New module 'unicase/u32-is-lowercase'.
12579         * lib/unicase/u32-is-lowercase.c: New file.
12580         * modules/unicase/u32-is-lowercase: New file.
12581
12582         New module 'unicase/u16-is-lowercase'.
12583         * lib/unicase/u16-is-lowercase.c: New file.
12584         * modules/unicase/u16-is-lowercase: New file.
12585
12586         New module 'unicase/u8-is-lowercase'.
12587         * lib/unicase/u8-is-lowercase.c: New file.
12588         * modules/unicase/u8-is-lowercase: New file.
12589
12590         Tests for module 'unicase/u32-is-uppercase'.
12591         * modules/unicase/u32-is-uppercase-tests: New file.
12592         * tests/unicase/test-u32-is-uppercase.c: New file.
12593
12594         Tests for module 'unicase/u16-is-uppercase'.
12595         * modules/unicase/u16-is-uppercase-tests: New file.
12596         * tests/unicase/test-u16-is-uppercase.c: New file.
12597
12598         Tests for module 'unicase/u8-is-uppercase'.
12599         * modules/unicase/u8-is-uppercase-tests: New file.
12600         * tests/unicase/test-u8-is-uppercase.c: New file.
12601         * tests/unicase/test-is-uppercase.h: New file.
12602
12603         New module 'unicase/u32-is-uppercase'.
12604         * lib/unicase/u32-is-uppercase.c: New file.
12605         * modules/unicase/u32-is-uppercase: New file.
12606
12607         New module 'unicase/u16-is-uppercase'.
12608         * lib/unicase/u16-is-uppercase.c: New file.
12609         * modules/unicase/u16-is-uppercase: New file.
12610
12611         New module 'unicase/u8-is-uppercase'.
12612         * lib/unicase/u8-is-uppercase.c: New file.
12613         * modules/unicase/u8-is-uppercase: New file.
12614
12615         New module 'unicase/u32-is-invariant'.
12616         * lib/unicase/u32-is-invariant.c: New file.
12617         * modules/unicase/u32-is-invariant: New file.
12618
12619         New module 'unicase/u16-is-invariant'.
12620         * lib/unicase/u16-is-invariant.c: New file.
12621         * modules/unicase/u16-is-invariant: New file.
12622
12623         New module 'unicase/u8-is-invariant'.
12624         * lib/unicase/u8-is-invariant.c: New file.
12625         * lib/unicase/invariant.h: New file.
12626         * lib/unicase/u-is-invariant.h: New file.
12627         * modules/unicase/u8-is-invariant: New file.
12628
12629         Tests for module 'unicase/u32-casecoll'.
12630         * modules/unicase/u32-casecoll-tests: New file.
12631         * tests/unicase/test-u32-casecoll.c: New file.
12632
12633         Tests for module 'unicase/u16-casecoll'.
12634         * modules/unicase/u16-casecoll-tests: New file.
12635         * tests/unicase/test-u16-casecoll.c: New file.
12636
12637         Tests for module 'unicase/u8-casecoll'.
12638         * modules/unicase/u8-casecoll-tests: New file.
12639         * tests/unicase/test-u8-casecoll.c: New file.
12640
12641         New module 'unicase/u32-casecoll'.
12642         * lib/unicase/u32-casecoll.c: New file.
12643         * modules/unicase/u32-casecoll: New file.
12644
12645         New module 'unicase/u16-casecoll'.
12646         * lib/unicase/u16-casecoll.c: New file.
12647         * modules/unicase/u16-casecoll: New file.
12648
12649         New module 'unicase/u8-casecoll'.
12650         * lib/unicase/u8-casecoll.c: New file.
12651         * lib/unicase/u-casecoll.h: New file.
12652         * modules/unicase/u8-casecoll: New file.
12653
12654         New module 'unicase/u32-casexfrm'.
12655         * lib/unicase/u32-casexfrm.c: New file.
12656         * modules/unicase/u32-casexfrm: New file.
12657
12658         New module 'unicase/u16-casexfrm'.
12659         * lib/unicase/u16-casexfrm.c: New file.
12660         * modules/unicase/u16-casexfrm: New file.
12661
12662         New module 'unicase/u8-casexfrm'.
12663         * lib/unicase/u8-casexfrm.c: New file.
12664         * lib/unicase/u-casexfrm.h: New file.
12665         * modules/unicase/u8-casexfrm: New file.
12666
12667         Tests for module 'unicase/u32-casecmp'.
12668         * modules/unicase/u32-casecmp-tests: New file.
12669         * tests/unicase/test-u32-casecmp.c: New file.
12670
12671         Tests for module 'unicase/u16-casecmp'.
12672         * modules/unicase/u16-casecmp-tests: New file.
12673         * tests/unicase/test-u16-casecmp.c: New file.
12674
12675         Tests for module 'unicase/u8-casecmp'.
12676         * modules/unicase/u8-casecmp-tests: New file.
12677         * tests/unicase/test-u8-casecmp.c: New file.
12678         * tests/unicase/test-casecmp.h: New file.
12679
12680         New module 'unicase/u32-casecmp'.
12681         * lib/unicase/u32-casecmp.c: New file.
12682         * modules/unicase/u32-casecmp: New file.
12683
12684         New module 'unicase/u16-casecmp'.
12685         * lib/unicase/u16-casecmp.c: New file.
12686         * modules/unicase/u16-casecmp: New file.
12687
12688         New module 'unicase/u8-casecmp'.
12689         * lib/unicase/u8-casecmp.c: New file.
12690         * lib/unicase/u-casecmp.h: New file.
12691         * modules/unicase/u8-casecmp: New file.
12692
12693         Tests for module 'unicase/u32-casefold'.
12694         * modules/unicase/u32-casefold-tests: New file.
12695         * tests/unicase/test-u32-casefold.c: New file.
12696
12697         Tests for module 'unicase/u16-casefold'.
12698         * modules/unicase/u16-casefold-tests: New file.
12699         * tests/unicase/test-u16-casefold.c: New file.
12700
12701         Tests for module 'unicase/u8-casefold'.
12702         * modules/unicase/u8-casefold-tests: New file.
12703         * tests/unicase/test-u8-casefold.c: New file.
12704
12705         New module 'unicase/u32-casefold'.
12706         * lib/unicase/u32-casefold.c: New file.
12707         * modules/unicase/u32-casefold: New file.
12708
12709         New module 'unicase/u16-casefold'.
12710         * lib/unicase/u16-casefold.c: New file.
12711         * modules/unicase/u16-casefold: New file.
12712
12713         New module 'unicase/u8-casefold'.
12714         * lib/unicase/u8-casefold.c: New file.
12715         * lib/unicase/u-casefold.h: New file.
12716         * modules/unicase/u8-casefold: New file.
12717
12718         New module 'unicase/tocasefold'.
12719         * lib/unicase/casefold.h: New file.
12720         * lib/unicase/tocasefold.c: New file.
12721         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
12722         * modules/unicase/tocasefold: New file.
12723
12724         Tests for module 'unicase/u32-totitle'.
12725         * modules/unicase/u32-totitle-tests: New file.
12726         * tests/unicase/test-u32-totitle.c: New file.
12727
12728         Tests for module 'unicase/u16-totitle'.
12729         * modules/unicase/u16-totitle-tests: New file.
12730         * tests/unicase/test-u16-totitle.c: New file.
12731
12732         Tests for module 'unicase/u8-totitle'.
12733         * modules/unicase/u8-totitle-tests: New file.
12734         * tests/unicase/test-u8-totitle.c: New file.
12735
12736         New module 'unicase/u32-totitle'.
12737         * lib/unicase/u32-totitle.c: New file.
12738         * modules/unicase/u32-totitle: New file.
12739
12740         New module 'unicase/u16-totitle'.
12741         * lib/unicase/u16-totitle.c: New file.
12742         * modules/unicase/u16-totitle: New file.
12743
12744         New module 'unicase/u8-totitle'.
12745         * lib/unicase/u8-totitle.c: New file.
12746         * lib/unicase/u-totitle.h: New file.
12747         * modules/unicase/u8-totitle: New file.
12748
12749         Tests for module 'unicase/u32-tolower'.
12750         * modules/unicase/u32-tolower-tests: New file.
12751         * tests/unicase/test-u32-tolower.c: New file.
12752
12753         Tests for module 'unicase/u16-tolower'.
12754         * modules/unicase/u16-tolower-tests: New file.
12755         * tests/unicase/test-u16-tolower.c: New file.
12756
12757         Tests for module 'unicase/u8-tolower'.
12758         * modules/unicase/u8-tolower-tests: New file.
12759         * tests/unicase/test-u8-tolower.c: New file.
12760
12761         New module 'unicase/u32-tolower'.
12762         * lib/unicase/u32-tolower.c: New file.
12763         * modules/unicase/u32-tolower: New file.
12764
12765         New module 'unicase/u16-tolower'.
12766         * lib/unicase/u16-tolower.c: New file.
12767         * modules/unicase/u16-tolower: New file.
12768
12769         New module 'unicase/u8-tolower'.
12770         * lib/unicase/u8-tolower.c: New file.
12771         * modules/unicase/u8-tolower: New file.
12772
12773         Tests for module 'unicase/u32-toupper'.
12774         * modules/unicase/u32-toupper-tests: New file.
12775         * tests/unicase/test-u32-toupper.c: New file.
12776
12777         Tests for module 'unicase/u16-toupper'.
12778         * modules/unicase/u16-toupper-tests: New file.
12779         * tests/unicase/test-u16-toupper.c: New file.
12780
12781         Tests for module 'unicase/u8-toupper'.
12782         * modules/unicase/u8-toupper-tests: New file.
12783         * tests/unicase/test-u8-toupper.c: New file.
12784
12785         New module 'unicase/u32-toupper'.
12786         * lib/unicase/u32-toupper.c: New file.
12787         * modules/unicase/u32-toupper: New file.
12788
12789         New module 'unicase/u16-toupper'.
12790         * lib/unicase/u16-toupper.c: New file.
12791         * modules/unicase/u16-toupper: New file.
12792
12793         New module 'unicase/u8-toupper'.
12794         * lib/unicase/u8-toupper.c: New file.
12795         * modules/unicase/u8-toupper: New file.
12796
12797         New module 'unicase/u32-casemap'.
12798         * lib/unicase/u32-casemap.c: New file.
12799         * modules/unicase/u32-casemap: New file.
12800
12801         New module 'unicase/u16-casemap'.
12802         * lib/unicase/u16-casemap.c: New file.
12803         * modules/unicase/u16-casemap: New file.
12804
12805         New module 'unicase/u8-casemap'.
12806         * lib/unicase/unicasemap.h: New file.
12807         * lib/unicase/u8-casemap.c: New file.
12808         * lib/unicase/u-casemap.h: New file.
12809         * modules/unicase/u8-casemap: New file.
12810
12811         New module 'unicase/special-casing'.
12812         * lib/unicase/special-casing.h: New file.
12813         * lib/unicase/special-casing.c: New file.
12814         * lib/unicase/special-casing-table.gperf: New file, generated by
12815         gen-uni-tables.c.
12816         * modules/unicase/special-casing: New file.
12817
12818         Tests for module 'unicase/locale-language'.
12819         * modules/unicase/locale-language-tests: New file.
12820         * tests/unicase/test-locale-language.sh: New file.
12821         * tests/unicase/test-locale-language.c: New file.
12822
12823         New module 'unicase/locale-language'.
12824         * lib/unicase/locale-language.c: New file.
12825         * lib/unicase/locale-languages.gperf: New file.
12826         * modules/unicase/locale-language: New file.
12827
12828         Generate more tables for case conversion and case folding.
12829         * lib/gen-uni-tables.c (SCC_*): New enum items.
12830         (struct special_casing_rule): New type.
12831         (casing_rules, num_casing_rules, allocated_casing_rules): New
12832         variables.
12833         (add_casing_rule, fill_casing_rules): New functions.
12834         (struct casefold_rule): New type.
12835         (casefolding_rules, num_casefolding_rules,
12836         allocated_casefolding_rules): New variables.
12837         (fill_casefolding_rules): New function.
12838         (unicode_casefold): New variable.
12839         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
12840         sort_casing_rules, output_casing_rules): New functions.
12841         (main): Accept to more arguments: SpecialCasing.txt and
12842         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
12843         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
12844         Output mapping for casefolding.
12845
12846         * lib/unicase.h: Include stdbool.h, uninorm.h.
12847         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
12848         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
12849         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
12850         arguments.
12851         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
12852         resultp arguments.
12853         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
12854         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
12855         resultp arguments.
12856         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
12857         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
12858         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
12859         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
12860         declarations.
12861         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
12862
12863 2009-03-08  Bruno Haible  <bruno@clisp.org>
12864
12865         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
12866         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
12867         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
12868         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
12869
12870 2009-03-07  Bruno Haible  <bruno@clisp.org>
12871
12872         Adjust u*_normcmp, u*_normcoll API.
12873         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
12874         u16_normcoll, u32_normcoll): Change failure conventions.
12875         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
12876         errno and return -1.
12877         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
12878
12879 2009-03-07  Bruno Haible  <bruno@clisp.org>
12880
12881         Tests for module 'uninorm/u32-normcoll'.
12882         * modules/uninorm/u32-normcoll-tests: New file.
12883         * tests/uninorm/test-u32-normcoll.c: New file.
12884
12885         Tests for module 'uninorm/u16-normcoll'.
12886         * modules/uninorm/u16-normcoll-tests: New file.
12887         * tests/uninorm/test-u16-normcoll.c: New file.
12888
12889         Tests for module 'uninorm/u8-normcoll'.
12890         * modules/uninorm/u8-normcoll-tests: New file.
12891         * tests/uninorm/test-u8-normcoll.c: New file.
12892
12893 2009-03-07  Bruno Haible  <bruno@clisp.org>
12894
12895         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
12896         tests/uninorm/test-u32-normcmp.c.
12897         * tests/uninorm/test-u32-normcmp.c: Include it.
12898         (test_nonascii): New function, extracted from main. Add some more
12899         tests.
12900         (main): Invoke test_ascii and test_nonascii.
12901         * modules/uninorm/u32-normcmp-tests (Files): Add
12902         tests/uninorm/test-u32-normcmp.h.
12903         (Depends-on): Remove uninorm/u32-normcmp.
12904
12905         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
12906         tests/uninorm/test-u16-normcmp.c.
12907         * tests/uninorm/test-u16-normcmp.c: Include it.
12908         (test_nonascii): New function, extracted from main. Add some more
12909         tests.
12910         (main): Invoke test_ascii and test_nonascii.
12911         * modules/uninorm/u16-normcmp-tests (Files): Add
12912         tests/uninorm/test-u16-normcmp.h.
12913         (Depends-on): Remove uninorm/u16-normcmp.
12914
12915         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
12916         tests/uninorm/test-u8-normcmp.c.
12917         * tests/uninorm/test-u8-normcmp.c: Include it.
12918         (test_nonascii): New function, extracted from main. Add some more
12919         tests.
12920         (main): Invoke test_ascii and test_nonascii.
12921         * modules/uninorm/u8-normcmp-tests (Files): Add
12922         tests/uninorm/test-u8-normcmp.h.
12923         (Depends-on): Remove uninorm/u8-normcmp.
12924
12925 2009-03-07  Bruno Haible  <bruno@clisp.org>
12926
12927         New module 'uninorm/u32-normcoll'.
12928         * lib/uninorm/u32-normcoll.c: New file.
12929         * modules/uninorm/u32-normcoll: New file.
12930
12931         New module 'uninorm/u16-normcoll'.
12932         * lib/uninorm/u16-normcoll.c: New file.
12933         * modules/uninorm/u16-normcoll: New file.
12934
12935         New module 'uninorm/u8-normcoll'.
12936         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
12937         declarations.
12938         * lib/uninorm/u8-normcoll.c: New file.
12939         * lib/uninorm/u-normcoll.h: New file.
12940         * modules/uninorm/u8-normcoll: New file.
12941
12942         New module 'uninorm/u32-normxfrm'.
12943         * lib/uninorm/u32-normxfrm.c: New file.
12944         * modules/uninorm/u32-normxfrm: New file.
12945
12946         New module 'uninorm/u16-normxfrm'.
12947         * lib/uninorm/u16-normxfrm.c: New file.
12948         * modules/uninorm/u16-normxfrm: New file.
12949
12950         New module 'uninorm/u8-normxfrm'.
12951         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
12952         declarations.
12953         * lib/uninorm/u8-normxfrm.c: New file.
12954         * lib/uninorm/u-normxfrm.h: New file.
12955         * modules/uninorm/u8-normxfrm: New file.
12956
12957 2009-03-07  Bruno Haible  <bruno@clisp.org>
12958
12959         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
12960         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
12961         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
12962
12963 2009-03-07  Bruno Haible  <bruno@clisp.org>
12964
12965         New module 'memxfrm'.
12966         * lib/memxfrm.h: New file.
12967         * lib/memxfrm.c: New file.
12968         * modules/memxfrm: New file.
12969
12970 2009-03-07  Bruno Haible  <bruno@clisp.org>
12971
12972         New module 'memcmp2'.
12973         * lib/memcmp2.h: New file.
12974         * lib/memcmp2.c: New file.
12975         * modules/memcmp2: New file.
12976
12977 2009-03-07  Bruno Haible  <bruno@clisp.org>
12978
12979         Tests for module 'uninorm/decomposing-form'.
12980         * modules/uninorm/decomposing-form-tests: New file.
12981         * tests/uninorm/test-decomposing-form.c: New file.
12982
12983         New module 'uninorm/decomposing-form'.
12984         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
12985         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
12986         Add 'decomposing_variant' field.
12987         * lib/uninorm/decomposing-form.c: New file.
12988         * lib/uninorm/nfc.c (uninorm_nfc): Update.
12989         * lib/uninorm/nfd.c (uninorm_nfd): Update.
12990         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
12991         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
12992         * modules/uninorm/decomposing-form: New file.
12993         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
12994         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
12995
12996 2009-03-07  Bruno Haible  <bruno@clisp.org>
12997
12998         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
12999         strings.
13000
13001 2009-03-06  Bruno Haible  <bruno@clisp.org>
13002
13003         Tests for module 'uninorm/u32-normcmp'.
13004         * tests/uninorm/test-u32-normcmp.c: New file.
13005         * modules/uninorm/u32-normcmp-tests: New file.
13006
13007         Tests for module 'uninorm/u16-normcmp'.
13008         * tests/uninorm/test-u16-normcmp.c: New file.
13009         * modules/uninorm/u16-normcmp-tests: New file.
13010
13011         Tests for module 'uninorm/u8-normcmp'.
13012         * tests/uninorm/test-u8-normcmp.c: New file.
13013         * modules/uninorm/u8-normcmp-tests: New file.
13014
13015         New module 'uninorm/u32-normcmp'.
13016         * lib/uninorm/u32-normcmp.c: New file.
13017         * modules/uninorm/u32-normcmp: New file.
13018
13019         New module 'uninorm/u16-normcmp'.
13020         * lib/uninorm/u16-normcmp.c: New file.
13021         * modules/uninorm/u16-normcmp: New file.
13022
13023         New module 'uninorm/u8-normcmp'.
13024         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
13025         declarations.
13026         * lib/uninorm/u8-normcmp.c: New file.
13027         * lib/uninorm/u-normcmp.h: New file.
13028         * modules/uninorm/u8-normcmp: New file.
13029
13030 2009-03-06  Bruno Haible  <bruno@clisp.org>
13031
13032         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
13033         Reported by Eric Blake.
13034
13035 2009-03-06  Eric Blake  <ebb9@byu.net>
13036             Bruno Haible  <bruno@clisp.org>
13037
13038         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
13039         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
13040         condition.
13041         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13042         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
13043         condition.
13044         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13045
13046 2009-03-06  Eric Blake  <ebb9@byu.net>
13047
13048         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
13049         to avoid compiler warnings.
13050         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
13051
13052 2009-03-05  Bruno Haible  <bruno@clisp.org>
13053
13054         * tests/test-ftell.c (main): Disable test beyond end of file on
13055         FreeMiNT.
13056         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13057
13058 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
13059
13060         * lib/filevercmp.c: Move hidden files up in ordering.
13061         * tests/test-filevercmp.c: Add tests for hidden files.
13062
13063 2009-03-04  Bruno Haible  <bruno@clisp.org>
13064
13065         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
13066         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
13067         AM_CFLAGS.
13068         Reported by Simon Josefsson.
13069
13070 2009-03-03  Bruno Haible  <bruno@clisp.org>
13071
13072         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
13073         Reported by Simon Josefsson.
13074
13075         * doc/ld-version-script.texi: Update node reference.
13076
13077 2009-03-03  Bruno Haible  <bruno@clisp.org>
13078
13079         * modules/visibility (License): Change to 'unlimited'.
13080         Suggested by Simon Josefsson.
13081
13082 2009-03-03  Jim Meyering  <meyering@redhat.com>
13083
13084         unlinkdir: cannot_unlink_dir may modify process state
13085         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
13086         it's neither thread-safe nor appropriate for use in a library.
13087
13088 2009-03-03  Eric Blake  <ebb9@byu.net>
13089
13090         test-closein: silence test under Darwin
13091         * tests/test-closein.sh: Ignore stderr from cat, since we don't
13092         care if it dies from EPIPE or EBADF.
13093
13094 2009-03-03  Bruno Haible  <bruno@clisp.org>
13095
13096         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
13097         earlier.
13098         * doc/visibility.texi: Fix @node and @section.
13099
13100 2009-03-03  Simon Josefsson  <simon@josefsson.org>
13101
13102         * doc/gnulib.texi: Link to sections for ld version script and
13103         visibility.
13104         * doc/visibility.texi: Add @node and @section.
13105         * modules/ld-version-script: New module.
13106         * m4/ld-version-script.m4: New file.
13107         * doc/ld-version-script.texi: New file.
13108
13109 2009-03-02  David Lutterkort  <lutter@redhat.com>
13110
13111         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
13112         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13113
13114 2009-03-02  Bruno Haible  <bruno@clisp.org>
13115
13116         * doc/visibility.texi: Mention libtool's -export-symbols option.
13117
13118 2009-03-02  Jim Meyering  <meyering@redhat.com>
13119
13120         announce-gen: new option: --no-print-checksums
13121         * build-aux/announce-gen (usage): Describe it.
13122         (print_checksums): Print a newline here, not in the [*] footnote.
13123         (main): Honor it.
13124
13125 2009-03-01  Bruno Haible  <bruno@clisp.org>
13126
13127         Use socklen_t in the native Windows replacements prototypes.
13128         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
13129         instead of 'int'.
13130         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13131         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13132         * modules/getsockopt (Depends-on): Add socklen.
13133         * modules/setsockopt (Depends-on): Add socklen.
13134
13135 2009-03-01  Bruno Haible  <bruno@clisp.org>
13136
13137         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
13138         least 4.2.
13139
13140 2009-03-01  Eric Blake  <ebb9@byu.net>
13141             Bruno Haible  <bruno@clisp.org>
13142
13143         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
13144         error messages.
13145         * lib/wait-process.c (wait_subprocess): Omit error message about
13146         deadly signal sent to the child of termsigp != NULL.
13147
13148 2009-03-01  Eric Blake  <ebb9@byu.net>
13149
13150         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
13151
13152 2009-03-01  Bruno Haible  <bruno@clisp.org>
13153
13154         Avoid a gcc warning.
13155         * tests/test-sched.c (b): Make global.
13156         Reported by Eric Blake.
13157
13158 2009-01-19  Martin Lambers  <marlam@marlam.de>
13159
13160         Provide POSIX semantics for socket timeout options on W32.
13161         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
13162         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
13163         * modules/setsockopt: Depend on sys_time module for struct timeval.
13164         * modules/getsockopt: Depend on sys_time module for struct timeval.
13165
13166 2009-03-01  Simon Josefsson  <simon@josefsson.org>
13167
13168         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
13169         __USE_GNU, for consistency with netdb.in.h.
13170         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13171
13172 2009-03-01  Bruno Haible  <bruno@clisp.org>
13173
13174         More support for FreeMiNT.
13175         * lib/fseeko.c (rpl_fseeko): Complete last commit.
13176         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13177
13178 2009-03-01  Bruno Haible  <bruno@clisp.org>
13179
13180         More support for FreeMiNT.
13181         * lib/fpurge.c (fpurge): Correct last commit.
13182         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13183
13184 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13185
13186         Fix unportable awk script in vc-list-files.
13187         * build-aux/vc-list-files: In the replacement awk script, use
13188         substr with a second argument of 1, not zero.
13189         Report by Simon Josefsson.
13190
13191 2009-02-28  Bruno Haible  <bruno@clisp.org>
13192
13193         More support for FreeMiNT.
13194         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
13195         to FreeMiNT today.
13196         * lib/fwriting.c (fwriting): Likewise.
13197         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
13198
13199 2009-02-28  Bruno Haible  <bruno@clisp.org>
13200
13201         * tests/test-freadseek.c (main): Disable test beyond end of file on
13202         FreeMiNT.
13203         * tests/test-ftello.c (main): Likewise.
13204         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13205
13206 2009-02-28  Bruno Haible  <bruno@clisp.org>
13207
13208         Add tentative support for FreeMiNT.
13209         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
13210         * lib/fpurge.c (fpurge): Likewise.
13211         * lib/freadable.c (freadable): Likewise.
13212         * lib/freading.c (freading): Likewise.
13213         * lib/freadptr.c (freadptr): Likewise.
13214         * lib/freadseek.c (freadptrinc): Likewise.
13215         * lib/fseeko.c (rpl_fseeko): Likewise.
13216         * lib/fseterr.c (fseterr): Likewise.
13217         * lib/fwritable.c (fwritable): Likewise.
13218         * lib/fwriting.c (fwriting): Likewise.
13219         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
13220         Hourihane.
13221         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13222
13223 2009-02-28  Bruno Haible  <bruno@clisp.org>
13224
13225         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
13226         SIGCHLD.
13227         Reported by Jim Meyering.
13228
13229 2009-02-28  Bruno Haible  <bruno@clisp.org>
13230
13231         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
13232         Mention the results of these tests on various platforms.
13233         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
13234         order.
13235         * doc/posix-functions/printf.texi: Likewise.
13236         * doc/posix-functions/snprintf.texi: Likewise.
13237         * doc/posix-functions/sprintf.texi: Likewise.
13238         * doc/posix-functions/vfprintf.texi: Likewise.
13239         * doc/posix-functions/vprintf.texi: Likewise.
13240         * doc/posix-functions/vsnprintf.texi: Likewise.
13241         * doc/posix-functions/vsprintf.texi: Likewise.
13242         * doc/glibc-functions/obstack_printf.texi: Likewise.
13243         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13244
13245 2009-02-28  Bruno Haible  <bruno@clisp.org>
13246
13247         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
13248         Reported by Loïc Minier <lool@dooz.org>.
13249
13250 2009-02-27  Bruno Haible  <bruno@clisp.org>
13251
13252         * gnulib-tool (func_import): Make the sed expression used to create the
13253         sed script for updating the .gitignore file POSIX compliant.
13254         Reported by Eric Blake.
13255
13256 2009-02-27  Bruno Haible  <bruno@clisp.org>
13257
13258         * gnulib-tool (sed): Don't alias as "sed --posix".
13259         Reported by Eric Blake.
13260
13261 2009-02-27  Bruno Haible  <bruno@clisp.org>
13262
13263         Avoid test link errors.
13264         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
13265         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
13266         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
13267         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
13268         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13269
13270 2009-02-27  Bruno Haible  <bruno@clisp.org>
13271
13272         Avoid spurious "(cached)" in configure output.
13273         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
13274         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
13275         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13276         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13277         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13278         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13279         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13280         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13281         Reported by Eric Blake.
13282
13283 2009-02-27  Eric Blake  <ebb9@byu.net>
13284
13285         printf: fix regression in previous patch
13286         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
13287
13288 2009-02-27  Bruno Haible  <bruno@clisp.org>
13289
13290         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
13291         value.
13292         * lib/stdint.in.h: Likewise.
13293         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
13294
13295 2009-02-27  Eric Blake  <ebb9@byu.net>
13296
13297         doc: mention more functions added in cygwin 1.7.0
13298         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
13299         addition.
13300         * doc/posix-functions/open_wmemstream.texi: Likewise.
13301         * doc/posix-functions/wcsnlen.texi: Likewise.
13302         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13303         * doc/posix-functions/wcstod.texi: Likewise.
13304         * doc/posix-functions/wcstof.texi: Likewise.
13305         * doc/posix-functions/wcstoimax.texi: Likewise.
13306         * doc/posix-functions/wcstok.texi: Likewise.
13307         * doc/posix-functions/wcstoumax.texi: Likewise.
13308
13309         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
13310         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
13311         * doc/posix-functions/fprintf.texi: Update.
13312         * doc/posix-functions/printf.texi: Update.
13313         * doc/posix-functions/snprintf.texi: Update.
13314         * doc/posix-functions/sprintf.texi: Update.
13315         * doc/posix-functions/vfprintf.texi: Update.
13316         * doc/posix-functions/vprintf.texi: Update.
13317         * doc/posix-functions/vsnprintf.texi: Update.
13318         * doc/posix-functions/vsprintf.texi: Update.
13319         * doc/glibc-functions/obstack_printf.texi: Update.
13320         * doc/glibc-functions/obstack_vprintf.texi: Update.
13321
13322 2009-02-26  Eric Blake  <ebb9@byu.net>
13323
13324         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
13325         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
13326         compilation bug by using runtime conversion.
13327         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13328         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
13329         * modules/ceill-tests (Files): Use nan.h.
13330         * modules/floorl-tests (Files): Likewise.
13331         * modules/frexpl-tests (Files): Likewise.
13332         * modules/isnanl-tests (Files): Likewise.
13333         * modules/ldexpl-tests (Files): Likewise.
13334         * modules/roundl-tests (Files): Likewise.
13335         * modules/truncl-tests (Files): Likewise.
13336         * tests/test-ceill.c (main): Use a working NaN.
13337         * tests/test-floorl.c (main): Likewise.
13338         * tests/test-frexpl.c (main): Likewise.
13339         * tests/test-isnan.c (test_long_double): Likewise.
13340         * tests/test-isnanl.h (main): Likewise.
13341         * tests/test-ldexpl.h (main): Likewise.
13342         * tests/test-roundl.h (main): Likewise.
13343         * tests/test-truncl.h (main): Likewise.
13344         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
13345
13346 2009-02-26  Eric Blake  <ebb9@byu.net>
13347             Bruno Haible  <bruno@clisp.org>
13348
13349         Work around a *printf bug with %ls on Solaris.
13350         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
13351         precision is specified, sprintf stops converting the wide string
13352         argument when the number of bytes that have been produced by this
13353         conversion equals or exceeds the precision.
13354         * doc/posix-functions/fprintf.texi: Update.
13355         * doc/posix-functions/printf.texi: Update.
13356         * doc/posix-functions/snprintf.texi: Update.
13357         * doc/posix-functions/sprintf.texi: Update.
13358         * doc/posix-functions/vfprintf.texi: Update.
13359         * doc/posix-functions/vprintf.texi: Update.
13360         * doc/posix-functions/vsnprintf.texi: Update.
13361         * doc/posix-functions/vsprintf.texi: Update.
13362         * doc/glibc-functions/obstack_printf.texi: Update.
13363         * doc/glibc-functions/obstack_vprintf.texi: Update.
13364
13365 2009-02-26  Eric Blake  <ebb9@byu.net>
13366
13367         stdlib: favor compiler check of random.h
13368         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
13369         to avoid an ObjC random.h installed by Swarm.
13370
13371 2009-02-26  Bruno Haible  <bruno@clisp.org>
13372
13373         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
13374         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
13375         Reported by Gary V. Vaughan <gary@gnu.org>.
13376
13377 2009-02-26  Bruno Haible  <bruno@clisp.org>
13378
13379         Fix *printf behaviour regarding the %ls directive.
13380         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
13381         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
13382         NEED_PRINTF_DIRECTIVE_LS.
13383         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
13384         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
13385         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
13386         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
13387         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
13388         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
13389         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
13390         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
13391         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
13392         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
13393         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
13394         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
13395         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
13396         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
13397         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
13398         * doc/posix-functions/fprintf.texi: Update.
13399         * doc/posix-functions/printf.texi: Update.
13400         * doc/posix-functions/snprintf.texi: Update.
13401         * doc/posix-functions/sprintf.texi: Update.
13402         * doc/posix-functions/vfprintf.texi: Update.
13403         * doc/posix-functions/vprintf.texi: Update.
13404         * doc/posix-functions/vsnprintf.texi: Update.
13405         * doc/posix-functions/vsprintf.texi: Update.
13406         * doc/glibc-functions/obstack_printf.texi: Update.
13407         * doc/glibc-functions/obstack_vprintf.texi: Update.
13408         Reported by Eric Blake.
13409
13410 2009-02-25  Bruno Haible  <bruno@clisp.org>
13411
13412         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
13413         with known value.
13414         Reported by Gary V. Vaughan <gary@gnu.org>.
13415
13416 2009-02-25  Bruno Haible  <bruno@clisp.org>
13417
13418         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
13419         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
13420         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
13421         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
13422         Reported by Gary V. Vaughan <gary@gnu.org>.
13423
13424 2009-02-25  Bruno Haible  <bruno@clisp.org>
13425
13426         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
13427         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
13428         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
13429         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
13430         Reported by Gary V. Vaughan <gary@gnu.org>.
13431
13432 2009-02-25  Eric Blake  <ebb9@byu.net>
13433
13434         tests: skip fseek/ftell tests if ungetc is broken
13435         * m4/ungetc.m4: New file.
13436         * modules/fseek-tests: Split test, so ungetc dependency is
13437         separate from rest of test.
13438         * modules/fseeko-tests: Likewise.
13439         * modules/ftell-tests: Likewise.
13440         * modules/ftello-tests: Likewise.
13441         * tests/test-fseek.c (main): Isolate ungetc dependency.
13442         * tests/test-fseeko.c (main): Likewise.
13443         * tests/test-ftell.c (main): Likewise.
13444         * tests/test-ftello.c (main): Likewise.
13445         * tests/test-fseek2.sh: New file.
13446         * tests/test-fseeko2.sh: Likewise.
13447         * tests/test-ftell2.sh: Likewise.
13448         * tests/test-ftello2.sh: Likewise.
13449
13450 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
13451
13452         test-getaddrinfo: fix usage of skip return code 77
13453         * tests/test-gettaddrinfo.c: Return skip code 77 only
13454         for first occurance of skip (4x77 is not 77)
13455
13456 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
13457
13458         strtod: avoid C99 decl-after-statement
13459         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
13460
13461 2009-02-24  Eric Blake  <ebb9@byu.net>
13462
13463         strtod: detect HP-UX 11.31 bug
13464         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
13465         Reported by Gary V. Vaughan.
13466
13467 2009-02-23  Bruno Haible  <bruno@clisp.org>
13468
13469         Fix invalid read past end of memory block.
13470         * lib/vasnprintf.c (DCHAR_SET): Define.
13471         (local_wcslen): Define only when needed.
13472         (local_strnlen, local_wcsnlen): New functions.
13473         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
13474         directives that involve a conversion ourselves.
13475         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
13476         wcsnlen, mbrtowc, wcrtomb.
13477         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
13478         * tests/test-vasprintf-posix.c (test_function): Likewise.
13479         * tests/test-snprintf-posix.h (test_function): Likewise.
13480         * tests/test-sprintf-posix.h (test_function): Likewise.
13481         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13482
13483 2009-02-22  Bruno Haible  <bruno@clisp.org>
13484
13485         Implement new clarified decomposition of Hangul syllables.
13486         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
13487         of type LTV, return only a pairwise decomposition.
13488         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
13489         Likewise.
13490         * tests/uninorm/test-decomposition.c (main): Updated expected result.
13491         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
13492         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
13493
13494 2009-02-22  Bruno Haible  <bruno@clisp.org>
13495
13496         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
13497         zero-length results and shrink excess allocated memory.
13498         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
13499         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
13500         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
13501         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
13502         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
13503         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
13504         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
13505         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
13506         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
13507         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
13508         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
13509         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
13510
13511 2009-02-21  Bruno Haible  <bruno@clisp.org>
13512
13513         * doc/gnulib.texi: Include safe-alloc.texi earlier.
13514         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
13515         spaces after a period. Put a space between a macro name and its
13516         argument list. Trivial rewordings.
13517         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
13518         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
13519         (main): Return 0 explicitly.
13520
13521 2009-02-21  Bruno Haible  <bruno@clisp.org>
13522
13523         Tests for module 'uninorm/filter'.
13524         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
13525         * modules/uninorm/filter-tests: New file.
13526
13527         New module 'uninorm/filter'.
13528         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
13529         uninorm_filter_flush, uninorm_filter_free): New declarations.
13530         * lib/uninorm/uninorm-filter.c: New file.
13531         * modules/uninorm/filter: New file.
13532
13533 2009-02-21  Bruno Haible  <bruno@clisp.org>
13534
13535         Tests for module 'uninorm/nfkc'.
13536         * tests/uninorm/test-nfkc.c: New file.
13537         * tests/uninorm/test-u8-nfkc.c: New file.
13538         * tests/uninorm/test-u16-nfkc.c: New file.
13539         * tests/uninorm/test-u32-nfkc.c: New file.
13540         * tests/uninorm/test-u32-nfkc-big.sh: New file.
13541         * tests/uninorm/test-u32-nfkc-big.c: New file.
13542         * modules/uninorm/nfkc-tests: New file.
13543
13544         New module 'uninorm/nfkc'.
13545         * lib/uninorm/nfkc.c: New file.
13546         * modules/uninorm/nfkc: New file.
13547
13548         Tests for module 'uninorm/nfkd'.
13549         * tests/uninorm/test-nfkd.c: New file.
13550         * tests/uninorm/test-u8-nfkd.c: New file.
13551         * tests/uninorm/test-u16-nfkd.c: New file.
13552         * tests/uninorm/test-u32-nfkd.c: New file.
13553         * tests/uninorm/test-u32-nfkd-big.sh: New file.
13554         * tests/uninorm/test-u32-nfkd-big.c: New file.
13555         * modules/uninorm/nfkd-tests: New file.
13556
13557         New module 'uninorm/nfkd'.
13558         * lib/uninorm/nfkd.c: New file.
13559         * modules/uninorm/nfkd: New file.
13560
13561         Tests for module 'uninorm/nfc'.
13562         * tests/uninorm/test-nfc.c: New file.
13563         * tests/uninorm/test-u8-nfc.c: New file.
13564         * tests/uninorm/test-u16-nfc.c: New file.
13565         * tests/uninorm/test-u32-nfc.c: New file.
13566         * tests/uninorm/test-u32-nfc-big.sh: New file.
13567         * tests/uninorm/test-u32-nfc-big.c: New file.
13568         * modules/uninorm/nfc-tests: New file.
13569
13570         New module 'uninorm/nfc'.
13571         * lib/uninorm/nfc.c: New file.
13572         * modules/uninorm/nfc: New file.
13573
13574         Tests for module 'uninorm/nfd'.
13575         * tests/uninorm/test-nfd.c: New file.
13576         * tests/uninorm/test-u8-nfd.c: New file.
13577         * tests/uninorm/test-u16-nfd.c: New file.
13578         * tests/uninorm/test-u32-nfd.c: New file.
13579         * tests/uninorm/test-u32-nfd-big.sh: New file.
13580         * tests/uninorm/test-u32-nfd-big.c: New file.
13581         * tests/uninorm/test-u32-normalize-big.h: New file.
13582         * tests/uninorm/test-u32-normalize-big.c: New file.
13583         * tests/uninorm/NormalizationTest.txt: New file, created from
13584         Unicode 5.1.0 NormalizationTest.txt.
13585         * modules/uninorm/nfd-tests: New file.
13586
13587         New module 'uninorm/nfd'.
13588         * lib/uninorm/nfd.c: New file.
13589         * modules/uninorm/nfd: New file.
13590
13591         New module 'uninorm/u32-normalize'.
13592         * lib/uninorm/u32-normalize.c: New file.
13593         * modules/uninorm/u32-normalize: New file.
13594
13595         New module 'uninorm/u16-normalize'.
13596         * lib/uninorm/u16-normalize.c: New file.
13597         * modules/uninorm/u16-normalize: New file.
13598
13599         New module 'uninorm/u8-normalize'.
13600         * lib/uninorm/u8-normalize.c: New file.
13601         * lib/uninorm/normalize-internal.h: New file.
13602         * lib/uninorm/u-normalize-internal.h: New file.
13603         * modules/uninorm/u8-normalize: New file.
13604
13605         New module 'uninorm/decompose-internal'.
13606         * lib/uninorm/decompose-internal.c: New file.
13607         * modules/uninorm/decompose-internal: New file.
13608
13609         Tests for module 'uninorm/composition'.
13610         * tests/uninorm/test-composition.c: New file.
13611         * modules/uninorm/composition-tests: New file.
13612
13613         New module 'uninorm/composition'.
13614         * lib/uninorm/composition.c: New file.
13615         * lib/uninorm/composition-table.gperf: New file, generated by
13616         gen-uni-tables.
13617         * modules/uninorm/composition: New file.
13618
13619         Tests for module 'uninorm/compat-decomposition'.
13620         * tests/uninorm/test-compat-decomposition.c: New file.
13621         * modules/uninorm/compat-decomposition-tests: New file.
13622
13623         New module 'uninorm/compat-decomposition'.
13624         * lib/uninorm/decompose-internal.h: New file.
13625         * lib/uninorm/compat-decomposition.c: New file.
13626         * modules/uninorm/compat-decomposition: New file.
13627
13628         Tests for module 'uninorm/canonical-decomposition'.
13629         * tests/uninorm/test-canonical-decomposition.c: New file.
13630         * modules/uninorm/canonical-decomposition-tests: New file.
13631
13632         New module 'uninorm/canonical-decomposition'.
13633         * lib/uninorm/canonical-decomposition.c: New file.
13634         * modules/uninorm/canonical-decomposition: New file.
13635
13636         Tests for module 'uninorm/decomposition'.
13637         * tests/uninorm/test-decomposition.c: New file.
13638         * modules/uninorm/decomposition-tests: New file.
13639
13640         New module 'uninorm/decomposition'.
13641         * lib/uninorm/decomposition.c: New file.
13642         * modules/uninorm/decomposition: New file.
13643
13644         New module 'uninorm/decomposition-table'.
13645         * lib/uninorm/decomposition-table.h: New file.
13646         * lib/uninorm/decomposition-table.c: New file.
13647         * lib/uninorm/decomposition-table1.h: New file, generated by
13648         gen-uni-tables.
13649         * lib/uninorm/decomposition-table2.h: New file, generated by
13650         gen-uni-tables.
13651         * modules/uninorm/decomposition-table: New file.
13652
13653         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
13654         (UC_DECOMP_*): New enumeration items.
13655         (get_decomposition): New function.
13656         (struct decomp_table): New type.
13657         (output_decomposition, output_decomposition_tables): New functions.
13658         (unicode_composition_exclusions): New variable.
13659         (fill_composition_exclusions, debug_output_composition_tables): New
13660         functions.
13661         (main): Accept one more argument. Invoke fill_composition_exclusions.
13662         Output decomposition and composition tables.
13663
13664         New module 'uninorm/base'.
13665         * lib/uninorm.h: New file.
13666         * lib/unictype.h: Update comment.
13667         * modules/uninorm/base: New file.
13668
13669 2009-02-21  David Lutterkort  <lutter@redhat.com>
13670
13671         Tests for module 'safe-alloc'.
13672         * tests/test-safe-alloc.c: New file.
13673         * modules/safe-alloc-tests: New file.
13674
13675         New module 'safe-alloc'.
13676         * lib/safe-alloc.h: New file.
13677         * lib/safe-alloc.c: New file.
13678         * m4/safe-alloc.m4: New file.
13679         * modules/safe-alloc: New file.
13680         * doc/safe-alloc.texi: New file.
13681         * doc/gnulib.texi: Include it.
13682         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
13683         safe-alloc.
13684
13685 2009-02-18  Bruno Haible  <bruno@clisp.org>
13686
13687         Fix link error on non-glibc systems.
13688         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
13689         variable.
13690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13691
13692 2009-02-18  Jim Meyering  <meyering@redhat.com>
13693
13694         fts: avoid used-uninitialized error due to recent change
13695         * lib/fts.c (fts_read): Guard uses of the new member,
13696         parent->fts_n_dirs_remaining, since it's not relevant for
13697         the parent of a directory specified on the command-line.
13698
13699 2009-02-17  James Youngman  <jay@gnu.org>
13700             Bruno Haible  <bruno@clisp.org>
13701
13702         * m4/include_next.m4: Reformulate comment.
13703
13704 2009-02-16  Jim Meyering  <meyering@redhat.com>
13705
13706         fts: add #if guards so that the fts_lgpl module still builds
13707         * lib/fts.c: Guard just-added hash-table-using parts with
13708         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
13709         Reported by Simon Josefsson.
13710
13711 2009-02-15  Bruno Haible  <bruno@clisp.org>
13712
13713         * modules/array-mergesort-tests: New file.
13714         * tests/test-array-mergesort.c: New file.
13715
13716         New module 'array-mergesort'.
13717         * modules/array-mergesort: New file.
13718         * lib/array-mergesort.h: New file.
13719
13720 2009-02-15  Bruno Haible  <bruno@clisp.org>
13721
13722         Fix 2009-02-07 commit.
13723         * lib/gen-uni-tables.c (output_predicate, output_category,
13724         output_combclass, output_bidi_category, output_decimal_digit,
13725         output_digit, output_numeric, output_mirror, output_scripts,
13726         output_ident_category, output_simple_mapping): Fix format directives.
13727         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
13728
13729 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
13730
13731         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
13732         fixes are available from IBM.
13733
13734 2009-02-13  Jim Meyering  <meyering@redhat.com>
13735
13736         fts: arrange not to stat non-directories in more cases
13737         This makes GNU find (when it doesn't need to stat each file)
13738         *much* more efficient at traversing reiserfs file systems.
13739         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
13740         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
13741         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
13742         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
13743         (leaf_optimization_applies): New function.
13744         (LCO_hash, LCO_compare): New helper functions.
13745         (link_count_optimize_ok): New function.
13746         (fts_stat): Initialize new member (if dir).
13747         (fts_read): Decrement parent's fts_n_dirs_remaining count if
13748         we've just stat'ed a directory.  Skip the stat call when possible.
13749         ---
13750         Note this AFS-related exchange:
13751         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
13752         and note find's pioctl call in find/fstype.c.
13753         But that is necessary only if you want to enable the
13754         optimization for AFS, and for now, I don't.
13755
13756         fts: move a function definition "up" (no semantic change)
13757         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
13758         "up" to precede upcoming use of a related function.
13759
13760 2009-02-11  Jim Meyering  <meyering@redhat.com>
13761
13762         fts: correct internal computation of nlinks (optimization-related)
13763         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
13764         whether the current entry is a directory, so don't test it.
13765
13766 2009-02-10  Bruno Haible  <bruno@clisp.org>
13767
13768         Tests for module 'uniwbrk/ulc-wordbreaks'.
13769         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
13770         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
13771         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
13772
13773         Tests for module 'uniwbrk/u32-wordbreaks'.
13774         * modules/uniwbrk/u32-wordbreaks-tests: New file.
13775         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
13776
13777         Tests for module 'uniwbrk/u16-wordbreaks'.
13778         * modules/uniwbrk/u16-wordbreaks-tests: New file.
13779         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
13780
13781         Tests for module 'uniwbrk/u8-wordbreaks'.
13782         * modules/uniwbrk/u8-wordbreaks-tests: New file.
13783         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
13784
13785 2009-02-10  Bruno Haible  <bruno@clisp.org>
13786
13787         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
13788         property.
13789         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
13790         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
13791         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
13792
13793 2009-02-10  Simon Josefsson  <simon@josefsson.org>
13794
13795         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
13796         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
13797
13798 2009-02-10  Bruno Haible  <bruno@clisp.org>
13799
13800         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
13801         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
13802         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
13803         * lib/unilbrk/u8-possible-linebreaks.c: Update.
13804         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
13805         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
13806
13807 2009-02-09  Simon Josefsson  <simon@josefsson.org>
13808
13809         * lib/sockets.h (gl_fd_to_handle): New function.
13810
13811         * tests/test-sockets.c: Call gl_fd_to_handle.
13812
13813 2009-02-09  Bruno Haible  <bruno@clisp.org>
13814
13815         * doc/havelib.texi: Document the conventions on bi-arch systems.
13816
13817 2009-02-08  Bruno Haible  <bruno@clisp.org>
13818
13819         Document the AC_LIB_LINKFLAGS macro.
13820         * doc/havelib.texi: New file, mostly written on 2005-05-24.
13821         * doc/gnulib.texi: Include it.
13822
13823 2009-02-08  Bruno Haible  <bruno@clisp.org>
13824
13825         Fix wrong order of sections, compared to TOC.
13826         * doc/gnulib.texi: Include relocatable-maint.texi after the
13827         "Regular expressions" node, not before.
13828
13829 2009-02-08  Bruno Haible  <bruno@clisp.org>
13830
13831         Tests for module 'unicase/totitle'.
13832         * modules/unicase/totitle-tests: New file.
13833
13834         Tests for module 'unicase/tolower'.
13835         * modules/unicase/tolower-tests: New file.
13836
13837         Tests for module 'unicase/toupper'.
13838         * modules/unicase/toupper-tests: New file.
13839         * tests/unicase/test-mapping-part1.h: New file.
13840         * tests/unicase/test-mapping-part2.h: New file.
13841
13842         New module 'unicase/totitle'.
13843         * modules/unicase/totitle: New file.
13844         * lib/unicase/totitle.c: New file.
13845
13846         New module 'unicase/tolower'.
13847         * modules/unicase/tolower: New file.
13848         * lib/unicase/tolower.c: New file.
13849
13850         New module 'unicase/toupper'.
13851         * modules/unicase/toupper: New file.
13852         * lib/unicase/toupper.c: New file.
13853         * lib/unicase/simple-mapping.h: New file.
13854
13855         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
13856         (mapping_table): New structure.
13857         (output_simple_mapping): New function.
13858         (main): Invoke output_simple_mapping_test and output_simple_mapping.
13859         * modules/gen-uni-tables (Description): Update.
13860         * lib/unicase/toupper.h: New file, automatically generated by
13861         gen-uni-tables.
13862         * lib/unicase/tolower.h: New file, automatically generated by
13863         gen-uni-tables.
13864         * lib/unicase/totitle.h: New file, automatically generated by
13865         gen-uni-tables.
13866         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
13867         gen-uni-tables.
13868         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
13869         gen-uni-tables.
13870         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
13871         gen-uni-tables.
13872
13873         New module 'unicase/base'.
13874         * modules/unicase/base: New file.
13875         * lib/unicase.h: New file.
13876
13877 2009-02-08  Bruno Haible  <bruno@clisp.org>
13878
13879         New module 'uniwbrk/ulc-wordbreaks'.
13880         * modules/uniwbrk/ulc-wordbreaks: New file.
13881         * lib/uniwbrk/ulc-wordbreaks.c: New file.
13882
13883         New module 'uniwbrk/u32-wordbreaks'.
13884         * modules/uniwbrk/u32-wordbreaks: New file.
13885         * lib/uniwbrk/u32-wordbreaks.c: New file.
13886
13887         New module 'uniwbrk/u16-wordbreaks'.
13888         * modules/uniwbrk/u16-wordbreaks: New file.
13889         * lib/uniwbrk/u16-wordbreaks.c: New file.
13890
13891         New module 'uniwbrk/u8-wordbreaks'.
13892         * modules/uniwbrk/u8-wordbreaks: New file.
13893         * lib/uniwbrk/u8-wordbreaks.c: New file.
13894         * lib/uniwbrk/u-wordbreaks.h: New file.
13895
13896         New module 'uniwbrk/table'.
13897         * modules/uniwbrk/table: New file.
13898         * lib/uniwbrk/wbrktable.h: New file.
13899         * lib/uniwbrk/wbrktable.c: New file.
13900
13901         New module 'uniwbrk/wordbreak-property'.
13902         * modules/uniwbrk/wordbreak-property: New file.
13903         * lib/uniwbrk/wordbreak-property.c: New file.
13904
13905         * lib/gen-uni-tables.c (WBP_*): New enum items.
13906         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
13907         (unicode_org_wbp): New variable.
13908         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
13909         New functions.
13910         (wbp_table): New structure.
13911         (output_wbp, output_wbrk_tables): New functions.
13912         (main): Accept additional argument. Invoke fill_org_wbp,
13913         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
13914         output_wbrk_tables.
13915         * modules/gen-uni-tables (Description): Update.
13916         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
13917         gen-uni-tables.
13918
13919         New module 'uniwbrk/base'.
13920         * modules/uniwbrk/base: New file.
13921         * lib/uniwbrk.h: New file.
13922
13923 2009-02-08  Bruno Haible  <bruno@clisp.org>
13924
13925         Update to Unicode 5.1.0.
13926         * lib/gen-uni-tables.c (is_property_alphabetic): Include
13927         U+2185..U+2188.
13928         (is_property_default_ignorable_code_point): Don't include characters
13929         of category Cc or Cs and not-a-characters.
13930         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
13931         U+0D79, U+109E, U+109F, U+A60C.
13932         * lib/unictype/bidi_of.h: Regenerated.
13933         * lib/unictype/blocks.h: Regenerated.
13934         * lib/unictype/categ_C.h: Regenerated.
13935         * lib/unictype/categ_Cf.h: Regenerated.
13936         * lib/unictype/categ_Cn.h: Regenerated.
13937         * lib/unictype/categ_L.h: Regenerated.
13938         * lib/unictype/categ_Ll.h: Regenerated.
13939         * lib/unictype/categ_Lm.h: Regenerated.
13940         * lib/unictype/categ_Lo.h: Regenerated.
13941         * lib/unictype/categ_Lu.h: Regenerated.
13942         * lib/unictype/categ_M.h: Regenerated.
13943         * lib/unictype/categ_Mc.h: Regenerated.
13944         * lib/unictype/categ_Me.h: Regenerated.
13945         * lib/unictype/categ_Mn.h: Regenerated.
13946         * lib/unictype/categ_N.h: Regenerated.
13947         * lib/unictype/categ_Nd.h: Regenerated.
13948         * lib/unictype/categ_Nl.h: Regenerated.
13949         * lib/unictype/categ_No.h: Regenerated.
13950         * lib/unictype/categ_P.h: Regenerated.
13951         * lib/unictype/categ_Pd.h: Regenerated.
13952         * lib/unictype/categ_Pe.h: Regenerated.
13953         * lib/unictype/categ_Pf.h: Regenerated.
13954         * lib/unictype/categ_Pi.h: Regenerated.
13955         * lib/unictype/categ_Po.h: Regenerated.
13956         * lib/unictype/categ_Ps.h: Regenerated.
13957         * lib/unictype/categ_S.h: Regenerated.
13958         * lib/unictype/categ_Sk.h: Regenerated.
13959         * lib/unictype/categ_Sm.h: Regenerated.
13960         * lib/unictype/categ_So.h: Regenerated.
13961         * lib/unictype/categ_of.h: Regenerated.
13962         * lib/unictype/combining.h: Regenerated.
13963         * lib/unictype/ctype_alnum.h: Regenerated.
13964         * lib/unictype/ctype_alpha.h: Regenerated.
13965         * lib/unictype/ctype_graph.h: Regenerated.
13966         * lib/unictype/ctype_lower.h: Regenerated.
13967         * lib/unictype/ctype_print.h: Regenerated.
13968         * lib/unictype/ctype_punct.h: Regenerated.
13969         * lib/unictype/ctype_upper.h: Regenerated.
13970         * lib/unictype/decdigit.h: Regenerated.
13971         * lib/unictype/digit.h: Regenerated.
13972         * lib/unictype/mirror.h: Regenerated.
13973         * lib/unictype/numeric.h: Regenerated.
13974         * lib/unictype/pr_alphabetic.h: Regenerated.
13975         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
13976         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
13977         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
13978         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
13979         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
13980         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
13981         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
13982         * lib/unictype/pr_combining.h: Regenerated.
13983         * lib/unictype/pr_dash.h: Regenerated.
13984         * lib/unictype/pr_decimal_digit.h: Regenerated.
13985         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
13986         * lib/unictype/pr_deprecated.h: Regenerated.
13987         * lib/unictype/pr_diacritic.h: Regenerated.
13988         * lib/unictype/pr_extender.h: Regenerated.
13989         * lib/unictype/pr_format_control.h: Regenerated.
13990         * lib/unictype/pr_grapheme_base.h: Regenerated.
13991         * lib/unictype/pr_grapheme_extend.h: Regenerated.
13992         * lib/unictype/pr_grapheme_link.h: Regenerated.
13993         * lib/unictype/pr_id_continue.h: Regenerated.
13994         * lib/unictype/pr_id_start.h: Regenerated.
13995         * lib/unictype/pr_ideographic.h: Regenerated.
13996         * lib/unictype/pr_ignorable_control.h: Regenerated.
13997         * lib/unictype/pr_lowercase.h: Regenerated.
13998         * lib/unictype/pr_math.h: Regenerated.
13999         * lib/unictype/pr_numeric.h: Regenerated.
14000         * lib/unictype/pr_other_alphabetic.h: Regenerated.
14001         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
14002         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
14003         * lib/unictype/pr_other_id_continue.h: Regenerated.
14004         * lib/unictype/pr_other_lowercase.h: Regenerated.
14005         * lib/unictype/pr_other_math.h: Regenerated.
14006         * lib/unictype/pr_punctuation.h: Regenerated.
14007         * lib/unictype/pr_sentence_terminal.h: Regenerated.
14008         * lib/unictype/pr_soft_dotted.h: Regenerated.
14009         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
14010         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
14011         * lib/unictype/pr_unified_ideograph.h: Regenerated.
14012         * lib/unictype/pr_uppercase.h: Regenerated.
14013         * lib/unictype/pr_xid_continue.h: Regenerated.
14014         * lib/unictype/pr_xid_start.h: Regenerated.
14015         * lib/unictype/pr_zero_width.h: Regenerated.
14016         * lib/unictype/scripts.h: Regenerated.
14017         * lib/unictype/scripts_byname.gperf: Regenerated.
14018         * lib/unictype/sy_java_ident.h: Regenerated.
14019         * lib/unilbrk/lbrkprop1.h: Regenerated.
14020         * lib/unilbrk/lbrkprop2.h: Regenerated.
14021         * tests/unictype/test-categ_C.c: Regenerated.
14022         * tests/unictype/test-categ_Cf.c: Regenerated.
14023         * tests/unictype/test-categ_Cn.c: Regenerated.
14024         * tests/unictype/test-categ_L.c: Regenerated.
14025         * tests/unictype/test-categ_Ll.c: Regenerated.
14026         * tests/unictype/test-categ_Lm.c: Regenerated.
14027         * tests/unictype/test-categ_Lo.c: Regenerated.
14028         * tests/unictype/test-categ_Lu.c: Regenerated.
14029         * tests/unictype/test-categ_M.c: Regenerated.
14030         * tests/unictype/test-categ_Mc.c: Regenerated.
14031         * tests/unictype/test-categ_Me.c: Regenerated.
14032         * tests/unictype/test-categ_Mn.c: Regenerated.
14033         * tests/unictype/test-categ_N.c: Regenerated.
14034         * tests/unictype/test-categ_Nd.c: Regenerated.
14035         * tests/unictype/test-categ_Nl.c: Regenerated.
14036         * tests/unictype/test-categ_No.c: Regenerated.
14037         * tests/unictype/test-categ_P.c: Regenerated.
14038         * tests/unictype/test-categ_Pd.c: Regenerated.
14039         * tests/unictype/test-categ_Pe.c: Regenerated.
14040         * tests/unictype/test-categ_Pf.c: Regenerated.
14041         * tests/unictype/test-categ_Pi.c: Regenerated.
14042         * tests/unictype/test-categ_Po.c: Regenerated.
14043         * tests/unictype/test-categ_Ps.c: Regenerated.
14044         * tests/unictype/test-categ_S.c: Regenerated.
14045         * tests/unictype/test-categ_Sk.c: Regenerated.
14046         * tests/unictype/test-categ_Sm.c: Regenerated.
14047         * tests/unictype/test-categ_So.c: Regenerated.
14048         * tests/unictype/test-ctype_alnum.c: Regenerated.
14049         * tests/unictype/test-ctype_alpha.c: Regenerated.
14050         * tests/unictype/test-ctype_graph.c: Regenerated.
14051         * tests/unictype/test-ctype_lower.c: Regenerated.
14052         * tests/unictype/test-ctype_print.c: Regenerated.
14053         * tests/unictype/test-ctype_punct.c: Regenerated.
14054         * tests/unictype/test-ctype_upper.c: Regenerated.
14055         * tests/unictype/test-decdigit.h: Regenerated.
14056         * tests/unictype/test-digit.h: Regenerated.
14057         * tests/unictype/test-numeric.h: Regenerated.
14058         * tests/unictype/test-pr_alphabetic.c: Regenerated.
14059         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
14060         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
14061         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
14062         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
14063         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
14064         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
14065         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
14066         * tests/unictype/test-pr_combining.c: Regenerated.
14067         * tests/unictype/test-pr_dash.c: Regenerated.
14068         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
14069         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
14070         * tests/unictype/test-pr_deprecated.c: Regenerated.
14071         * tests/unictype/test-pr_diacritic.c: Regenerated.
14072         * tests/unictype/test-pr_extender.c: Regenerated.
14073         * tests/unictype/test-pr_format_control.c: Regenerated.
14074         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
14075         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
14076         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
14077         * tests/unictype/test-pr_id_continue.c: Regenerated.
14078         * tests/unictype/test-pr_id_start.c: Regenerated.
14079         * tests/unictype/test-pr_ideographic.c: Regenerated.
14080         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
14081         * tests/unictype/test-pr_lowercase.c: Regenerated.
14082         * tests/unictype/test-pr_math.c: Regenerated.
14083         * tests/unictype/test-pr_numeric.c: Regenerated.
14084         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
14085         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
14086         Regenerated.
14087         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
14088         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
14089         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
14090         * tests/unictype/test-pr_other_math.c: Regenerated.
14091         * tests/unictype/test-pr_punctuation.c: Regenerated.
14092         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
14093         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
14094         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
14095         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
14096         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
14097         * tests/unictype/test-pr_uppercase.c: Regenerated.
14098         * tests/unictype/test-pr_xid_continue.c: Regenerated.
14099         * tests/unictype/test-pr_xid_start.c: Regenerated.
14100         * tests/unictype/test-pr_zero_width.c: Regenerated.
14101
14102         Update to Unicode 5.1.0.
14103         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
14104         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
14105         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
14106         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
14107         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
14108         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
14109         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
14110         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
14111         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
14112         (nonspacing_table_ind): Update.
14113         * tests/uniwidth/test-uc_width2.sh: Update expected result.
14114
14115         Update to Unicode 5.1.0.
14116         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
14117         code transform.
14118         * lib/uniname/uniname.c (unicode_character_name,
14119         unicode_name_character): Add the range 0x1Fxxx to the code transform.
14120         * lib/uniname/uninames.h: Regenerated.
14121         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
14122
14123 2009-02-07  Bruno Haible  <bruno@clisp.org>
14124
14125         Merge gen-ctype and gen-lbrk into a single program.
14126         * lib/gen-uni-tables.c: New file, incorporating
14127         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
14128         Add directory prefixes to the names of the generated files.
14129         * lib/unictype/gen-ctype.c: Remove file.
14130         * lib/unilbrk/gen-lbrk.c: Remove file.
14131         * modules/gen-uni-tables: New file.
14132         * modules/unictype/gen-ctype: Remove file.
14133         * modules/unilbrk/gen-lbrk: Remove file.
14134
14135 2009-02-07  Bruno Haible  <bruno@clisp.org>
14136
14137         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
14138
14139         New module 'unistr/u32-strcoll'.
14140         * modules/unistr/u32-strcoll: New file.
14141         * lib/unistr/u32-strcoll.c: New file.
14142
14143         New module 'unistr/u16-strcoll'.
14144         * modules/unistr/u16-strcoll: New file.
14145         * lib/unistr/u16-strcoll.c: New file.
14146
14147         New module 'unistr/u8-strcoll'.
14148         * modules/unistr/u8-strcoll: New file.
14149         * lib/unistr/u8-strcoll.c: New file.
14150         * lib/unistr/u-strcoll.h: New file.
14151
14152 2009-02-07  Bruno Haible  <bruno@clisp.org>
14153
14154         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
14155         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14156         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14157         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
14158         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
14159         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
14160
14161 2009-02-07  Bruno Haible  <bruno@clisp.org>
14162
14163         Make 64-bit clean.
14164         * lib/unictype/gen-ctype.c (output_predicate, output_category,
14165         output_combclass, output_bidi_category, output_decimal_digit,
14166         output_digit, output_numeric, output_mirror, output_scripts,
14167         output_ident_category): Use proper width specifier in format strings.
14168
14169 2009-02-07  Bruno Haible  <bruno@clisp.org>
14170
14171         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
14172         failure behaviour.
14173
14174 2009-02-07  Jim Meyering  <meyering@redhat.com>
14175
14176         regex: avoid compilation failure with upcoming gcc-4.4
14177         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
14178         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
14179         "... error: integer overflow in preprocessor expression".
14180
14181 2009-02-05  Ben Pfaff  <blp@gnu.org>
14182
14183         Fix link errors on Windows when close module is used.
14184         * modules/close: Add $(LIB_CLOSE) to Link section.
14185         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
14186         $(LIB_CLOSE) on Windows.
14187
14188 2009-02-05  Jim Meyering  <meyering@redhat.com>
14189
14190         still avoid unused-parameter warnings, but do it cleanly
14191         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
14192         (get_fs_usage): Cast to void instead.
14193         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
14194         (dev_from_mount_options, read_file_system_list): Cast to void.
14195         Prompted by Bruno Haible.
14196
14197 2009-02-04  Jim Meyering  <meyering@redhat.com>
14198
14199         fsusage.c: correct copyright year
14200         * lib/fsusage.c: Reflect year in which the change is pushed into
14201
14202         avoid misc. warnings
14203         * lib/fsusage.c (UNUSED_PARAM): Define.
14204         (get_fs_usage): Mark parameter "disk" as unused.
14205         * lib/getugroups.c (getgrent): Use "void" in prototype.
14206         * lib/mountlist.c: Mark unused parameters.
14207         (read_file_system_list): Declare a local with "const".
14208         * lib/nanosleep.c (getnow): Declare static.
14209         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
14210
14211         dirfd: set errno upon failure
14212         * lib/dirfd.c: Include <errno.h>.
14213         Set errno to ENOTSUP when returning -1.
14214         * modules/dirfd (Depends-on): Add errno.
14215         Suggested by John Kodis <kodis@comcast.net>.
14216
14217 2009-02-01  Bruno Haible  <bruno@clisp.org>
14218
14219         Don't assume sizeof (long) >= sizeof (void *).
14220         * lib/memcmp.c: Include stdint.h.
14221         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
14222         srcp2 to 'const byte *'.
14223         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
14224         types to uintptr_t.
14225         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
14226         * modules/memcmp (Depends-on): Add stdint.
14227         Reported by Ozkan Sezer <sezeroz@gmail.com>.
14228
14229 2009-01-30  Eric Blake  <ebb9@byu.net>
14230
14231         fix more require-before-expand issues
14232         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
14233         expand, AC_PROG_AWK.
14234         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
14235
14236 2009-01-28  Eric Blake  <ebb9@byu.net>
14237
14238         version-etc: use consistent URL formatting
14239         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
14240         Improve formatting.  Use fputs for string without %.
14241
14242 2009-01-28  Jim Meyering  <meyering@redhat.com>
14243
14244         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
14245         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
14246         "underquoted definition of NAME" from autoconf-2.59.
14247
14248 2009-01-28  Bruno Haible  <bruno@clisp.org>
14249
14250         * doc/gnulib.texi: Add "Obsolete modules" to index.
14251
14252 2009-01-28  Jim Meyering  <meyering@redhat.com>
14253
14254         useless-if-before-free: recognize more variants
14255         * build-aux/useless-if-before-free: Also recognize e.g.,
14256         if (NULL != p) free (p);
14257
14258 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
14259
14260         test-getaddrinfo: skip (don't fail) this test when there's no network
14261         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
14262         on the presumption that it means you lack network access.
14263
14264 2009-01-26  Jim Meyering  <meyering@redhat.com>
14265
14266         fflush: avoid warnings on modern systems
14267         * lib/fflush.c (rpl_fflush): Move declarations of locals,
14268         pos and result, into scopes where they're used.
14269
14270 2009-01-26  Eric Blake  <ebb9@byu.net>
14271
14272         Silence warning reintroduced by recent extensions patch.
14273         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
14274         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
14275         autoconf.
14276
14277         Backport improved autoconf semantics of AC_DEFUN_ONCE.
14278         * m4/00gnulib.m4: New file.
14279         * gnulib-tool (func_get_filelist): Always use it.
14280         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
14281         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
14282
14283 2009-01-25  Bruno Haible  <bruno@clisp.org>
14284
14285         Make test-quotearg work on MacOS X and AIX.
14286         * tests/test-quotearg.sh: New file.
14287         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
14288         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
14289         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
14290         include <libintl.h>.
14291         (fake_locale): Remove variable.
14292         (gettext, dgettext, dcgettext): Remove functions.
14293         (main): Instead of setting a fake locale, set a real locale. Call
14294         textdomain and bindtextdomain.
14295         * modules/quotearg-tests (Files): Add the new files.
14296         (Depends-on): Add gettext, setenv, unsetenv.
14297         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
14298         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
14299         Augment TESTS_ENVIRONMENT.
14300
14301 2009-01-25  Bruno Haible  <bruno@clisp.org>
14302
14303         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
14304         fr_FR.ISO8859-1 locale on MacOS X.
14305         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
14306         ja_JP.eucJP locale on MacOS X.
14307         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
14308         zh_CN.GB18030 locale on MacOS X.
14309
14310 2009-01-25  Bruno Haible  <bruno@clisp.org>
14311
14312         Avoid link errors on MacOS X 10.3.
14313         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
14314         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14315
14316 2009-01-25  Bruno Haible  <bruno@clisp.org>
14317
14318         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14319         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
14320         * modules/pipe (Files): Remove m4/posix_spawn.m4.
14321         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14322         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
14323         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14324         posix_spawnattr_init, posix_spawnattr_setsigmask,
14325         posix_spawnattr_setflags, posix_spawnattr_destroy.
14326
14327         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14328         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
14329         * modules/execute (Files): Remove m4/posix_spawn.m4.
14330         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14331         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14332         posix_spawnattr_init, posix_spawnattr_setsigmask,
14333         posix_spawnattr_setflags, posix_spawnattr_destroy.
14334
14335 2009-01-25  Bruno Haible  <bruno@clisp.org>
14336
14337         * lib/glthread/threadlib.c: Include <stdlib.h>.
14338
14339 2009-01-25  Bruno Haible  <bruno@clisp.org>
14340
14341         * lib/glthread/threadlib.c (dummy): New declaration.
14342
14343 2009-01-25  Bruno Haible  <bruno@clisp.org>
14344
14345         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
14346         multibyte characters also for the GB18030 encoding. Don't crash when
14347         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
14348
14349 2009-01-25  Bruno Haible  <bruno@clisp.org>
14350
14351         Avoid redefining 'struct random_data' on OSF/1 5.1.
14352         * lib/stdlib.in.h: Include <random.h> if it exists.
14353         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
14354         HAVE_RANDOM_H. Include <random.h> when testing whether
14355         'struct random_data' exists.
14356         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
14357
14358 2009-01-25  Bruno Haible  <bruno@clisp.org>
14359
14360         Don't install charset.alias on MacOS X >= 10.3.
14361         * lib/localcharset.c (DARWIN7): New macro.
14362         (get_charset_aliases): Hardcode the result for Darwin7.
14363         * modules/localcharset (install-exec-local): Don't install
14364         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
14365
14366 2009-01-25  Bruno Haible  <bruno@clisp.org>
14367
14368         Don't install charset.alias on mingw and Cygwin.
14369         * modules/localcharset (install-exec-local): Don't install
14370         charset.alias on mingw and Cygwin, if the file does not yet exist.
14371         The result for these platforms is hardcoded in localcharset.c.
14372
14373 2009-01-25  Bruno Haible  <bruno@clisp.org>
14374
14375         Make it possible again to use AC_GNU_SOURCE together with gnulib.
14376         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
14377         before requiring AC_USE_SYSTEM_EXTENSIONS.
14378
14379 2009-01-25  Jim Meyering  <meyering@redhat.com>
14380
14381         c-strtod: avoid warnings
14382         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
14383         "assignment discards qualifiers from pointer target type" warnings.
14384
14385 2009-01-24  Bruno Haible  <bruno@clisp.org>
14386
14387         Add support for non-UTF-8 locales on MacOS X.
14388         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
14389         canonical encodings. For Darwin 7 and newer, don't map traditional
14390         encodings to UTF-8.
14391         Reported by Vincent Lefevre <vincent@vinc17.org>
14392         at <http://savannah.gnu.org/bugs/?25235>.
14393
14394 2009-01-24  Bruno Haible  <bruno@clisp.org>
14395
14396         * doc/gnulib.texi (Obsolete modules): New section.
14397         Reported by Mike Frysinger <vapier@gentoo.org>.
14398
14399 2009-01-24  Bruno Haible  <bruno@clisp.org>
14400
14401         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
14402         (%.dvi): New rule.
14403
14404 2009-01-24  Bruno Haible  <bruno@clisp.org>
14405
14406         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
14407         Reported by Eric Blake.
14408
14409 2009-01-24  Bruno Haible  <bruno@clisp.org>
14410
14411         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
14412         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
14413         Reported by Gary V. Vaughan <gary@gnu.org>.
14414
14415 2009-01-24  Bruno Haible  <bruno@clisp.org>
14416
14417         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
14418
14419 2009-01-23  Bruno Haible  <bruno@clisp.org>
14420
14421         Make c-strtod, c-strtold usable in libraries.
14422         * lib/c-strtod.c: Include string.h instead of xalloc.h.
14423         (C_STRTOD): Call strdup instead of xstrdup.
14424         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
14425         * modules/c-strtold (Depends-on): Likewise.
14426         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
14427         * NEWS: Mention the change.
14428         Reported by Michael Gold <mgold@ncf.ca>.
14429
14430 2009-01-23  Jim Meyering  <meyering@redhat.com>
14431
14432         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
14433         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
14434         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
14435
14436 2009-01-23  Simon Josefsson  <simon@josefsson.org>
14437
14438         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
14439         GNU CoreUtils.
14440         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
14441         * modules/version-etc (Description): Update.
14442
14443 2009-01-22  Bruno Haible  <bruno@clisp.org>
14444
14445         Cache the C locale object.
14446         * lib/c-strtod.c (c_locale_cache): New variable.
14447         (c_locale): New function.
14448         (C_STRTOD): Use it, and don't call freelocale.
14449         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
14450         Suggested by Paolo Bonzini.
14451
14452 2009-01-21  Bruno Haible  <bruno@clisp.org>
14453
14454         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
14455         conditions other than overflow.
14456
14457 2009-01-21  Bruno Haible  <bruno@clisp.org>
14458
14459         * lib/c-strtod.c: Include errno.h.
14460         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
14461         value from STRTOD_L and STRTOD.
14462
14463 2009-01-21  Bruno Haible  <bruno@clisp.org>
14464         and Jim Meyering  <meyering@redhat.com>
14465
14466         nanosleep: skip configure test (fail it) for apple universal builds
14467         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
14468         universal builds, assume that nanosleep does not work.
14469         * modules/nanosleep (Depends-on): Add multiarch.
14470
14471         mktime: skip configure test (fail it) for apple universal builds
14472         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
14473         universal builds, assume that mktime does not work.
14474         * modules/mktime (Depends-on): Add multiarch.
14475
14476 2009-01-21  Eric Blake  <ebb9@byu.net>
14477
14478         multiarch: avoid expand-before-require warning
14479         * modules/multiarch (configure.ac): Require, rather than expand,
14480         gl_MULTIARCH.
14481         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
14482         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
14483         enforce that all clients require it.  Partial reversion of
14484         2008-12-29 patch.
14485
14486         error: avoid expand-before-require warning
14487         * modules/errno (configure.ac): Require, rather than expand,
14488         gl_HEADER_ERRNO_H.
14489         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
14490         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
14491         enforce that all clients require it.
14492
14493         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
14494         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
14495         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
14496         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
14497
14498 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
14499
14500         Revert:
14501         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14502
14503         regex: do not depend on obsolete modules.
14504         * modules/regex: Remove memcmp and memmove.
14505
14506 2009-01-20  Bruno Haible  <bruno@clisp.org>
14507
14508         Make the 'link' module link on Windows NT 4.
14509         * lib/link.c (_WIN32_WINNT): Don't define.
14510         (CreateHardLinkFuncType): New type.
14511         (CreateHardLinkFunc, initialized): New variables.
14512         (initialize): New function.
14513         (link): Invoke CreateHardLink indirectly through the function pointer.
14514
14515 2009-01-20  Bruno Haible  <bruno@clisp.org>
14516
14517         Fix compilation failure on mingw.
14518         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
14519
14520 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
14521
14522         * doc/c-strtod.texi: Mention a couple of restrictions.
14523
14524 2009-01-20  Jim Meyering  <meyering@redhat.com>
14525
14526         gettimeofday: move more declarations out of functions
14527         * lib/gettimeofday.c: Move extern declarations of tzset and
14528         gmtime out of containing functions.  Prompted by Bruno Haible.
14529
14530 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14531
14532         regex: do not depend on obsolete modules.
14533         * modules/regex: Remove memcmp and memmove.
14534
14535 2009-01-19  Bruno Haible  <bruno@clisp.org>
14536
14537         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14538         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
14539         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14540         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
14541         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
14542
14543 2009-01-19  Bruno Haible  <bruno@clisp.org>
14544
14545         * tests/test-link.c: Include <errno.h>.
14546         (main): Exit with code 77 when a hard link cannot be created due to
14547         the file system.
14548         * tests/test-link.sh: Skip test when a hard link cannot be created due
14549         to the file system.
14550         Suggested by Eric Blake.
14551
14552 2009-01-19  Martin Lambers  <marlam@marlam.de>
14553
14554         * modules/link-tests: New file.
14555         * tests/test-link.sh: New file.
14556         * tests/test-link.c: New file.
14557
14558 2009-01-19  Eric Blake  <ebb9@byu.net>
14559
14560         doc: mention another function added in cygwin 1.7.0
14561         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
14562         Another new function in cygwin 1.7.
14563
14564 2009-01-19  Bruno Haible  <bruno@clisp.org>
14565
14566         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14567         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
14568         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
14569         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14570         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14571         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14572         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14573         * m4/md4.m4 (gl_MD4): Likewise.
14574         * m4/md5.m4 (gl_MD5): Likewise.
14575         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
14576         * m4/sha1.m4 (gl_SHA1): Likewise.
14577         * m4/sha256.m4 (gl_SHA256): Likewise.
14578         * m4/sha512.m4 (gl_SHA512): Likewise.
14579
14580 2009-01-19  Bruno Haible  <bruno@clisp.org>
14581
14582         * modules/uniname/uniname-tests (Depends-on): Add progname.
14583         * tests/uniname/test-uninames.c: Include progname.h.
14584         (main): Call set_program_name.
14585
14586         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
14587         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
14588         (main): Call set_program_name.
14589
14590         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
14591         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
14592         (main): Call set_program_name.
14593
14594         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
14595         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
14596         (main): Call set_program_name.
14597
14598         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
14599         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
14600         (main): Call set_program_name.
14601
14602         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
14603         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
14604         (main): Call set_program_name.
14605
14606         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
14607         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
14608         (main): Call set_program_name.
14609
14610         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
14611         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
14612         (main): Call set_program_name.
14613
14614         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
14615         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
14616         (main): Call set_program_name.
14617
14618 2009-01-19  Eric Blake  <ebb9@byu.net>
14619
14620         test-unistd: test previous patch
14621         * tests/test-unistd.c: Test *_FILENO macros.
14622
14623         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
14624         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14625         Guarantee a definition.
14626         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
14627         * modules/unistd-safer (Depends-on): Add dependency on unistd.
14628         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
14629         * lib/dup-safer.c (STDERR_FILENO): Likewise.
14630         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14631         Likewise.
14632         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
14633         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
14634         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14635         Likewise.
14636         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
14637         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
14638         (STDERR_FILENO): Likewise.
14639         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
14640         (STDERR_FILENO): Likewise.
14641         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
14642         (STDERR_FILENO): Likewise.
14643         Reported by Elbert Pol.
14644
14645 2009-01-19  Eric Blake  <ebb9@byu.net>
14646
14647         doc: mention more functions added in cygwin 1.7.0
14648         * doc/posix-functions/abort.texi (abort): Update wording related
14649         to cygwin.
14650         * doc/posix-functions/daylight.texi (daylight): Likewise.
14651         * doc/posix-functions/optarg.texi (optarg): Likewise.
14652         * doc/posix-functions/optarg.texi (opterr): Likewise.
14653         * doc/posix-functions/optarg.texi (optind): Likewise.
14654         * doc/posix-functions/optarg.texi (optopt): Likewise.
14655         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
14656         worked in 1.5.x, and was withdrawn in 1.7.
14657         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
14658         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
14659         cygwin versions.
14660         * doc/posix-functions/perror.texi (perror): Likewise.
14661         * doc/posix-functions/printf.texi (printf): Likewise.
14662         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
14663         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
14664         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14665         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14666         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14667         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
14668         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
14669         Likewise.
14670         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
14671         Likewise.
14672         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
14673         this function.
14674         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
14675         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
14676         Likewise.
14677         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
14678         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
14679         * doc/posix-functions/confstr.texi (confstr): Likewise.
14680         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
14681         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
14682         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
14683         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
14684         * doc/posix-functions/fputws.texi (fputws): Likewise.
14685         * doc/posix-functions/fwide.texi (fwide): Likewise.
14686         * doc/posix-functions/getwc.texi (getwc): Likewise.
14687         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
14688         * doc/posix-functions/putwc.texi (putwc): Likewise.
14689         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
14690         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
14691         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
14692         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
14693         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
14694         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
14695         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
14696         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
14697         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
14698         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
14699         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
14700
14701 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
14702
14703         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
14704         * lib/ioctl.c: Include <sys/ioctl.h>.
14705
14706 2009-01-19  Simon Josefsson  <simon@josefsson.org>
14707
14708         * modules/getdate-tests (Depends-on): Add progname.
14709         * tests/test-getdate.c: Use progname module, to avoid link errors
14710         on non-glibc systems.
14711
14712 2009-01-18  Simon Josefsson  <simon@josefsson.org>
14713
14714         * modules/filenamecat-tests (Depends-on): Add progname.
14715         * modules/fstrcmp-tests (Depends-on): Likewise.
14716
14717         * tests/test-filenamecat.c: Use progname module, to avoid link
14718         errors on non-glibc systems.
14719         * tests/test-fstrcmp.c: Likewise.
14720
14721 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
14722
14723         gettimeofday: avoid warning: nested extern declaration of 'localtime'
14724         * lib/gettimeofday.c: Move extern declaration out of function.
14725
14726 2009-01-18  Bruno Haible  <bruno@clisp.org>
14727
14728         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
14729         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
14730         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
14731
14732 2009-01-18  Bruno Haible  <bruno@clisp.org>
14733
14734         * lib/strftime.c (MEMPCPY): Remove unused macro.
14735         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
14736
14737 2009-01-18  Martin Lambers  <marlam@marlam.de>
14738
14739         New module 'link'.
14740         * lib/unistd.in.h (link): New declaration.
14741         * lib/link.c: New file.
14742         * m4/link.m4: New file.
14743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
14744         HAVE_LINK.
14745         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
14746         * modules/link: New file.
14747         * doc/posix-functions/link.texi: Mention the new module.
14748
14749 2009-01-18  Bruno Haible  <bruno@clisp.org>
14750
14751         * tests/test-avltree_list.c (main): Call set_program_name.
14752         * tests/test-avltree_oset.c (main): Likewise.
14753         * tests/test-obstack-printf.c: Include progname.h.
14754         (main): Call set_program_name.
14755         * tests/test-quotearg.c: Include progname.h.
14756         (main): Call set_program_name.
14757         * tests/test-xmemdup0.c: Include progname.h.
14758         (main): Call set_program_name.
14759
14760 2009-01-18  Bruno Haible  <bruno@clisp.org>
14761
14762         New module 'alphasort'.
14763         * lib/dirent.in.h (alphasort): New declaration.
14764         * lib/alphasort.c: New file, from glibc with modifications.
14765         * m4/alphasort.m4: New file.
14766         * modules/alphasort: New file.
14767         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
14768         HAVE_ALPHASORT.
14769         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
14770         HAVE_ALPHASORT.
14771         * doc/posix-functions/alphasort.texi: Mention the new module and the
14772         portability problems.
14773
14774 2009-01-18  Bruno Haible  <bruno@clisp.org>
14775
14776         New module 'scandir'.
14777         * lib/dirent.in.h (scandir): New declaration.
14778         * lib/scandir.c: New file, from glibc with modifications.
14779         * m4/scandir.m4: New file.
14780         * modules/scandir: New file.
14781         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
14782         HAVE_SCANDIR.
14783         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
14784         HAVE_SCANDIR.
14785         * doc/posix-functions/scandir.texi: Mention the new module and the
14786         portability problems.
14787
14788 2009-01-17  Bruno Haible  <bruno@clisp.org>
14789
14790         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
14791         Update documentation.
14792         (func_remove_suffix): Escape all dots in the suffix. Update
14793         documentation.
14794         (func_filter_filelist): Update documentation.
14795         Reported by Ralf Wildenhues.
14796
14797 2009-01-17  Bruno Haible  <bruno@clisp.org>
14798
14799         * modules/dprintf-posix-tests: New file.
14800         * tests/test-dprintf-posix.sh: New file.
14801         * tests/test-dprintf-posix.c: New file.
14802
14803         New modules 'dprintf', 'dprintf-posix'.
14804         * lib/stdio.in.h (dprintf): New declaration.
14805         * lib/dprintf.c: New file.
14806         * m4/dprintf.m4: New file.
14807         * m4/dprintf-posix.m4: New file.
14808         * modules/dprintf: New file.
14809         * modules/dprintf-posix: New file.
14810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
14811         HAVE_DPRINTF, REPLACE_DPRINTF.
14812         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
14813         HAVE_DPRINTF, REPLACE_DPRINTF.
14814         * doc/posix-functions/dprintf.texi: Mention the new modules.
14815
14816 2009-01-17  Bruno Haible  <bruno@clisp.org>
14817
14818         * modules/vdprintf-posix-tests: New file.
14819         * tests/test-vdprintf-posix.sh: New file.
14820         * tests/test-vdprintf-posix.c: New file.
14821
14822         New modules 'vdprintf', 'vdprintf-posix'.
14823         * lib/stdio.in.h (vdprintf): New declaration.
14824         * lib/vdprintf.c: New file.
14825         * m4/vdprintf.m4: New file.
14826         * m4/vdprintf-posix.m4: New file.
14827         * modules/vdprintf: New file.
14828         * modules/vdprintf-posix: New file.
14829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
14830         HAVE_VDPRINTF, REPLACE_VDPRINTF.
14831         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
14832         HAVE_VDPRINTF, REPLACE_VDPRINTF.
14833         * doc/posix-functions/vdprintf.texi: Mention the new modules.
14834
14835 2009-01-17  Bruno Haible  <bruno@clisp.org>
14836
14837         Fix replacement of fopen on mingw.
14838         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
14839         mingw.
14840
14841 2009-01-17  Bruno Haible  <bruno@clisp.org>
14842
14843         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
14844         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
14845
14846 2009-01-17  Bruno Haible  <bruno@clisp.org>
14847
14848         Avoid test-fflush2.sh failure on mingw.
14849         * tests/test-fflush2.c: Include binary-io.h.
14850         (main): Put standard input into binary mode.
14851         * modules/fflush-tests (Depends-on): Add binary-io.
14852
14853 2009-01-17  Bruno Haible  <bruno@clisp.org>
14854
14855         * lib/wchar.in.h: In another particular situation, include only the
14856         system's <wchar.h> file.
14857         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
14858         Reported by Albert Chin-A-Young <china@thewrittenword.com>
14859         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
14860
14861 2009-01-17  Bruno Haible  <bruno@clisp.org>
14862
14863         Support for stripping executables in --enable-relocatable.
14864         * build-aux/install-reloc: Expect one more argument, or an environment
14865         variable RELOC_STRIP_PROG. If set, strip the destination program and
14866         its wrapper.
14867         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
14868         RELOC_STRIP_PROG.
14869         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
14870         to set RELOCATABLE_STRIP.
14871         * NEWS: Mention the new Makefile requirement.
14872
14873 2009-01-17  Bruno Haible  <bruno@clisp.org>
14874
14875         * build-aux/install-reloc: Remove debugging information left over by
14876         C compiler on MacOS X.
14877
14878 2009-01-17  Bruno Haible  <bruno@clisp.org>
14879
14880         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
14881         * lib/progreloc.c (find_executable): Fix type of pointer passed to
14882         _NSGetExecutablePath.
14883
14884 2009-01-16  Jim Meyering  <meyering@redhat.com>
14885
14886         strerror: avoid warnings about discarding "const"
14887         * lib/strerror.c (rpl_strerror): Instead of returning a const
14888         string from each and every "case", use a variable, and add a single
14889         cast after the switch.
14890
14891 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
14892
14893         * lib/arpa_inet.in.h: Add extern "C" block for C++.
14894
14895 2009-01-16  Bruno Haible  <bruno@clisp.org>
14896
14897         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
14898         array initializer syntax that also works in C++ mode.
14899         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14900
14901 2009-01-16  Jim Meyering  <meyering@redhat.com>
14902
14903         poll: suppress a warning
14904         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
14905         to ignore "...unsigned expression < 0 is always false" warnings.
14906
14907 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
14908
14909         poll: remove declarations of unused variables
14910         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
14911         sockbuf and optlen.
14912
14913 2009-01-15  Bruno Haible  <bruno@clisp.org>
14914
14915         Make fflush-after-ungetc POSIX compliant on BSD systems.
14916         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
14917         (clear_ungetc_buffer): Implement also for other systems.
14918         (rpl_fflush): On glibc systems, invoke
14919         clear_ungetc_buffer_preserving_position. Otherwise, invoke
14920         clear_ungetc_buffer after fetching the stream's position, not before.
14921
14922 2009-01-15  Bruno Haible  <bruno@clisp.org>
14923
14924         Make fflush-after-ungetc POSIX compliant on glibc systems.
14925         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
14926         after ungetc.
14927         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
14928         (rpl_fflush): On glibc systems, simply call the system's fflush
14929         function after clearing the ungetc buffer.
14930         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
14931         Instead, lseek only to the end of file, then use the system's fseeko
14932         for the rest. On glibc systems, reset the EOF indicator bit.
14933
14934 2009-01-15  Jim Meyering  <meyering@redhat.com>
14935
14936         openmp.m4: revert quote-adding change, for portability to older autoconf
14937         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
14938         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
14939         Simon Josefsson noticed the problem when using autoconf-2.61.
14940
14941 2009-01-15  Bruno Haible  <bruno@clisp.org>
14942
14943         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
14944         * tests/test-fflush2.c (ASSERT): Always fail.
14945         (main): Add two tests for fflush() after ungetc(), taking into account
14946         the Austin Group's clarification.
14947         Suggested by Eric Blake.
14948
14949 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
14950
14951         mktime.m4: remove K&R-style function prototypes
14952         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
14953         for the Sun C++ compiler.
14954
14955 2009-01-14  Bruno Haible  <bruno@clisp.org>
14956
14957         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
14958         while including <wchar.h>.
14959         * lib/wchar.in.h: In two particular situations on HP-UX, include only
14960         the system's <wchar.h> file.
14961         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14962
14963 2009-01-14  Bruno Haible  <bruno@clisp.org>
14964
14965         * m4/csharp.m4: Don't mention gettext on the serial number line.
14966         * m4/csharpexec.m4: Likewise.
14967         * m4/eaccess.m4: Likewise.
14968         * m4/javaexec.m4: Likewise.
14969         * m4/sig_atomic_t.m4: Likewise.
14970         * m4/tmpdir.m4: Likewise.
14971         * m4/intldir.m4: Bump gettext version.
14972         * m4/lib-ld.m4: Likewise.
14973
14974 2009-01-14  Bruno Haible  <bruno@clisp.org>
14975
14976         * lib/progname.c (set_program_name): Add more comments.
14977         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
14978
14979 2009-01-14  Simon Josefsson  <simon@josefsson.org>
14980
14981         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
14982         were sys/stat.h does not define it.
14983
14984 2009-01-14  Jim Meyering  <meyering@redhat.com>
14985
14986         many *.m4 files: improve m4 quoting
14987         99% of this change was performed by running the following commands:
14988         git ls-files | grep '\.m4$' | xargs perl -pi \
14989           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
14990           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
14991           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
14992           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
14993         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
14994         The remainder were to add Copyright dates, increment serial numbers,
14995         undo some changes in comments, exclude m4/intl.m4, and add quotes
14996         around the "1" in ",1" where the unusual spacing prohibited the
14997         above regexps from doing the job.  For more details, see
14998         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
14999         * m4/acl.m4: Modified.
15000         * m4/afs.m4: Likewise.
15001         * m4/alloca.m4: Likewise.
15002         * m4/argp.m4: Likewise.
15003         * m4/argz.m4: Likewise.
15004         * m4/atexit.m4: Likewise.
15005         * m4/bison-i18n.m4: Likewise.
15006         * m4/bison.m4: Likewise.
15007         * m4/byteswap.m4: Likewise.
15008         * m4/c-stack.m4: Likewise.
15009         * m4/c-strtod.m4: Likewise.
15010         * m4/calloc.m4: Likewise.
15011         * m4/canonicalize-lgpl.m4: Likewise.
15012         * m4/chown.m4: Likewise.
15013         * m4/clock_time.m4: Likewise.
15014         * m4/codeset.m4: Likewise.
15015         * m4/copy-file.m4: Likewise.
15016         * m4/csharp.m4: Likewise.
15017         * m4/csharpcomp.m4: Likewise.
15018         * m4/csharpexec.m4: Likewise.
15019         * m4/d-ino.m4: Likewise.
15020         * m4/d-type.m4: Likewise.
15021         * m4/dirfd.m4: Likewise.
15022         * m4/double-slash-root.m4: Likewise.
15023         * m4/eaccess.m4: Likewise.
15024         * m4/eealloc.m4: Likewise.
15025         * m4/environ.m4: Likewise.
15026         * m4/errno_h.m4: Likewise.
15027         * m4/euidaccess.m4: Likewise.
15028         * m4/execute.m4: Likewise.
15029         * m4/fatal-signal.m4: Likewise.
15030         * m4/fchdir.m4: Likewise.
15031         * m4/fcntl_h.m4: Likewise.
15032         * m4/fileblocks.m4: Likewise.
15033         * m4/filenamecat.m4: Likewise.
15034         * m4/findprog.m4: Likewise.
15035         * m4/flexmember.m4: Likewise.
15036         * m4/fnmatch.m4: Likewise.
15037         * m4/fopen.m4: Likewise.
15038         * m4/fpending.m4: Likewise.
15039         * m4/fprintf-posix.m4: Likewise.
15040         * m4/free.m4: Likewise.
15041         * m4/frexp.m4: Likewise.
15042         * m4/frexpl.m4: Likewise.
15043         * m4/fsusage.m4: Likewise.
15044         * m4/ftruncate.m4: Likewise.
15045         * m4/gc-camellia.m4: Likewise.
15046         * m4/gc-random.m4: Likewise.
15047         * m4/gc.m4: Likewise.
15048         * m4/getaddrinfo.m4: Likewise.
15049         * m4/getcwd-abort-bug.m4: Likewise.
15050         * m4/getcwd-path-max.m4: Likewise.
15051         * m4/getdate.m4: Likewise.
15052         * m4/getdomainname.m4: Likewise.
15053         * m4/getgroups.m4: Likewise.
15054         * m4/gethostname.m4: Likewise.
15055         * m4/gethrxtime.m4: Likewise.
15056         * m4/getline.m4: Likewise.
15057         * m4/getloadavg.m4: Likewise.
15058         * m4/getndelim2.m4: Likewise.
15059         * m4/getpass.m4: Likewise.
15060         * m4/gettext.m4: Likewise.
15061         * m4/gettime.m4: Likewise.
15062         * m4/gettimeofday.m4: Likewise.
15063         * m4/gnulib-common.m4: Likewise.
15064         * m4/group-member.m4: Likewise.
15065         * m4/host-os.m4: Likewise.
15066         * m4/iconv.m4: Likewise.
15067         * m4/iconv_open.m4: Likewise.
15068         * m4/inet_ntop.m4: Likewise.
15069         * m4/inet_pton.m4: Likewise.
15070         * m4/inline.m4: Likewise.
15071         * m4/intldir.m4: Likewise.
15072         * m4/intlmacosx.m4: Likewise.
15073         * m4/intmax.m4: Likewise.
15074         * m4/intmax_t.m4: Likewise.
15075         * m4/inttypes.m4: Likewise.
15076         * m4/inttypes_h.m4: Likewise.
15077         * m4/inttypes-pri.m4: Likewise.
15078         * m4/isapipe.m4: Likewise.
15079         * m4/isnand.m4: Likewise.
15080         * m4/isnanf.m4: Likewise.
15081         * m4/isnanl.m4: Likewise.
15082         * m4/javacomp.m4: Likewise.
15083         * m4/javaexec.m4: Likewise.
15084         * m4/jm-winsz1.m4: Likewise.
15085         * m4/jm-winsz2.m4: Likewise.
15086         * m4/lchown.m4: Likewise.
15087         * m4/lcmessage.m4: Likewise.
15088         * m4/ldexpl.m4: Likewise.
15089         * m4/lib-ld.m4: Likewise.
15090         * m4/lib-link.m4: Likewise.
15091         * m4/libsigsegv.m4: Likewise.
15092         * m4/link-follow.m4: Likewise.
15093         * m4/localcharset.m4: Likewise.
15094         * m4/locale-fr.m4: Likewise.
15095         * m4/locale-ja.m4: Likewise.
15096         * m4/locale-tr.m4: Likewise.
15097         * m4/locale-zh.m4: Likewise.
15098         * m4/lock.m4: Likewise.
15099         * m4/longlong.m4: Likewise.
15100         * m4/ls-mntd-fs.m4: Likewise.
15101         * m4/lstat.m4: Likewise.
15102         * m4/malloc.m4: Likewise.
15103         * m4/mathl.m4: Likewise.
15104         * m4/mbrtowc.m4: Likewise.
15105         * m4/mbstate_t.m4: Likewise.
15106         * m4/mbswidth.m4: Likewise.
15107         * m4/memchr.m4: Likewise.
15108         * m4/memcmp.m4: Likewise.
15109         * m4/memcpy.m4: Likewise.
15110         * m4/memmem.m4: Likewise.
15111         * m4/memmove.m4: Likewise.
15112         * m4/mempcpy.m4: Likewise.
15113         * m4/memrchr.m4: Likewise.
15114         * m4/memset.m4: Likewise.
15115         * m4/minmax.m4: Likewise.
15116         * m4/mkdir-slash.m4: Likewise.
15117         * m4/mkdtemp.m4: Likewise.
15118         * m4/mktime.m4: Likewise.
15119         * m4/mmap-anon.m4: Likewise.
15120         * m4/mountlist.m4: Likewise.
15121         * m4/nanosleep.m4: Likewise.
15122         * m4/nls.m4: Likewise.
15123         * m4/nocrash.m4: Likewise.
15124         * m4/open.m4: Likewise.
15125         * m4/openat.m4: Likewise.
15126         * m4/openmp.m4: Likewise.
15127         * m4/pathmax.m4: Likewise.
15128         * m4/perl.m4: Likewise.
15129         * m4/physmem.m4: Likewise.
15130         * m4/pipe.m4: Likewise.
15131         * m4/po.m4: Likewise.
15132         * m4/poll.m4: Likewise.
15133         * m4/posixtm.m4: Likewise.
15134         * m4/posixver.m4: Likewise.
15135         * m4/printf-frexp.m4: Likewise.
15136         * m4/printf-frexpl.m4: Likewise.
15137         * m4/printf-posix.m4: Likewise.
15138         * m4/printf-posix-rpl.m4: Likewise.
15139         * m4/printf.m4: Likewise.
15140         * m4/progtest.m4: Likewise.
15141         * m4/putenv.m4: Likewise.
15142         * m4/readline.m4: Likewise.
15143         * m4/readlink.m4: Likewise.
15144         * m4/readutmp.m4: Likewise.
15145         * m4/realloc.m4: Likewise.
15146         * m4/regex.m4: Likewise.
15147         * m4/relocatable.m4: Likewise.
15148         * m4/relocatable-lib.m4: Likewise.
15149         * m4/rename-dest-slash.m4: Likewise.
15150         * m4/rename.m4: Likewise.
15151         * m4/rmdir-errno.m4: Likewise.
15152         * m4/rmdir.m4: Likewise.
15153         * m4/roundf.m4: Likewise.
15154         * m4/roundl.m4: Likewise.
15155         * m4/rpmatch.m4: Likewise.
15156         * m4/save-cwd.m4: Likewise.
15157         * m4/selinux-selinux-h.m4: Likewise.
15158         * m4/setenv.m4: Likewise.
15159         * m4/settime.m4: Likewise.
15160         * m4/sig2str.m4: Likewise.
15161         * m4/sig_atomic_t.m4: Likewise.
15162         * m4/signalblocking.m4: Likewise.
15163         * m4/signbit.m4: Likewise.
15164         * m4/sigpipe.m4: Likewise.
15165         * m4/sockets.m4: Likewise.
15166         * m4/sockpfaf.m4: Likewise.
15167         * m4/st_dm_mode.m4: Likewise.
15168         * m4/stat-time.m4: Likewise.
15169         * m4/stdbool.m4: Likewise.
15170         * m4/stdint.m4: Likewise.
15171         * m4/stdint_h.m4: Likewise.
15172         * m4/stpcpy.m4: Likewise.
15173         * m4/stpncpy.m4: Likewise.
15174         * m4/strcase.m4: Likewise.
15175         * m4/strchrnul.m4: Likewise.
15176         * m4/strcspn.m4: Likewise.
15177         * m4/strdup.m4: Likewise.
15178         * m4/strftime.m4: Likewise.
15179         * m4/strndup.m4: Likewise.
15180         * m4/strnlen.m4: Likewise.
15181         * m4/strpbrk.m4: Likewise.
15182         * m4/strptime.m4: Likewise.
15183         * m4/strsep.m4: Likewise.
15184         * m4/strtod.m4: Likewise.
15185         * m4/strtoimax.m4: Likewise.
15186         * m4/strtok_r.m4: Likewise.
15187         * m4/strtol.m4: Likewise.
15188         * m4/strtoll.m4: Likewise.
15189         * m4/strtoul.m4: Likewise.
15190         * m4/strtoull.m4: Likewise.
15191         * m4/strtoumax.m4: Likewise.
15192         * m4/strverscmp.m4: Likewise.
15193         * m4/threadlib.m4: Likewise.
15194         * m4/timegm.m4: Likewise.
15195         * m4/tm_gmtoff.m4: Likewise.
15196         * m4/tmpdir.m4: Likewise.
15197         * m4/tmpfile.m4: Likewise.
15198         * m4/tzset.m4: Likewise.
15199         * m4/uintmax_t.m4: Likewise.
15200         * m4/unlinkdir.m4: Likewise.
15201         * m4/unlocked-io.m4: Likewise.
15202         * m4/uptime.m4: Likewise.
15203         * m4/userspec.m4: Likewise.
15204         * m4/utimbuf.m4: Likewise.
15205         * m4/utime.m4: Likewise.
15206         * m4/utimes-null.m4: Likewise.
15207         * m4/utimes.m4: Likewise.
15208         * m4/vararrays.m4: Likewise.
15209         * m4/vasnprintf.m4: Likewise.
15210         * m4/vfprintf-posix.m4: Likewise.
15211         * m4/vprintf-posix.m4: Likewise.
15212         * m4/wait-process.m4: Likewise.
15213         * m4/wchar_t.m4: Likewise.
15214         * m4/wint_t.m4: Likewise.
15215         * m4/write-any-file.m4: Likewise.
15216         * m4/yield.m4: Likewise.
15217
15218 2009-01-13  Bruno Haible  <bruno@clisp.org>
15219
15220         Avoid test-copy-file.sh failures when ACL support insufficient.
15221         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
15222         TESTS_ENVIRONMENT.
15223         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
15224         Reported by Jim Meyering.
15225
15226 2009-01-13  Bruno Haible  <bruno@clisp.org>
15227
15228         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
15229         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
15230         * modules/unistdio/u8-printf-parse (Files): Likewise.
15231         * modules/unistdio/u32-printf-parse (Files): Likewise.
15232         * modules/unistdio/ulc-printf-parse (Files): Likewise.
15233
15234 2009-01-13  Simon Josefsson  <simon@josefsson.org>
15235
15236         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
15237         and m4/inttypes_h.m4 too.
15238
15239 2009-01-12  Eric Blake  <ebb9@byu.net>
15240
15241         tests: IRIX 6.2 cc can't compile -0.0 into .data
15242         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
15243         rather than at compile-time.
15244         * tests/test-floorl.c (minus_zero): Likewise.
15245         * tests/test-frexpl.c (minus_zero): Likewise.
15246         * tests/test-isnan.c (minus_zerol): Likewise.
15247         * tests/test-isnanl.h (minus_zero): Likewise.
15248         * tests/test-ldexpl.c (minus_zero): Likewise.
15249         * tests/test-roundl.c (minus_zero): Likewise.
15250         * tests/test-signbit.c (minus_zerol): Likewise.
15251         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15252         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15253         * tests/test-truncl.c (minus_zero): Likewise.
15254         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15255         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15256         Reported by Tom G. Christensen and Nelson H. F. Beebe.
15257
15258 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15259
15260         regex: fix glibc bug 9697
15261         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
15262         handling.
15263
15264 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15265
15266         regex: fix glibc bug 697
15267         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
15268         being NULL also if there are no backreferences.
15269
15270 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15271
15272         regex: merge glibc changes
15273         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
15274         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
15275         re_string_skip_chars, re_string_reconstruct): Likewise.
15276         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
15277
15278 2009-01-07  Jim Meyering  <meyering@redhat.com>
15279
15280         poll: filter through cppi
15281         * lib/poll.c: Indent cpp directives to reflect nesting.
15282
15283 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
15284
15285         poll: don't return uninitialized
15286         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
15287
15288 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
15289
15290         avoid compile failure on AIX 6.1
15291         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
15292         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
15293
15294 2009-01-04  Jim Meyering  <meyering@redhat.com>
15295
15296         remove duplicate inclusion of <stdio.h>
15297         * tests/test-fprintf-posix.c: Likewise.
15298         * tests/test-printf-posix.c: Likewise.
15299         * tests/test-snprintf-posix.c: Likewise.
15300         * tests/test-sprintf-posix.c: Likewise.
15301         * tests/test-vasprintf-posix.c: Likewise.
15302         * tests/test-vfprintf-posix.c: Likewise.
15303         * tests/test-vprintf-posix.c: Likewise.
15304         * tests/test-vsnprintf-posix.c: Likewise.
15305         * tests/test-vsprintf-posix.c: Likewise.
15306
15307 2009-01-03  Jim Meyering  <meyering@redhat.com>
15308
15309         gnulib-tool: fix sed-based filtering
15310         * gnulib-tool (func_filter_filelist): Remove extra backslash
15311         in sed_fff_filter definition.
15312
15313 2009-01-02  Jim Meyering  <meyering@redhat.com>
15314
15315         strftime: avoid compilation failure on Solaris 2.6
15316         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
15317         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
15318         Don't #define mbrlen or mbsinit, since now they're guaranteed to
15319         be available.  Reported by Tom G. Christensen.  Details in
15320         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
15321
15322 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15323             Bruno Haible  <bruno@clisp.org>
15324
15325         Speed up gnulib-tool by doing more string processing through shell
15326         built-ins.
15327         * gnulib-tool (fast_func_append): New variable.
15328         (func_remove_prefix, func_remove_suffix): New functions.
15329         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
15330         (func_filter_filelist): New function.
15331         (func_get_dependencies): Use func_remove_suffix instead of sed.
15332         (func_get_automake_snippet): Use func_filter_filelist instead of a
15333         subshell and sed invocation.
15334
15335 2009-01-01  Bruno Haible  <bruno@clisp.org>
15336
15337         Fix a security bug.
15338         * gnulib-tool (func_import, import, update): Don't allow the characters
15339         '"', '$', '`', '\' in macro arguments that become part of commands that
15340         are evaluated.
15341
15342 2009-01-01  Bruno Haible  <bruno@clisp.org>
15343
15344         * gnulib-tool (func_reset_sigpipe): Add more comments.
15345
15346 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15347
15348         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
15349         func_emit_tests_Makefile_am, func_import): Abort loops early if we
15350         already know the answer.
15351
15352 2009-01-01  Jim Meyering  <meyering@redhat.com>
15353
15354         * lib/version-etc.c (version_etc_va): Update copyright year.
15355
15356 2008-12-30  Bruno Haible  <bruno@clisp.org>
15357
15358         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
15359         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
15360         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
15361
15362 2008-12-29  Eric Blake  <ebb9@byu.net>
15363
15364         multiarch: avoid autoconf AC_REQUIRE bug
15365         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
15366         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
15367         2.63 and older.
15368         Reported by Bruno Haible, and analyzed in
15369         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
15370
15371 2008-12-29  Bruno Haible  <bruno@clisp.org>
15372
15373         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
15374         files in subdirectories correctly.
15375         Reported by Ralf Wildenhues.
15376
15377 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15378
15379         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
15380         rather than 'join FILE -', for Solaris join.
15381
15382 2008-12-29  Bruno Haible  <bruno@clisp.org>
15383
15384         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
15385         quoting.
15386         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15387         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15388         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15389         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
15390         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15391         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15392         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15393         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15394         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15395         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15396         * m4/nls.m4 (AM_NLS): Likewise.
15397         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
15398         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15399         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15400         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15401         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15402         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15403         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
15404         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15405         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15406         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15407         * m4/xsize.m4 (gl_XSIZE): Likewise.
15408         Suggested by Jim Meyering.
15409
15410 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15411
15412         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
15413         * lib/parse-duration.c: use a switch instead of cascading if's.
15414
15415 2008-12-29  Eric Blake  <ebb9@byu.net>
15416
15417         wchar.h: supply WEOF on Irix 5.3
15418         * lib/wchar.in.h (wint_t): Also supply WEOF.
15419         * lib/wctype.in.h (wint_t): Likewise.
15420         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
15421         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
15422         Reported by Tom G. Christensen.
15423
15424 2008-12-26  Bruno Haible  <bruno@clisp.org>
15425
15426         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
15427         i486, i586, i686.
15428
15429 2008-12-26  Bruno Haible  <bruno@clisp.org>
15430
15431         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
15432
15433 2008-12-26  Bruno Haible  <bruno@clisp.org>
15434
15435         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
15436         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
15437         not __STDC_CONSTANT_MACROS.
15438         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
15439
15440 2008-12-25  Bruno Haible  <bruno@clisp.org>
15441
15442         Add support for universal builds to vasnprintf.
15443         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
15444         universal builds, guess no.
15445         * modules/vasnprintf-posix (Depends-on): Add multiarch.
15446         * modules/vasprintf-posix (Depends-on): Likewise.
15447         * modules/fprintf-posix (Depends-on): Likewise.
15448         * modules/vfprintf-posix (Depends-on): Likewise.
15449         * modules/snprintf-posix (Depends-on): Likewise.
15450         * modules/vsnprintf-posix (Depends-on): Likewise.
15451         * modules/sprintf-posix (Depends-on): Likewise.
15452         * modules/vsprintf-posix (Depends-on): Likewise.
15453         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15454         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15455         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15456         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15457         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15458         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15459         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15460
15461         Add support for universal builds to <inttypes.h>.
15462         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
15463         _SCNu64_PREFIX): In Apple
15464         universal builds, define directly, using _LP64.
15465         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
15466         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
15467         * modules/inttypes (Depends-on): Add multiarch.
15468         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15469
15470         Add support for universal builds to <stdint.h>.
15471         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
15472         universal builds, define directly, using _LP64.
15473         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
15474         Apple universal builds, don't test for the size and suffix of ptrdiff_t
15475         and size_t.
15476         * modules/stdint (Depends-on): Add multiarch.
15477         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15478
15479         New module 'multiarch'.
15480         * modules/multiarch: New file.
15481         * m4/multiarch.m4: New file.
15482
15483 2008-12-25  Bruno Haible  <bruno@clisp.org>
15484
15485         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
15486
15487 2008-12-25  Bruno Haible  <bruno@clisp.org>
15488
15489         * modules/btowc (License): Relicense under LGPLv2+.
15490         * modules/mbsinit (License): Likewise.
15491         * modules/mbrtowc (License): Likewise.
15492         * modules/wcrtomb (License): Likewise.
15493         * modules/streq (License): Likewise.
15494         Reported by David Lutterkort <lutter@redhat.com>.
15495
15496 2008-12-23  Bruno Haible  <bruno@clisp.org>
15497
15498         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
15499
15500 2008-12-23  Bruno Haible  <bruno@clisp.org>
15501
15502         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
15503         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
15504         GETADDRINFO_LIB, not in LIBS.
15505         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
15506         * modules/canon-host (Link): Likewise.
15507         * NEWS: Mention the change.
15508         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
15509         GETADDRINFO_LIB.
15510
15511 2008-12-22  Bruno Haible  <bruno@clisp.org>
15512
15513         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
15514         * doc/posix-functions/iswalpha_l.texi: Likewise.
15515         * doc/posix-functions/iswblank_l.texi: Likewise.
15516         * doc/posix-functions/iswcntrl_l.texi: Likewise.
15517         * doc/posix-functions/iswctype_l.texi: Likewise.
15518         * doc/posix-functions/iswdigit_l.texi: Likewise.
15519         * doc/posix-functions/iswgraph_l.texi: Likewise.
15520         * doc/posix-functions/iswlower_l.texi: Likewise.
15521         * doc/posix-functions/iswprint_l.texi: Likewise.
15522         * doc/posix-functions/iswpunct_l.texi: Likewise.
15523         * doc/posix-functions/iswspace_l.texi: Likewise.
15524         * doc/posix-functions/iswupper_l.texi: Likewise.
15525         * doc/posix-functions/iswxdigit_l.texi: Likewise.
15526         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
15527         * doc/posix-functions/open_wmemstream.texi: Likewise.
15528         * doc/posix-functions/swscanf.texi: Likewise.
15529         * doc/posix-functions/towctrans_l.texi: Likewise.
15530         * doc/posix-functions/towlower.texi: Likewise.
15531         * doc/posix-functions/towlower_l.texi: Likewise.
15532         * doc/posix-functions/towupper.texi: Likewise.
15533         * doc/posix-functions/towupper_l.texi: Likewise.
15534         * doc/posix-functions/vfwprintf.texi: Likewise.
15535         * doc/posix-functions/vfwscanf.texi: Likewise.
15536         * doc/posix-functions/vswscanf.texi: Likewise.
15537         * doc/posix-functions/vwprintf.texi: Likewise.
15538         * doc/posix-functions/vwscanf.texi: Likewise.
15539         * doc/posix-functions/wcpcpy.texi: Likewise.
15540         * doc/posix-functions/wcpncpy.texi: Likewise.
15541         * doc/posix-functions/wcscasecmp.texi: Likewise.
15542         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
15543         * doc/posix-functions/wcscoll_l.texi: Likewise.
15544         * doc/posix-functions/wcsdup.texi: Likewise.
15545         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15546         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
15547         * doc/posix-functions/wcsnlen.texi: Likewise.
15548         * doc/posix-functions/wcsnrtombs.texi: Likewise.
15549         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
15550         * doc/posix-functions/wctrans_l.texi: Likewise.
15551         * doc/posix-functions/wctype_l.texi: Likewise.
15552         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
15553         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
15554         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
15555         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
15556         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
15557         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
15558         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
15559         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
15560         * doc/glibc-functions/wcschrnul.texi: Likewise.
15561         * doc/glibc-functions/wcsftime_l.texi: Likewise.
15562         * doc/glibc-functions/wcstod_l.texi: Likewise.
15563         * doc/glibc-functions/wcstof_l.texi: Likewise.
15564         * doc/glibc-functions/wcstol_l.texi: Likewise.
15565         * doc/glibc-functions/wcstold_l.texi: Likewise.
15566         * doc/glibc-functions/wcstoll_l.texi: Likewise.
15567         * doc/glibc-functions/wcstoq.texi: Likewise.
15568         * doc/glibc-functions/wcstoul_l.texi: Likewise.
15569         * doc/glibc-functions/wcstoull_l.texi: Likewise.
15570         * doc/glibc-functions/wcstouq.texi: Likewise.
15571         * doc/glibc-functions/wmempcpy.texi: Likewise.
15572
15573 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
15574             Eric Blake  <ebb9@byu.net>
15575             Paolo Bonzini  <bonzini@gnu.org>
15576             Bruno Haible  <bruno@clisp.org>
15577
15578         Make c-stack work on Haiku.
15579         * lib/c-stack.c (SA_ONSTACK): Define fallback.
15580         (c_stack_action): Use SA_ONSTACK flag.
15581
15582 2008-12-22  Bruno Haible  <bruno@clisp.org>
15583
15584         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
15585
15586 2008-12-22  Bruno Haible  <bruno@clisp.org>
15587
15588         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
15589         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
15590         being overridden.
15591         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
15592         New macros.
15593         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
15594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
15595         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
15596         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
15597
15598 2008-12-22  Bruno Haible  <bruno@clisp.org>
15599
15600         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
15601         from test code.
15602
15603 2008-12-22  Eric Blake  <ebb9@byu.net>
15604
15605         Avoid gcc warnings on cygwin.
15606         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
15607         Avoid unused variable.
15608         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
15609         Likewise.
15610
15611 2008-12-22  Bruno Haible  <bruno@clisp.org>
15612
15613         Remove HAVE_MBRTOWC conditionals.
15614         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
15615         (mbscasecmp): Assume mbrtowc function.
15616         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
15617         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
15618         * lib/mbschr.c: Include mbuiter.h unconditionally.
15619         (mbschr): Assume mbrtowc function.
15620         * lib/mbscspn.c: Include mbuiter.h unconditionally.
15621         (mbscspn): Assume mbrtowc function.
15622         * lib/mbslen.c: Include mbuiter.h unconditionally.
15623         (mbslen): Assume mbrtowc function.
15624         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
15625         (mbsncasecmp): Assume mbrtowc function.
15626         * lib/mbsnlen.c: Include mbiter.h unconditionally.
15627         (mbsnlen): Assume mbrtowc function.
15628         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
15629         (mbspbrk): Assume mbrtowc function.
15630         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
15631         (mbspcasecmp): Assume mbrtowc function.
15632         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
15633         (mbsrchr): Assume mbrtowc function.
15634         * lib/mbssep.c: Include mbuiter.h unconditionally.
15635         (mbssep): Assume mbrtowc function.
15636         * lib/mbsspn.c: Include mbuiter.h unconditionally.
15637         (mbsspn): Assume mbrtowc function.
15638         * lib/mbsstr.c: Include mbuiter.h unconditionally.
15639         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
15640         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
15641         (mbstok_r): Assume mbrtowc function.
15642         * lib/propername.c: Include mbuiter.h unconditionally.
15643         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
15644         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
15645         (trim2): Assume mbrtowc function.
15646         * lib/mbswidth.c (mbsinit): Remove fallback definition.
15647         (mbsnwidth): Assume mbrtowc function.
15648         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
15649         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
15650         fallback definitions.
15651         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
15652
15653 2008-12-22  Bruno Haible  <bruno@clisp.org>
15654
15655         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
15656
15657 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
15658
15659         * modules/regex: Request emulations for the mb*/wc* functions we need.
15660         * m4/regex.m4: Don't look for those functions here.
15661         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
15662
15663 2008-12-22  Bruno Haible  <bruno@clisp.org>
15664
15665         * modules/fnmatch (Depends-on): Remove duplicated dependency.
15666
15667 2008-12-21  Bruno Haible  <bruno@clisp.org>
15668
15669         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
15670         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
15671         (Include): Remove conditionalization.
15672         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
15673         (Include): Remove conditionalization.
15674         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
15675         (Include): Remove conditionalization.
15676         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
15677         * m4/mbfile.m4 (gl_MBFILE): Likewise.
15678         * NEWS: Mention the change.
15679         Reported by Alan Hourihane <alanh@fairlite.co.uk>
15680         via Sergey Poznyakoff <gray@gnu.org.ua>.
15681
15682 2008-12-21  Bruno Haible  <bruno@clisp.org>
15683
15684         * MODULES.html.sh (Extended multibyte and wide character utilities
15685         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
15686         wcrtomb, wcsrtombs.
15687         (Support for systems lacking POSIX:2008): Add accept, bind, close,
15688         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
15689         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
15690         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
15691
15692 2008-12-21  Bruno Haible  <bruno@clisp.org>
15693
15694         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
15695
15696 2008-12-21  Bruno Haible  <bruno@clisp.org>
15697
15698         * modules/wcsnrtombs-tests: New file.
15699         * tests/test-wcsnrtombs1.sh: New file.
15700         * tests/test-wcsnrtombs2.sh: New file.
15701         * tests/test-wcsnrtombs3.sh: New file.
15702         * tests/test-wcsnrtombs4.sh: New file.
15703         * tests/test-wcsnrtombs.c: New file.
15704
15705         New module 'wcsnrtombs'.
15706         * lib/wchar.in.h (wcsnrtombs): New declaration.
15707         * lib/wcsnrtombs.c: New file.
15708         * lib/wcsrtombs-state.c: New file.
15709         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
15710         (internal_state): Remove variable.
15711         * m4/wcsnrtombs.m4: New file.
15712         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
15713         compilation units.
15714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
15715         HAVE_WCSNRTOMBS.
15716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
15717         HAVE_WCSNRTOMBS.
15718         * modules/wcsnrtombs: New file.
15719         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
15720         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
15721
15722 2008-12-21  Bruno Haible  <bruno@clisp.org>
15723
15724         * modules/wcsrtombs-tests: New file.
15725         * tests/test-wcsrtombs1.sh: New file.
15726         * tests/test-wcsrtombs2.sh: New file.
15727         * tests/test-wcsrtombs3.sh: New file.
15728         * tests/test-wcsrtombs4.sh: New file.
15729         * tests/test-wcsrtombs.c: New file.
15730
15731         New module 'wcsrtombs'.
15732         * lib/wchar.in.h (wcsrtombs): New declaration.
15733         * lib/wcsrtombs.c: New file.
15734         * m4/wcsrtombs.m4: New file.
15735         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
15736         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
15737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
15738         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
15739         * modules/wcsrtombs: New file.
15740         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
15741         bugs.
15742
15743 2008-12-21  Bruno Haible  <bruno@clisp.org>
15744
15745         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
15746         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
15747         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
15748         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
15749         if not correct.
15750         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
15751         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
15752         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
15753         m4/locale-zh.m4, m4/codeset.m4.
15754         * doc/posix-functions/wcrtomb.texi: Document the bug.
15755
15756 2008-12-21  Bruno Haible  <bruno@clisp.org>
15757
15758         Work around a btowc() bug on IRIX 6.5.
15759         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
15760         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
15761         REPLACE_WTOBC if not.
15762         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
15763         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
15764         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
15765
15766 2008-12-21  Bruno Haible  <bruno@clisp.org>
15767
15768         * modules/wcrtomb-tests: New file.
15769         * tests/test-wcrtomb.sh: New file.
15770         * tests/test-wcrtomb.c: New file.
15771
15772         New module 'wcrtomb'.
15773         * lib/wchar.in.h (wcrtomb): New declaration.
15774         * lib/wcrtomb.c: New file.
15775         * m4/wcrtomb.m4: New file.
15776         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
15777         HAVE_WCRTOMB.
15778         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
15779         HAVE_WCRTOMB.
15780         * modules/wcrtomb: New file.
15781         * doc/posix-functions/wcrtomb.texi: Mention the new module.
15782
15783 2008-12-21  Bruno Haible  <bruno@clisp.org>
15784
15785         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
15786         * modules/mbsrtowcs (Files): Likewise.
15787         * modules/wctob (Files): Likewise.
15788         * modules/c-strcase-tests (Files): Likewise.
15789         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
15790         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
15791         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
15792         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
15793         * modules/vasnprintf-posix-tests (Files): Likewise.
15794
15795 2008-12-21  William Pursell  <bill.pursell@gmail.com>
15796
15797         gitlog-to-changelog: pass all command-line arguments to git-log
15798         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
15799         it is sometimes convenient to filter the commits in various ways.
15800         gitlog-to-changelog only allows --since to specify a start date,
15801         but git-log itself supports many other filtering mechanisms.
15802         At the moment, I want to filter by branch name.  Rather than
15803         adding a --branch option to gitlog-to-changelog, it seems more
15804         flexible to simply pass all options directly to git-log and let
15805         git do the work.  Notice that this effectively makes --since a
15806         redundant option for gitlog-to-changelog, but removing it would
15807         require current usage to change since calls would then require
15808         an additional '--'.
15809
15810 2008-12-21  Bruno Haible  <bruno@clisp.org>
15811
15812         * modules/mbsnrtowcs-tests: New file.
15813         * tests/test-mbsnrtowcs1.sh: New file.
15814         * tests/test-mbsnrtowcs2.sh: New file.
15815         * tests/test-mbsnrtowcs3.sh: New file.
15816         * tests/test-mbsnrtowcs4.sh: New file.
15817         * tests/test-mbsnrtowcs.c: New file.
15818
15819         New module 'mbsnrtowcs'.
15820         * lib/wchar.in.h (mbsnrtowcs): New declaration.
15821         * lib/mbsnrtowcs.c: New file.
15822         * lib/mbsrtowcs-state.c: New file.
15823         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
15824         (internal_state): Remove variable.
15825         * m4/mbsnrtowcs.m4: New file.
15826         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
15827         compilation units.
15828         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
15829         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
15830         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
15831         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
15832         * modules/mbsnrtowcs: New file.
15833         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
15834         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
15835         portability problem.
15836
15837 2008-12-21  Bruno Haible  <bruno@clisp.org>
15838
15839         Work around mbsrtowcs bug.
15840         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
15841         (gl_FUNC_MBSRTOWCS): Invoke it.
15842         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
15843         m4/locale-zh.m4.
15844         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
15845
15846 2008-12-21  Bruno Haible  <bruno@clisp.org>
15847
15848         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
15849
15850 2008-12-21  Bruno Haible  <bruno@clisp.org>
15851
15852         Update doc for AIX.
15853         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
15854         16-bit wchar_t type.
15855         * doc/posix-functions/btowc.texi: Likewise.
15856         * doc/posix-functions/fgetwc.texi: Likewise.
15857         * doc/posix-functions/fgetws.texi: Likewise.
15858         * doc/posix-functions/fputwc.texi: Likewise.
15859         * doc/posix-functions/fputws.texi: Likewise.
15860         * doc/posix-functions/fwide.texi: Likewise.
15861         * doc/posix-functions/fwprintf.texi: Likewise.
15862         * doc/posix-functions/fwscanf.texi: Likewise.
15863         * doc/posix-functions/getwchar.texi: Likewise.
15864         * doc/posix-functions/getwc.texi: Likewise.
15865         * doc/posix-functions/iswalnum.texi: Likewise.
15866         * doc/posix-functions/iswalpha.texi: Likewise.
15867         * doc/posix-functions/iswblank.texi: Likewise.
15868         * doc/posix-functions/iswcntrl.texi: Likewise.
15869         * doc/posix-functions/iswctype.texi: Likewise.
15870         * doc/posix-functions/iswdigit.texi: Likewise.
15871         * doc/posix-functions/iswgraph.texi: Likewise.
15872         * doc/posix-functions/iswlower.texi: Likewise.
15873         * doc/posix-functions/iswprint.texi: Likewise.
15874         * doc/posix-functions/iswpunct.texi: Likewise.
15875         * doc/posix-functions/iswspace.texi: Likewise.
15876         * doc/posix-functions/iswupper.texi: Likewise.
15877         * doc/posix-functions/iswxdigit.texi: Likewise.
15878         * doc/posix-functions/mbrtowc.texi: Likewise.
15879         * doc/posix-functions/mbsrtowcs.texi: Likewise.
15880         * doc/posix-functions/mbstowcs.texi: Likewise.
15881         * doc/posix-functions/mbtowc.texi: Likewise.
15882         * doc/posix-functions/putwchar.texi: Likewise.
15883         * doc/posix-functions/putwc.texi: Likewise.
15884         * doc/posix-functions/swprintf.texi: Likewise.
15885         * doc/posix-functions/tolower.texi: Likewise.
15886         * doc/posix-functions/toupper.texi: Likewise.
15887         * doc/posix-functions/towctrans.texi: Likewise.
15888         * doc/posix-functions/ungetwc.texi: Likewise.
15889         * doc/posix-functions/vswprintf.texi: Likewise.
15890         * doc/posix-functions/wcrtomb.texi: Likewise.
15891         * doc/posix-functions/wcscat.texi: Likewise.
15892         * doc/posix-functions/wcschr.texi: Likewise.
15893         * doc/posix-functions/wcscmp.texi: Likewise.
15894         * doc/posix-functions/wcscoll.texi: Likewise.
15895         * doc/posix-functions/wcscpy.texi: Likewise.
15896         * doc/posix-functions/wcscspn.texi: Likewise.
15897         * doc/posix-functions/wcsftime.texi: Likewise.
15898         * doc/posix-functions/wcslen.texi: Likewise.
15899         * doc/posix-functions/wcsncat.texi: Likewise.
15900         * doc/posix-functions/wcsncmp.texi: Likewise.
15901         * doc/posix-functions/wcsncpy.texi: Likewise.
15902         * doc/posix-functions/wcspbrk.texi: Likewise.
15903         * doc/posix-functions/wcsrchr.texi: Likewise.
15904         * doc/posix-functions/wcsrtombs.texi: Likewise.
15905         * doc/posix-functions/wcsspn.texi: Likewise.
15906         * doc/posix-functions/wcsstr.texi: Likewise.
15907         * doc/posix-functions/wcstod.texi: Likewise.
15908         * doc/posix-functions/wcstof.texi: Likewise.
15909         * doc/posix-functions/wcstoimax.texi: Likewise.
15910         * doc/posix-functions/wcstok.texi: Likewise.
15911         * doc/posix-functions/wcstold.texi: Likewise.
15912         * doc/posix-functions/wcstoll.texi: Likewise.
15913         * doc/posix-functions/wcstol.texi: Likewise.
15914         * doc/posix-functions/wcstombs.texi: Likewise.
15915         * doc/posix-functions/wcstoull.texi: Likewise.
15916         * doc/posix-functions/wcstoul.texi: Likewise.
15917         * doc/posix-functions/wcstoumax.texi: Likewise.
15918         * doc/posix-functions/wcswidth.texi: Likewise.
15919         * doc/posix-functions/wcsxfrm.texi: Likewise.
15920         * doc/posix-functions/wctob.texi: Likewise.
15921         * doc/posix-functions/wctomb.texi: Likewise.
15922         * doc/posix-functions/wctrans.texi: Likewise.
15923         * doc/posix-functions/wctype.texi: Likewise.
15924         * doc/posix-functions/wcwidth.texi: Likewise.
15925         * doc/posix-functions/wmemchr.texi: Likewise.
15926         * doc/posix-functions/wmemcmp.texi: Likewise.
15927         * doc/posix-functions/wmemcpy.texi: Likewise.
15928         * doc/posix-functions/wmemmove.texi: Likewise.
15929         * doc/posix-functions/wmemset.texi: Likewise.
15930         * doc/posix-functions/wprintf.texi: Likewise.
15931         * doc/posix-functions/wscanf.texi: Likewise.
15932
15933 2008-12-21  Bruno Haible  <bruno@clisp.org>
15934
15935         Update doc for HP-UX 11.11.
15936         * doc/posix-functions/btowc.texi: Clarify that the function is missing
15937         in HP-UX version 11.00, not in all versions of HP-UX 11.
15938         * doc/posix-functions/fwide.texi: Likewise.
15939         * doc/posix-functions/fwprintf.texi: Likewise.
15940         * doc/posix-functions/fwscanf.texi: Likewise.
15941         * doc/posix-functions/inet_ntop.texi: Likewise.
15942         * doc/posix-functions/inet_pton.texi: Likewise.
15943         * doc/posix-functions/mbrlen.texi: Likewise.
15944         * doc/posix-functions/mbrtowc.texi: Likewise.
15945         * doc/posix-functions/mbsinit.texi: Likewise.
15946         * doc/posix-functions/mbsrtowcs.texi: Likewise.
15947         * doc/posix-functions/swprintf.texi: Likewise.
15948         * doc/posix-functions/swscanf.texi: Likewise.
15949         * doc/posix-functions/towctrans.texi: Likewise.
15950         * doc/posix-functions/vfwprintf.texi: Likewise.
15951         * doc/posix-functions/vswprintf.texi: Likewise.
15952         * doc/posix-functions/vwprintf.texi: Likewise.
15953         * doc/posix-functions/wcrtomb.texi: Likewise.
15954         * doc/posix-functions/wcsrtombs.texi: Likewise.
15955         * doc/posix-functions/wcsstr.texi: Likewise.
15956         * doc/posix-functions/wctob.texi: Likewise.
15957         * doc/posix-functions/wctrans.texi: Likewise.
15958         * doc/posix-functions/wmemchr.texi: Likewise.
15959         * doc/posix-functions/wmemcmp.texi: Likewise.
15960         * doc/posix-functions/wmemcpy.texi: Likewise.
15961         * doc/posix-functions/wmemmove.texi: Likewise.
15962         * doc/posix-functions/wmemset.texi: Likewise.
15963         * doc/posix-functions/wprintf.texi: Likewise.
15964         * doc/posix-functions/wscanf.texi: Likewise.
15965
15966 2008-12-21  Bruno Haible  <bruno@clisp.org>
15967
15968         Work around a portability problem.
15969         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
15970         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
15971
15972 2008-12-20  Bruno Haible  <bruno@clisp.org>
15973
15974         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
15975         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
15976         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
15977         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
15978         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
15979
15980         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
15981         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
15982         set.
15983         (GNULIB_defined_mbstate_t): New macro.
15984         (mbsinit): Redefine if REPLACE_MBSINIT is set.
15985         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
15986         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
15987         reuses the system's mbrtowc function but works around the bugs.
15988         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
15989         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
15990         macros.
15991         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
15992         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
15993         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
15994         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
15995         REPLACE_MBSINIT if mbsinit needs to be overridden.
15996         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
15997         REPLACE_MBSINIT, REPLACE_MBRTOWC.
15998         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
15999         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16000         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16001         m4/locale-zh.m4.
16002         (Depends): Add mbsinit.
16003         * modules/mbsinit (Depends): Add mbrtowc.
16004         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
16005
16006 2008-12-20  Bruno Haible  <bruno@clisp.org>
16007
16008         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
16009         so that there are no conversion errors on AIX.
16010         * tests/test-mbsrtowcs.c (main): LIkewise.
16011
16012 2008-12-20  Bruno Haible  <bruno@clisp.org>
16013
16014         Work around wctob bug on Solaris <= 9.
16015         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
16016         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
16017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
16018         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
16019         * modules/wctob (Files): Add m4/locale-fr.m4.
16020         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
16021
16022 2008-12-20  Bruno Haible  <bruno@clisp.org>
16023
16024         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
16025         /dev/null.
16026         * tests/test-select-in.sh: Likewise.
16027         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16028
16029 2008-12-20  Bruno Haible  <bruno@clisp.org>
16030
16031         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
16032         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
16033         Cygwin 1.5.x.
16034
16035 2008-12-20  Bruno Haible  <bruno@clisp.org>
16036
16037         Ensure mbstate_t is defined on HP-UX 11.11.
16038         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
16039         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
16040         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
16041         AC_USE_SYSTEM_EXTENSIONS.
16042         * modules/fnmatch (Depends-on): Add extensions.
16043         * modules/mbrlen (Depends-on): Likewise.
16044         * modules/mbrtowc (Depends-on): Likewise.
16045         * modules/mbsinit (Depends-on): Likewise.
16046         * modules/mbsrtowcs (Depends-on): Likewise.
16047         * modules/mbswidth (Depends-on): Likewise.
16048         * modules/quotearg (Depends-on): Likewise.
16049         * modules/strftime (Depends-on): Likewise.
16050
16051 2008-12-20  Bruno Haible  <bruno@clisp.org>
16052
16053         Ensure wctob is declared on IRIX 6.5.
16054         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
16055         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
16056         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
16057         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
16058         of HAVE_WCTOB.
16059         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
16060         HAVE_WCTOB.
16061         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
16062
16063 2008-12-19  Bruno Haible  <bruno@clisp.org>
16064
16065         * modules/mbsrtowcs-tests: New file.
16066         * tests/test-mbsrtowcs1.sh: New file.
16067         * tests/test-mbsrtowcs2.sh: New file.
16068         * tests/test-mbsrtowcs3.sh: New file.
16069         * tests/test-mbsrtowcs4.sh: New file.
16070         * tests/test-mbsrtowcs.c: New file.
16071
16072         New module 'mbsrtowcs'.
16073         * lib/wchar.in.h (mbsrtowcs): New declaration.
16074         * lib/mbsrtowcs.c: New file.
16075         * m4/mbsrtowcs.m4: New file.
16076         * modules/mbsrtowcs: New file.
16077         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
16078         HAVE_MBSRTOWCS.
16079         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
16080         HAVE_MBSRTOWCS.
16081         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
16082
16083 2008-12-19  Bruno Haible  <bruno@clisp.org>
16084
16085         New module 'mbrlen'.
16086         * lib/wchar.in.h (mbrlen): New declaration.
16087         * lib/mbrlen.c: New file.
16088         * m4/mbrlen.m4: New file.
16089         * modules/mbrlen: New file.
16090         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
16091         HAVE_MBRLEN.
16092         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
16093         HAVE_MBRLEN.
16094         * doc/posix-functions/mbrlen.texi: Document the new module.
16095
16096 2008-12-19  Bruno Haible  <bruno@clisp.org>
16097
16098         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
16099         * modules/mbrtowc (Depends-on): Add verify.
16100         Suggested by Paul Eggert.
16101
16102 2008-12-18  Bruno Haible  <bruno@clisp.org>
16103
16104         * modules/mbsinit-tests: New file.
16105         * tests/test-mbsinit.sh: New file.
16106         * tests/test-mbsinit.c: New file.
16107
16108 2008-12-18  Bruno Haible  <bruno@clisp.org>
16109
16110         * modules/mbrtowc-tests: New file.
16111         * tests/test-mbrtowc1.sh: New file.
16112         * tests/test-mbrtowc2.sh: New file.
16113         * tests/test-mbrtowc3.sh: New file.
16114         * tests/test-mbrtowc4.sh: New file.
16115         * tests/test-mbrtowc.c: New file.
16116
16117         New module 'mbrtowc'.
16118         * lib/wchar.in.h (mbstate_t): Override when the system does not have
16119         mbsinit and mbrtowc.
16120         (mbrtowc): New declaration.
16121         * lib/mbrtowc.c: New file.
16122         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
16123         * modules/mbrtowc: New file.
16124         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
16125         HAVE_MBRTOWC.
16126         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
16127         HAVE_MBRTOWC.
16128         * doc/posix-functions/mbrtowc.texi: Document the new module.
16129
16130 2008-12-18  Bruno Haible  <bruno@clisp.org>
16131
16132         New module 'wctob'.
16133         * lib/wchar.in.h (wctob): New declaration.
16134         * lib/wctob.c: New file.
16135         * m4/wctob.m4: New file.
16136         * modules/wctob: New file.
16137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
16138         HAVE_WCTOB.
16139         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
16140         * doc/posix-functions/wctob.texi: Document the new module.
16141
16142 2008-12-18  Bruno Haible  <bruno@clisp.org>
16143
16144         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
16145         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
16146
16147 2008-12-18  Simon Josefsson  <simon@josefsson.org>
16148
16149         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
16150         G. Christensen" <tgc@jupiterrise.com>.
16151
16152         * lib/flock.c: Need to include errno.h.  Reported by "Tom
16153         G. Christensen" <tgc@jupiterrise.com>.
16154
16155         * lib/flock.c: Need to include string.h.  Reported by "Tom
16156         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
16157         <ebb9@byu.net>.
16158
16159 2008-12-18  Bruno Haible  <bruno@clisp.org>
16160
16161         * m4/locale-ja.m4: New file, from GNU gettext.
16162
16163 2008-12-17  Bruno Haible  <bruno@clisp.org>
16164
16165         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
16166         Suggested by Eric Blake.
16167
16168 2008-12-17  Bruno Haible  <bruno@clisp.org>
16169
16170         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
16171
16172 2008-12-17  Bruno Haible  <bruno@clisp.org>
16173
16174         * lib/mbsinit.c: Include verify.h. Verify an assumption.
16175         * modules/mbsinit (Depends-on): Add verify.
16176         Suggested by Paul Eggert.
16177
16178 2008-12-17  Bruno Haible  <bruno@clisp.org>
16179
16180         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
16181         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
16182         gl_FUNC_MBRTOWC.
16183         * m4/mbiter.m4 (gl_MBITER): LIkewise.
16184         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
16185         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
16186         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
16187         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
16188         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
16189         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
16190         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
16191         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
16192         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
16193         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
16194         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
16195         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
16196         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
16197         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
16198         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16199         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
16200         * modules/trim (configure.ac): Likewise.
16201
16202 2008-12-17  Bruno Haible  <bruno@clisp.org>
16203
16204         * modules/btowc-tests: New file.
16205         * tests/test-btowc1.sh: New file.
16206         * tests/test-btowc2.sh: New file.
16207         * tests/test-btowc.c: New file.
16208
16209         New module 'btowc'.
16210         * lib/wchar.in.h (btowc): New declaration.
16211         * lib/btowc.c: New file.
16212         * m4/btowc.m4: New file.
16213         * modules/btowc: New file.
16214         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
16215         HAVE_BTOWC.
16216         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
16217         * doc/posix-functions/btowc.texi: Document the new module.
16218
16219 2008-12-17  Bruno Haible  <bruno@clisp.org>
16220
16221         New module 'mbsinit'.
16222         * lib/wchar.in.h (mbsinit): New declaration.
16223         * lib/mbsinit.c: New file.
16224         * m4/mbsinit.m4: New file.
16225         * modules/mbsinit: New file.
16226         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
16227         HAVE_MBSINIT.
16228         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
16229         HAVE_MBSINIT.
16230         * doc/posix-functions/mbsinit.texi: Document the new module.
16231
16232 2008-12-16  Bruno Haible  <bruno@clisp.org>
16233
16234         * lib/unistd.in.h: Add comment.
16235         * tests/test-environ.c: Don't include <stdlib.h>.
16236
16237 2008-12-16  Bruno Haible  <bruno@clisp.org>
16238
16239         * lib/parse-duration.h (parse_duration): Document return value
16240         convention.
16241         * lib/parse-duration.c: Include specification header first. Add
16242         comments.
16243         (_): Remove macro.
16244         (parse_year_month_day, parse_hour_minute_second): Move side effects
16245         outside of strchr call.
16246         (parse_non_iso8601): Move side effects outside of isspace call.
16247         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
16248         call.
16249
16250 2008-12-16  Bruno Haible  <bruno@clisp.org>
16251
16252         * tests/test-parse-duration.sh: Produce no output when the test
16253         succeeds.
16254
16255 2008-12-16  Bruno Haible  <bruno@clisp.org>
16256
16257         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
16258         expressions.
16259
16260 2008-12-15  Bruno Haible  <bruno@clisp.org>
16261
16262         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
16263         * doc/glibc-functions/flistxattr.texi: Likewise.
16264         * doc/glibc-functions/fopencookie.texi: Likewise.
16265         * doc/glibc-functions/fremovexattr.texi: Likewise.
16266         * doc/glibc-functions/fsetxattr.texi: Likewise.
16267         * doc/glibc-functions/getxattr.texi: Likewise.
16268         * doc/glibc-functions/lgetxattr.texi: Likewise.
16269         * doc/glibc-functions/listxattr.texi: Likewise.
16270         * doc/glibc-functions/llistxattr.texi: Likewise.
16271         * doc/glibc-functions/lremovexattr.texi: Likewise.
16272         * doc/glibc-functions/lsetxattr.texi: Likewise.
16273         * doc/glibc-functions/removexattr.texi: Likewise.
16274         * doc/glibc-functions/setxattr.texi: Likewise.
16275         * doc/posix-functions/open_memstream.texi: Likewise.
16276
16277 2008-12-15  Eric Blake  <ebb9@byu.net>
16278
16279         Update doc for cygwin 1.7.
16280         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
16281         functions.
16282         * doc/posix-functions/fchmodat.texi: Likewise.
16283         * doc/posix-functions/fchownat.texi: Likewise.
16284         * doc/posix-functions/fdopendir.texi: Likewise.
16285         * doc/posix-functions/fmemopen.texi: Likewise.
16286         * doc/posix-functions/freeaddrinfo.texi: Likewise.
16287         * doc/posix-functions/fstatat.texi: Likewise.
16288         * doc/posix-functions/futimens.texi: Likewise.
16289         * doc/posix-functions/gai_strerror.texi: Likewise.
16290         * doc/posix-functions/getaddrinfo.texi: Likewise.
16291         * doc/posix-functions/getnameinfo.texi: Likewise.
16292         * doc/posix-functions/if_freenameindex.texi: Likewise.
16293         * doc/posix-functions/if_indextoname.texi: Likewise.
16294         * doc/posix-functions/if_nameindex.texi: Likewise.
16295         * doc/posix-functions/if_nametoindex.texi: Likewise.
16296         * doc/posix-functions/insque.texi: Likewise.
16297         * doc/posix-functions/linkat.texi: Likewise.
16298         * doc/posix-functions/llrint.texi: Likewise.
16299         * doc/posix-functions/llrintf.texi: Likewise.
16300         * doc/posix-functions/llrintl.texi: Likewise.
16301         * doc/posix-functions/lockf.texi: Likewise.
16302         * doc/posix-functions/lrintl.texi: Likewise.
16303         * doc/posix-functions/mkdirat.texi: Likewise.
16304         * doc/posix-functions/mkfifoat.texi: Likewise.
16305         * doc/posix-functions/mknodat.texi: Likewise.
16306         * doc/posix-functions/mq_close.texi: Likewise.
16307         * doc/posix-functions/mq_getattr.texi: Likewise.
16308         * doc/posix-functions/mq_notify.texi: Likewise.
16309         * doc/posix-functions/mq_open.texi: Likewise.
16310         * doc/posix-functions/mq_receive.texi: Likewise.
16311         * doc/posix-functions/mq_send.texi: Likewise.
16312         * doc/posix-functions/mq_setattr.texi: Likewise.
16313         * doc/posix-functions/mq_timedreceive.texi: Likewise.
16314         * doc/posix-functions/mq_timedsend.texi: Likewise.
16315         * doc/posix-functions/mq_unlink.texi: Likewise.
16316         * doc/posix-functions/open_memstream.texi: Likewise.
16317         * doc/posix-functions/openat.texi: Likewise.
16318         * doc/posix-functions/posix_fadvise.texi: Likewise.
16319         * doc/posix-functions/posix_fallocate.texi: Likewise.
16320         * doc/posix-functions/posix_madvise.texi: Likewise.
16321         * doc/posix-functions/posix_memalign.texi: Likewise.
16322         * doc/posix-functions/posix_openpt.texi: Likewise.
16323         * doc/posix-functions/readlinkat.texi: Likewise.
16324         * doc/posix-functions/remque.texi: Likewise.
16325         * doc/posix-functions/renameat.texi: Likewise.
16326         * doc/posix-functions/rintl.texi: Likewise.
16327         * doc/posix-functions/sem_unlink.texi: Likewise.
16328         * doc/posix-functions/shm_open.texi: Likewise.
16329         * doc/posix-functions/shm_unlink.texi: Likewise.
16330         * doc/posix-functions/signgam.texi: Likewise.
16331         * doc/posix-functions/sigset.texi: Likewise.
16332         * doc/posix-functions/stpcpy.texi: Likewise.
16333         * doc/posix-functions/stpncpy.texi: Likewise.
16334         * doc/posix-functions/strerror.texi: Likewise.
16335         * doc/posix-functions/strtod.texi: Likewise.
16336         * doc/posix-functions/symlinkat.texi: Likewise.
16337         * doc/posix-functions/unlinkat.texi: Likewise.
16338         * doc/posix-functions/utimensat.texi: Likewise.
16339         * doc/glibc-functions/bindresvport.texi: Likewise.
16340         * doc/glibc-functions/dn_expand.texi: Likewise.
16341         * doc/glibc-functions/exp10.texi: Likewise.
16342         * doc/glibc-functions/exp10f.texi: Likewise.
16343         * doc/glibc-functions/fgetxattr.texi: Likewise.
16344         * doc/glibc-functions/flistxattr.texi: Likewise.
16345         * doc/glibc-functions/fopencookie.texi: Likewise.
16346         * doc/glibc-functions/freeifaddrs.texi: Likewise.
16347         * doc/glibc-functions/fremovexattr.texi: Likewise.
16348         * doc/glibc-functions/fsetxattr.texi: Likewise.
16349         * doc/glibc-functions/getifaddrs.texi: Likewise.
16350         * doc/glibc-functions/getxattr.texi: Likewise.
16351         * doc/glibc-functions/lgetxattr.texi: Likewise.
16352         * doc/glibc-functions/listxattr.texi: Likewise.
16353         * doc/glibc-functions/llistxattr.texi: Likewise.
16354         * doc/glibc-functions/lremovexattr.texi: Likewise.
16355         * doc/glibc-functions/lsetxattr.texi: Likewise.
16356         * doc/glibc-functions/pow10.texi: Likewise.
16357         * doc/glibc-functions/pow10f.texi: Likewise.
16358         * doc/glibc-functions/rcmd_af.texi: Likewise.
16359         * doc/glibc-functions/removexattr.texi: Likewise.
16360         * doc/glibc-functions/res_init.texi: Likewise.
16361         * doc/glibc-functions/res_mkquery.texi: Likewise.
16362         * doc/glibc-functions/res_query.texi: Likewise.
16363         * doc/glibc-functions/res_querydomain.texi: Likewise.
16364         * doc/glibc-functions/res_send.texi: Likewise.
16365         * doc/glibc-functions/rresvport_af.texi: Likewise.
16366         * doc/glibc-functions/setxattr.texi: Likewise.
16367         * doc/glibc-functions/strcasestr.texi: Likewise.
16368
16369 2008-12-15  Bruno Haible  <bruno@clisp.org>
16370
16371         Fix compilation error on OSF/1 4.0.
16372         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
16373         <sys/time.h>, simply delegate to the system header.
16374         Reported by Daniel Richard G. <oss@teragram.com>.
16375
16376 2008-12-15  Bruno Haible  <bruno@clisp.org>
16377
16378         * doc/posix-functions/openat.texi: Mention the 'openat' module.
16379         * doc/posix-functions/fchmodat.texi: Likewise.
16380         * doc/posix-functions/fchownat.texi: Likewise.
16381         * doc/posix-functions/fdopendir.texi: Likewise.
16382         * doc/posix-functions/fstatat.texi: Likewise.
16383         * doc/posix-functions/mkdirat.texi: Likewise.
16384         * doc/posix-functions/unlinkat.texi: Likewise.
16385
16386 2008-12-14  Bruno Haible  <bruno@clisp.org>
16387
16388         Update doc for POSIX:2008.
16389         * doc/posix-functions/faccessat.texi: New file.
16390         * doc/posix-functions/fchmodat.texi: New file.
16391         * doc/posix-functions/fchownat.texi: New file.
16392         * doc/posix-functions/fdopendir.texi: New file.
16393         * doc/posix-functions/fstatat.texi: New file.
16394         * doc/posix-functions/futimens.texi: New file.
16395         * doc/posix-functions/linkat.texi: New file.
16396         * doc/posix-functions/mkdirat.texi: New file.
16397         * doc/posix-functions/mkfifoat.texi: New file.
16398         * doc/posix-functions/mknodat.texi: New file.
16399         * doc/posix-functions/open_wmemstream.texi: New file.
16400         * doc/posix-functions/openat.texi: New file.
16401         * doc/posix-functions/psiginfo.texi: New file.
16402         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
16403         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
16404         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
16405         * doc/posix-functions/readlinkat.texi: New file.
16406         * doc/posix-functions/renameat.texi: New file.
16407         * doc/posix-functions/strerror_l.texi: New file.
16408         * doc/posix-functions/symlinkat.texi: New file.
16409         * doc/posix-functions/unlinkat.texi: New file.
16410         * doc/posix-functions/utimensat.texi: New file.
16411         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16412
16413 2008-12-14  Bruno Haible  <bruno@clisp.org>
16414
16415         Update doc for POSIX:2008.
16416         * doc/posix-functions/alphasort.texi: Renamed from
16417         doc/glibc-functions/alphasort.texi.
16418         * doc/posix-functions/dirfd.texi: Renamed from
16419         doc/glibc-functions/dirfd.texi.
16420         * doc/posix-functions/dprintf.texi: Renamed from
16421         doc/glibc-functions/dprintf.texi.
16422         * doc/posix-functions/duplocale.texi: Renamed from
16423         doc/glibc-functions/duplocale.texi.
16424         * doc/posix-functions/fexecve.texi: Renamed from
16425         doc/glibc-functions/fexecve.texi.
16426         * doc/posix-functions/fmemopen.texi: Renamed from
16427         doc/glibc-functions/fmemopen.texi.
16428         * doc/posix-functions/freelocale.texi: Renamed from
16429         doc/glibc-functions/freelocale.texi.
16430         * doc/posix-functions/getdate_err.texi: Renamed from
16431         doc/glibc-functions/getdate_err.texi.
16432         * doc/posix-functions/isalnum_l.texi: Renamed from
16433         doc/glibc-functions/isalnum_l.texi.
16434         * doc/posix-functions/isalpha_l.texi: Renamed from
16435         doc/glibc-functions/isalpha_l.texi.
16436         * doc/posix-functions/isblank_l.texi: Renamed from
16437         doc/glibc-functions/isblank_l.texi.
16438         * doc/posix-functions/iscntrl_l.texi: Renamed from
16439         doc/glibc-functions/iscntrl_l.texi.
16440         * doc/posix-functions/isdigit_l.texi: Renamed from
16441         doc/glibc-functions/isdigit_l.texi.
16442         * doc/posix-functions/isgraph_l.texi: Renamed from
16443         doc/glibc-functions/isgraph_l.texi.
16444         * doc/posix-functions/islower_l.texi: Renamed from
16445         doc/glibc-functions/islower_l.texi.
16446         * doc/posix-functions/isprint_l.texi: Renamed from
16447         doc/glibc-functions/isprint_l.texi.
16448         * doc/posix-functions/ispunct_l.texi: Renamed from
16449         doc/glibc-functions/ispunct_l.texi.
16450         * doc/posix-functions/isspace_l.texi: Renamed from
16451         doc/glibc-functions/isspace_l.texi.
16452         * doc/posix-functions/isupper_l.texi: Renamed from
16453         doc/glibc-functions/isupper_l.texi.
16454         * doc/posix-functions/iswalnum_l.texi: Renamed from
16455         doc/glibc-functions/iswalnum_l.texi.
16456         * doc/posix-functions/iswalpha_l.texi: Renamed from
16457         doc/glibc-functions/iswalpha_l.texi.
16458         * doc/posix-functions/iswblank_l.texi: Renamed from
16459         doc/glibc-functions/iswblank_l.texi.
16460         * doc/posix-functions/iswcntrl_l.texi: Renamed from
16461         doc/glibc-functions/iswcntrl_l.texi.
16462         * doc/posix-functions/iswctype_l.texi: Renamed from
16463         doc/glibc-functions/iswctype_l.texi.
16464         * doc/posix-functions/iswdigit_l.texi: Renamed from
16465         doc/glibc-functions/iswdigit_l.texi.
16466         * doc/posix-functions/iswgraph_l.texi: Renamed from
16467         doc/glibc-functions/iswgraph_l.texi.
16468         * doc/posix-functions/iswlower_l.texi: Renamed from
16469         doc/glibc-functions/iswlower_l.texi.
16470         * doc/posix-functions/iswprint_l.texi: Renamed from
16471         doc/glibc-functions/iswprint_l.texi.
16472         * doc/posix-functions/iswpunct_l.texi: Renamed from
16473         doc/glibc-functions/iswpunct_l.texi.
16474         * doc/posix-functions/iswspace_l.texi: Renamed from
16475         doc/glibc-functions/iswspace_l.texi.
16476         * doc/posix-functions/iswupper_l.texi: Renamed from
16477         doc/glibc-functions/iswupper_l.texi.
16478         * doc/posix-functions/iswxdigit_l.texi: Renamed from
16479         doc/glibc-functions/iswxdigit_l.texi.
16480         * doc/posix-functions/isxdigit_l.texi: Renamed from
16481         doc/glibc-functions/isxdigit_l.texi.
16482         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
16483         doc/glibc-functions/mbsnrtowcs.texi.
16484         * doc/posix-functions/mkdtemp.texi: Renamed from
16485         doc/glibc-functions/mkdtemp.texi.
16486         * doc/posix-functions/newlocale.texi: Renamed from
16487         doc/glibc-functions/newlocale.texi.
16488         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
16489         doc/glibc-functions/nl_langinfo_l.texi.
16490         * doc/posix-functions/open_memstream.texi: Renamed from
16491         doc/glibc-functions/open_memstream.texi.
16492         * doc/posix-functions/opterr.texi: Renamed from
16493         doc/glibc-functions/opterr.texi.
16494         * doc/posix-functions/optind.texi: Renamed from
16495         doc/glibc-functions/optind.texi.
16496         * doc/posix-functions/optopt.texi: Renamed from
16497         doc/glibc-functions/optopt.texi.
16498         * doc/posix-functions/psignal.texi: Renamed from
16499         doc/glibc-functions/psignal.texi.
16500         * doc/posix-functions/scandir.texi: Renamed from
16501         doc/glibc-functions/scandir.texi.
16502         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
16503         doc/glibc-functions/sched_get_priority_min.texi.
16504         * doc/posix-functions/signgam.texi: Renamed from
16505         doc/glibc-functions/signgam.texi.
16506         * doc/posix-functions/stpcpy.texi: Renamed from
16507         doc/glibc-functions/stpcpy.texi.
16508         * doc/posix-functions/stpncpy.texi: Renamed from
16509         doc/glibc-functions/stpncpy.texi.
16510         * doc/posix-functions/strcasecmp_l.texi: Renamed from
16511         doc/glibc-functions/strcasecmp_l.texi.
16512         * doc/posix-functions/strcoll_l.texi: Renamed from
16513         doc/glibc-functions/strcoll_l.texi.
16514         * doc/posix-functions/strfmon_l.texi: Renamed from
16515         doc/glibc-functions/strfmon_l.texi.
16516         * doc/posix-functions/strftime_l.texi: Renamed from
16517         doc/glibc-functions/strftime_l.texi.
16518         * doc/posix-functions/strncasecmp_l.texi: Renamed from
16519         doc/glibc-functions/strncasecmp_l.texi.
16520         * doc/posix-functions/strndup.texi: Renamed from
16521         doc/glibc-functions/strndup.texi.
16522         * doc/posix-functions/strnlen.texi: Renamed from
16523         doc/glibc-functions/strnlen.texi.
16524         * doc/posix-functions/strsignal.texi: Renamed from
16525         doc/glibc-functions/strsignal.texi.
16526         * doc/posix-functions/strxfrm_l.texi: Renamed from
16527         doc/glibc-functions/strxfrm_l.texi.
16528         * doc/posix-functions/timer_gettime.texi: Renamed from
16529         doc/glibc-functions/timer_gettime.texi.
16530         * doc/posix-functions/tolower_l.texi: Renamed from
16531         doc/glibc-functions/tolower_l.texi.
16532         * doc/posix-functions/toupper_l.texi: Renamed from
16533         doc/glibc-functions/toupper_l.texi.
16534         * doc/posix-functions/towctrans_l.texi: Renamed from
16535         doc/glibc-functions/towctrans_l.texi.
16536         * doc/posix-functions/towlower_l.texi: Renamed from
16537         doc/glibc-functions/towlower_l.texi.
16538         * doc/posix-functions/towupper_l.texi: Renamed from
16539         doc/glibc-functions/towupper_l.texi.
16540         * doc/posix-functions/uselocale.texi: Renamed from
16541         doc/glibc-functions/uselocale.texi.
16542         * doc/posix-functions/vdprintf.texi: Renamed from
16543         doc/glibc-functions/vdprintf.texi.
16544         * doc/posix-functions/wcpcpy.texi:
16545         Renamed from doc/glibc-functions/wcpcpy.texi.
16546         * doc/posix-functions/wcpncpy.texi: Renamed from
16547         doc/glibc-functions/wcpncpy.texi.
16548         * doc/posix-functions/wcscasecmp.texi: Renamed from
16549         doc/glibc-functions/wcscasecmp.texi.
16550         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
16551         doc/glibc-functions/wcscasecmp_l.texi.
16552         * doc/posix-functions/wcscoll_l.texi: Renamed from
16553         doc/glibc-functions/wcscoll_l.texi.
16554         * doc/posix-functions/wcsdup.texi: Renamed from
16555         doc/glibc-functions/wcsdup.texi.
16556         * doc/posix-functions/wcsncasecmp.texi: Renamed from
16557         doc/glibc-functions/wcsncasecmp.texi.
16558         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
16559         doc/glibc-functions/wcsncasecmp_l.texi.
16560         * doc/posix-functions/wcsnlen.texi: Renamed from
16561         doc/glibc-functions/wcsnlen.texi.
16562         * doc/posix-functions/wcsnrtombs.texi: Renamed from
16563         doc/glibc-functions/wcsnrtombs.texi.
16564         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
16565         doc/glibc-functions/wcsxfrm_l.texi.
16566         * doc/posix-functions/wctrans_l.texi: Renamed from
16567         doc/glibc-functions/wctrans_l.texi.
16568         * doc/posix-functions/wctype_l.texi: Renamed from
16569         doc/glibc-functions/wctype_l.texi.
16570         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16571         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
16572         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
16573         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
16574         these subsections.
16575         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
16576         Remove sections.
16577
16578 2008-12-14  Bruno Haible  <bruno@clisp.org>
16579
16580         Update doc for POSIX:2008.
16581         * doc/posix-functions/*.texi: Update URL of POSIX specification.
16582
16583 2008-12-14  Bruno Haible  <bruno@clisp.org>
16584
16585         Update doc for POSIX:2008.
16586         * doc/pastposix-functions/bcmp.texi: Renamed from
16587         doc/posix-functions/bcmp.texi.
16588         * doc/pastposix-functions/bcopy.texi: Renamed from
16589         doc/posix-functions/bcopy.texi.
16590         * doc/pastposix-functions/bsd_signal.texi: Renamed from
16591         doc/posix-functions/bsd_signal.texi.
16592         * doc/pastposix-functions/bzero.texi: Renamed from
16593         doc/posix-functions/bzero.texi.
16594         * doc/pastposix-functions/ecvt.texi: Renamed from
16595         doc/posix-functions/ecvt.texi.
16596         * doc/pastposix-functions/fcvt.texi: Renamed from
16597         doc/posix-functions/fcvt.texi.
16598         * doc/pastposix-functions/ftime.texi: Renamed from
16599         doc/posix-functions/ftime.texi.
16600         * doc/pastposix-functions/gcvt.texi: Renamed from
16601         doc/posix-functions/gcvt.texi.
16602         * doc/pastposix-functions/getcontext.texi: Renamed from
16603         doc/posix-functions/getcontext.texi.
16604         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
16605         doc/posix-functions/gethostbyaddr.texi.
16606         * doc/pastposix-functions/gethostbyname.texi: Renamed from
16607         doc/posix-functions/gethostbyname.texi.
16608         * doc/pastposix-functions/getwd.texi: Renamed from
16609         doc/posix-functions/getwd.texi.
16610         * doc/pastposix-functions/h_errno.texi: Renamed from
16611         doc/posix-functions/h_errno.texi.
16612         * doc/pastposix-functions/index.texi: Renamed from
16613         doc/posix-functions/index.texi.
16614         * doc/pastposix-functions/makecontext.texi: Renamed from
16615         doc/posix-functions/makecontext.texi.
16616         * doc/pastposix-functions/mktemp.texi: Renamed from
16617         doc/posix-functions/mktemp.texi.
16618         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
16619         doc/posix-functions/pthread_attr_getstackaddr.texi.
16620         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
16621         doc/posix-functions/pthread_attr_setstackaddr.texi.
16622         * doc/pastposix-functions/rindex.texi: Renamed from
16623         doc/posix-functions/rindex.texi.
16624         * doc/pastposix-functions/scalb.texi: Renamed from
16625         doc/posix-functions/scalb.texi.
16626         * doc/pastposix-functions/setcontext.texi: Renamed from
16627         doc/posix-functions/setcontext.texi.
16628         * doc/pastposix-functions/swapcontext.texi: Renamed from
16629         doc/posix-functions/swapcontext.texi.
16630         * doc/pastposix-functions/ualarm.texi: Renamed from
16631         doc/posix-functions/ualarm.texi.
16632         * doc/pastposix-functions/usleep.texi: Renamed from
16633         doc/posix-functions/usleep.texi.
16634         * doc/pastposix-functions/vfork.texi: Renamed from
16635         doc/posix-functions/vfork.texi.
16636         * doc/pastposix-functions/wcswcs.texi: Renamed from
16637         doc/posix-functions/wcswcs.texi.
16638         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
16639         (Function Substitutes): Update.
16640
16641 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16642
16643         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
16644         m4/strerror.m4.
16645
16646 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16647             Bruno Haible  <bruno@clisp.org>
16648
16649         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
16650
16651 2008-12-13  Bruno Haible  <bruno@clisp.org>
16652
16653         * modules/strtoull (Depends-on): Remove unistd.
16654
16655 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16656
16657         * modules/strtoull (Depends-on): Add stdlib.
16658
16659 2008-12-11  Simon Josefsson  <simon@josefsson.org>
16660
16661         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
16662
16663 2008-12-10  Jim Meyering  <meyering@redhat.com>
16664
16665         gl_ASSERT: don't say assertions are disabled when they're not
16666         * m4/assert.m4 (gl_ASSERT): Do not make configure report
16667         "checking whether to enable assertions... no", when they are in
16668         fact enabled.  This is solely a bug in the output of configure.
16669         In spite of saying "no", NDEBUG was not defined in that case.
16670         Also, as noted by Eric Blake, leave assertions enabled upon
16671         --enable-assert=INVALID.
16672
16673 2008-12-10  Bruno Haible  <bruno@clisp.org>
16674
16675         Change MODULES.html to refer to POSIX:2008 where possible.
16676         * MODULES.html.sh (POSIX2008_URL): New variable.
16677         (posix_headers): Remove sys/timeb, ucontext.
16678         (posix2001_headers): New variable.
16679         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
16680         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
16681         index, makecontext, mktemp, pthread_attr_getstackaddr,
16682         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
16683         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
16684         (posix2001_functions): New variable.
16685         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
16686         otherwise.
16687
16688 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16689
16690         add missing include to parse-duration.c
16691         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
16692         * modules/parse-duration (Depends-on): Add xalloc.
16693
16694         fix sed script reading maint.mk
16695         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
16696         (syntax-check-rules): Use it.
16697
16698 2008-12-09  Bruno Haible  <bruno@clisp.org>
16699
16700         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
16701         MacOS X 10.4/PowerPC.
16702         Reported by Simon Josefsson.
16703
16704 2008-12-08  Jim Meyering  <meyering@redhat.com>
16705
16706         work around mingw's lack of some S_IF definitions
16707         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
16708         Reported by Simon Josefsson.
16709
16710 2008-12-08  Bruno Haible  <bruno@clisp.org>
16711
16712         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
16713         applied to variables. Needed on MacOS X 10.4/PowerPC.
16714         Reported by Simon Josefsson.
16715
16716 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
16717         and Eric Blake  <ebb9@byu.net>
16718
16719         assert: honor --enable-assert
16720         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
16721         order to honor --enable-assert, rather than treating it as a
16722         synonym for --disable-assert.
16723
16724 2008-12-08  Jim Meyering  <meyering@redhat.com>
16725
16726         * lib/posixtm.c: Remove now-useless declaration of mktime.
16727
16728         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
16729
16730 2008-12-07  Bruno Haible  <bruno@clisp.org>
16731
16732         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
16733         test_once): Mark functions as static.
16734         * tests/test-tls.c (test_tls): Likewise.
16735
16736 2008-12-07  Bruno Haible  <bruno@clisp.org>
16737
16738         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
16739         iconv_register_autodetect.
16740
16741 2008-12-07  Jim Meyering  <meyering@redhat.com>
16742
16743         posixtm.c: avoid a warning
16744         * lib/posixtm.c (posixtime): Don't initialize tm0.
16745         It's no longer needed to placate gcc4's -Wuninitialized,
16746         and the attempt to placate would elicit a new warning.
16747
16748         unicodeio.c: mark unused parameters
16749         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
16750         (fallback_failure_callback): Likewise.
16751
16752 2008-12-07  Bruno Haible  <bruno@clisp.org>
16753
16754         * gnulib-tool (func_create_testdir): When building the tests
16755         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
16756         Reported by Simon Josefsson.
16757
16758 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16759
16760         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
16761
16762 2008-12-06  Bruno Haible  <bruno@clisp.org>
16763
16764         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
16765         Suggested by Eric Blake.
16766
16767 2008-12-06  Bruno Haible  <bruno@clisp.org>
16768
16769         Fix a c-stack test failure on MacOS X.
16770         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
16771         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
16772         handler for SIGBUS as well.
16773         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
16774         install a signal handler for SIGBUS as well.
16775         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
16776
16777 2008-12-06  Bruno Haible  <bruno@clisp.org>
16778
16779         Advocacy documentation.
16780         * doc/gnulib-intro.texi (Benefits): New section.
16781         * doc/gnulib.texi: Update.
16782
16783 2008-12-06  Bruno Haible  <bruno@clisp.org>
16784
16785         Document the 'manywarnings' module.
16786         * doc/manywarnings.texi: New file.
16787         * doc/gnulib.texi: Include it.
16788
16789 2008-12-05  Eric Blake  <ebb9@byu.net>
16790
16791         tests: silence some gcc warnings
16792         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
16793         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
16794         type mismatches.
16795
16796 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16797             Bruno Haible  <bruno@clisp.org>
16798
16799         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
16800
16801 2008-11-29  Jim Meyering  <meyering@redhat.com>
16802
16803         unicodeio.c: mark unused parameters
16804         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
16805         (fallback_failure_callback): Likewise.
16806
16807         fts: fix a thinko
16808         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
16809         (set_stat_type): Return S_IF*-valued "type" directly.
16810         Prompted by James Youngman's spotting a related bug.
16811         Confirmed by further testing through find.
16812
16813         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
16814         * lib/fts.c (D_TYPE): Define.
16815         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
16816         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
16817         (s_ifmt_shift_bits): New function.
16818         (set_stat_type): New function.
16819         (fts_build): When not calling fts_stat, call set_stat_type
16820         to propagate dirent.d_type info to fts_read caller.
16821         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
16822         fts_statp->st_mode type information may be valid.
16823
16824 2008-11-28  Simon Josefsson  <simon@josefsson.org>
16825
16826         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
16827         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
16828         <sds@gnu.org>.
16829
16830 2008-11-20  Bruno Haible  <bruno@clisp.org>
16831
16832         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
16833         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
16834         INCLUDE_NEXT.
16835         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
16836         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
16837         * modules/math (Makefile.am): Substitute
16838         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
16839         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16840
16841 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
16842             Bruno Haible  <bruno@clisp.org>
16843
16844         * lib/stdint.in.h: Define all type macros so that their expansion is
16845         a single typedef'ed token. Fixes a compilation failure in Boost which
16846         does "using ::int8_t;".
16847
16848 2008-11-18  Simon Josefsson  <simon@josefsson.org>
16849
16850         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
16851         gl_MANYWARN_ALL_GCC.
16852         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
16853         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
16854         * modules/manywarnings: New file.
16855         * MODULES.html.sh: Mention manywarnings module.
16856
16857 2008-11-18  Bruno Haible  <bruno@clisp.org>
16858
16859         * doc/gnulib-tool.texi (Unit tests): New section.
16860
16861 2008-11-18  Simon Josefsson  <simon@josefsson.org>
16862
16863         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
16864         paths like 'lib/po/foo.po'.
16865
16866 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16867
16868         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
16869         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
16870
16871 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16872
16873         * m4/warnings.m4: Use CPPFLAGS to really check whether the
16874         parameter works.
16875
16876 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16877
16878         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
16879
16880 2008-11-17  Bruce Korb  <bkorb@gnu.org>
16881
16882         * modules/parse-duration-tests: New file.
16883         * tests/test-parse-duration.sh: New file.
16884         * tests/test-parse-duration.c: New file.
16885
16886         New module 'parse-duration'.
16887         * lib/parse-duration.h: New file.
16888         * lib/parse-duration.c: New file.
16889         * modules/parse-duration: New file.
16890
16891 2008-11-17  Bruno Haible  <bruno@clisp.org>
16892
16893         * tests/test-select-out.sh: Comment out the first pipe test.
16894         Reported by Simon Josefsson.
16895
16896 2008-11-17  Bruno Haible  <bruno@clisp.org>
16897
16898         * modules/getaddrinfo (Depends-on): Add servent, hostent.
16899         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
16900         gl_HOSTENT.
16901
16902 2008-11-17  Bruno Haible  <bruno@clisp.org>
16903
16904         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
16905         -lnetwork and -lnet. Needed for Haiku and BeOS.
16906
16907 2008-11-16  Bruno Haible  <bruno@clisp.org>
16908
16909         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
16910
16911 2008-11-16  Bruno Haible  <bruno@clisp.org>
16912
16913         Avoid test failure on Haiku.
16914         * tests/test-fsync.c: Include <errno.h>.
16915         (main): Don't require that fsync (0) fails.
16916
16917 2008-11-15  Bruno Haible  <bruno@clisp.org>
16918
16919         New module 'hostent'.
16920         * modules/hostent: New file.
16921         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
16922
16923 2008-11-15  Bruno Haible  <bruno@clisp.org>
16924
16925         New module 'servent'.
16926         * modules/servent: New file.
16927         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
16928
16929 2008-11-15  Bruno Haible  <bruno@clisp.org>
16930
16931         Avoid generating same test program with two different rules.
16932         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
16933         test-frexp to test-frexp-nolibm.
16934         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
16935         test-frexpl to test-frexpl-nolibm.
16936
16937 2008-11-15  Bruno Haible  <bruno@clisp.org>
16938
16939         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
16940         $(FREXPL_LIBM).
16941
16942 2008-11-15  Bruno Haible  <bruno@clisp.org>
16943
16944         * lib/netdb.in.h: Activate the definitions also when the system's
16945         <netdb.h> has 'struct addrinfo'.
16946         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
16947         EAI_OVERFLOW or AI_NUMERICSERV.
16948         * doc/posix-headers/netdb.texi: Document the problem.
16949
16950 2008-11-15  Bruno Haible  <bruno@clisp.org>
16951
16952         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
16953
16954         Make the 'sched' module work on platforms where <sched.h> exists but
16955         is incomplete (such as Haiku).
16956         * lib/sched.in.h; Include the system's <sched.h> if it exists.
16957         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
16958         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
16959         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
16960         HAVE_STRUCT_SCHED_PARAM.
16961         * modules/sched (Depends-on): Add include_next.
16962         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
16963         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
16964         * doc/posix-headers/sched.texi: Document the issue.
16965
16966 2008-11-13  Jim Meyering  <meyering@redhat.com>
16967
16968         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
16969         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
16970         test would fail due to the difference in the Report bugs to ...
16971         line.  The expected address is empty, "<>", while the actual
16972         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
16973
16974 2008-11-12  Bruno Haible  <bruno@clisp.org>
16975
16976         lstat: don't compile lstat.c on systems lacking lstat
16977         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
16978         which don't have lstat; this is handled by lib/sys_stat.in.h already.
16979         Reported by Daniel P. Berrange via Jim Meyering.
16980
16981 2008-11-12  Jim Meyering  <meyering@redhat.com>
16982
16983         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
16984
16985 2008-11-12  Simon Josefsson  <simon@josefsson.org>
16986
16987         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
16988         instead.
16989
16990 2008-11-12  Bruno Haible  <bruno@clisp.org>
16991
16992         * lib/unicodeio.c: Include unistr.h.
16993         (utf8_wctomb): Remove function.
16994         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
16995
16996 2008-11-12  Simon Josefsson  <simon@josefsson.org>
16997
16998         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
16999         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
17000         <bruno@clisp.org>.
17001         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
17002
17003 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17004
17005         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
17006         * doc/gnulib.texi: Add section for warnings.
17007
17008 2008-11-11  Bruno Haible  <bruno@clisp.org>
17009
17010         * lib/sockets.h: Add a comment.
17011
17012 2008-11-11  Karl Berry  <karl@gnu.org>
17013
17014         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
17015
17016 2008-11-11  Eric Blake  <ebb9@byu.net>
17017
17018         fdl.texi: avoid git symlinks
17019         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
17020
17021 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17022
17023         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
17024
17025 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17026
17027         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
17028         (gl_WARN_ADD): Substitute $2 if literal.
17029
17030 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17031
17032         * m4/warning.m4: Remove.
17033
17034 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17035
17036         * m4/warnings.m4: Almost complete rewrite. :-)
17037
17038 2008-11-10  Simon Josefsson  <simon@josefsson.org>
17039
17040         * modules/warnings: New module.
17041         * m4/warnings.m4: New file.
17042         * MODULES.html.sh: Mention warnings module.
17043         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
17044         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17045
17046 2008-11-10  Eric Blake  <ebb9@byu.net>
17047
17048         fdl.texi: make a symlink to the latest version
17049         * doc/standards.texi: Revert today's earlier change.
17050         * doc/fdl-1.2.texi: Rename from old fdl.texi...
17051         * doc/fdl.texi: ...and replace this with a symlink to the newer
17052         fdl-1.3.texi.
17053
17054 2008-11-10  Bruno Haible  <bruno@clisp.org>
17055
17056         * tests/test-select-fd.c (main): Accept the result file name as fourth
17057         argument.
17058         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
17059         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
17060
17061 2008-11-10  Bruno Haible  <bruno@clisp.org>
17062
17063         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
17064         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
17065         as autoconf-substituted macros.
17066         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
17067         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
17068         gl_NETDB_H_DEFAULTS. Set these variables.
17069         * modules/netdb (Makefile.am): Substitute these variables.
17070
17071 2008-11-10  Eric Blake  <ebb9@byu.net>
17072
17073         standards.texi: include correct file for FDL 1.3
17074         * doc/standards.texi (GNU Free Documentation License): Change
17075         include file to pull in FDL 1.3, not 1.2.
17076
17077         fdl.texi: revert accidental change to license
17078         * doc/fdl.texi: This is FDL 1.2, not 1.3.
17079
17080 2008-11-10  Bruno Haible  <bruno@clisp.org>
17081
17082         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
17083         cross-compiling guesses also when the native compile gives no result.
17084
17085 2008-11-10  Bruno Haible  <bruno@clisp.org>
17086
17087         * lib/spawni.c (__spawni): Force variable into the stack.
17088
17089 2008-11-10  Bruno Haible  <bruno@clisp.org>
17090
17091         Add support for Haiku.
17092         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
17093         glibc and BeOS, but also on Haiku.
17094         * lib/fpurge.c (fpurge): Likewise.
17095         * lib/freadable.c (freadable): Likewise.
17096         * lib/freadahead.c (freadahead): Likewise.
17097         * lib/freading.c (freading): Likewise.
17098         * lib/freadptr.c (freadptr): Likewise.
17099         * lib/freadseek.c (freadptrinc): Likewise.
17100         * lib/fseeko.c (rpl_fseeko): Likewise.
17101         * lib/fseterr.c (fseterr): Likewise.
17102         * lib/fwritable.c (fwritable): Likewise.
17103         * lib/fwriting.c (fwriting): Likewise.
17104         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
17105
17106 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17107
17108         * lib/config.charset: Treat Haiku like BeOS.
17109
17110 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17111
17112         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
17113         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
17114
17115 2008-11-08  Bruno Haible  <bruno@clisp.org>
17116
17117         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
17118         AC_CACHE_CHECK.
17119
17120 2008-11-08  Bruno Haible  <bruno@clisp.org>
17121
17122         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
17123
17124 2008-11-08  Bruno Haible  <bruno@clisp.org>
17125
17126         * tests/test-select-fd.c: New file.
17127         * tests/test-select-in.sh: New file.
17128         * tests/test-select-out.sh: New file.
17129         * tests/test-select-stdin.c: New file.
17130         * modules/select-tests (Files): Add the new files.
17131         (Depends-on): Add gettimeofday.
17132         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
17133         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
17134         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
17135
17136 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
17137             Bruno Haible  <bruno@clisp.org>
17138
17139         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
17140
17141 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
17142
17143         * build-aux/pmccabe2html: Added support for C++ source files.
17144
17145 2008-11-05  Ben Pfaff  <blp@gnu.org>
17146
17147         Fix lib/close.c build on Windows.
17148         * modules/close (Files): Add lib/w32sock.h.
17149
17150 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
17151
17152         Accept Bison's NEWS format.
17153         * build-aux/announce-gen (print_news_deltas): Tweak
17154         $re_prefix.
17155
17156 2008-11-04  Bruno Haible  <bruno@clisp.org>
17157
17158         * modules/random_r (Maintainer): Add glibc.
17159
17160 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17161
17162         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
17163         by karl@freefriends.org (Karl Berry).
17164         * doc/alloca.texi: Likewise.
17165         * doc/c-ctype.texi: Likewise.
17166         * doc/c-strcase.texi: Likewise.
17167         * doc/c-strcaseeq.texi: Likewise.
17168         * doc/c-strcasestr.texi: Likewise.
17169         * doc/c-strstr.texi: Likewise.
17170         * doc/c-strtod.texi: Likewise.
17171         * doc/c-strtold.texi: Likewise.
17172         * doc/ctime.texi: Likewise.
17173         * doc/error.texi: Likewise.
17174         * doc/fdl.texi: Likewise.
17175         * doc/gcd.texi: Likewise.
17176         * doc/getdate.texi: Likewise.
17177         * doc/gnulib-intro.texi: Likewise.
17178         * doc/gnulib-tool.texi: Likewise.
17179         * doc/gnulib.texi: Likewise.
17180         * doc/inet_ntoa.texi: Likewise.
17181         * doc/maintain.texi: Likewise.
17182         * doc/make-stds.texi: Likewise.
17183         * doc/quote.texi: Likewise.
17184         * doc/regexprops-generic.texi: Likewise.
17185         * doc/standards.texi: Likewise.
17186         * doc/verify.texi: Likewise.
17187         * doc/visibility.texi: Likewise.
17188         * doc/gnulib.texi (GNU Free Documentation License): Include
17189         fdl-1.3.texi instead of fdl.texi.
17190
17191 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17192
17193         * doc/fdl-1.3.texi: New file, from
17194         <http://www.gnu.org/licenses/fdl-1.3.texi>.
17195         * modules/fdl-1.3: Add.
17196         * MODULES.html.sh: Add fdl-1.3.
17197
17198 2008-11-03  Bruno Haible  <bruno@clisp.org>
17199
17200         Make determination of absolute name of header file work with AIX xlc.
17201         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
17202         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
17203         preprocessing.
17204         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17205         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
17206
17207 2008-11-03  Simon Josefsson  <simon@josefsson.org>
17208
17209         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
17210         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
17211         <ludo@gnu.org>.
17212
17213 2008-11-02  Bruno Haible  <bruno@clisp.org>
17214
17215         Mark 'strpbrk' obsolete.
17216         * modules/strpbrk (Status, Notice): New sections.
17217         * modules/strtok_r (Depends-on): Add strpbrk.
17218
17219 2008-11-02  Bruno Haible  <bruno@clisp.org>
17220
17221         Mark 'strdup' obsolete.
17222         * modules/strdup (Status, Notice): New sections.
17223         * modules/findprog (Depends-on): Add strdup.
17224         * modules/getaddrinfo (Depends-on): Likewise.
17225         * modules/localename (Depends-on): Likewise.
17226         * modules/relocatable-lib (Depends-on): Likewise.
17227         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
17228         * modules/relocatable-prog (Depends-on): Likewise.
17229         * modules/trim (Depends-on): Likewise.
17230         * modules/unictype/gen-ctype (Depends-on): Likewise.
17231         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17232
17233 2008-11-02  Bruno Haible  <bruno@clisp.org>
17234
17235         Mark 'strcspn' obsolete.
17236         * modules/strcspn (Status, Notice): New sections.
17237
17238 2008-11-02  Bruno Haible  <bruno@clisp.org>
17239
17240         Mark 'rmdir' obsolete.
17241         * modules/rmdir (Status, Notice): New sections.
17242         * modules/clean-temp (Depends-on): Add rmdir.
17243         * modules/openat (Depends-on): Likewise.
17244
17245 2008-11-02  Bruno Haible  <bruno@clisp.org>
17246
17247         Mark 'raise' obsolete.
17248         * modules/raise (Status, Notice): New sections.
17249         (Include): Specify <signal.h>.
17250         * modules/stdio (Depends-on): Add raise.
17251         * modules/write (Depends-on): Likewise.
17252
17253 2008-11-02  Bruno Haible  <bruno@clisp.org>
17254
17255         Mark 'memset' obsolete.
17256         * modules/memset (Status, Notice): New sections.
17257
17258 2008-11-02  Bruno Haible  <bruno@clisp.org>
17259
17260         Mark 'memmove' obsolete.
17261         * modules/memmove (Status, Notice): New sections.
17262         * modules/argp (Depends-on): Add memmove.
17263         * modules/argz (Depends-on): Likewise.
17264         * modules/canonicalize (Depends-on): Likewise.
17265         * modules/canonicalize-lgpl (Depends-on): Likewise.
17266         * modules/fts (Depends-on): Likewise.
17267         * modules/getcwd (Depends-on): Likewise.
17268         * modules/human (Depends-on): Likewise.
17269         * modules/regex (Depends-on): Likewise.
17270         * modules/striconveh (Depends-on): Likewise.
17271         * modules/trim (Depends-on): Likewise.
17272         * modules/unistr/u8-move (Depends-on): Likewise.
17273         * modules/unistr/u16-move (Depends-on): Likewise.
17274         * modules/unistr/u32-move (Depends-on): Likewise.
17275
17276 2008-11-02  Bruno Haible  <bruno@clisp.org>
17277
17278         Mark 'memcpy' obsolete.
17279         * modules/memcpy (Status, Notice): New sections.
17280
17281 2008-11-02  Bruno Haible  <bruno@clisp.org>
17282
17283         Mark 'memcmp' obsolete.
17284         * modules/memcmp (Status, Notice): New sections.
17285         * modules/argmatch (Depends-on): Add memchr.
17286         * modules/backupfile (Depends-on): Likewise.
17287         * modules/c-strcasestr (Depends-on): Likewise.
17288         * modules/crypto/des (Depends-on): Likewise.
17289         * modules/csharpcomp (Depends-on): Likewise.
17290         * modules/fnmatch (Depends-on): Likewise.
17291         * modules/git-merge-changelog (Depends-on): Likewise.
17292         * modules/isnand (Depends-on): Likewise.
17293         * modules/isnand-nolibm (Depends-on): Likewise.
17294         * modules/isnanf (Depends-on): Likewise.
17295         * modules/isnanf-nolibm (Depends-on): Likewise.
17296         * modules/isnanl (Depends-on): Likewise.
17297         * modules/isnanl-nolibm (Depends-on): Likewise.
17298         * modules/mbchar (Depends-on): Likewise.
17299         * modules/memcoll (Depends-on): Likewise.
17300         * modules/quotearg (Depends-on): Likewise.
17301         * modules/regex (Depends-on): Likewise.
17302         * modules/relocatable-prog (Depends-on): Likewise.
17303         * modules/same (Depends-on): Likewise.
17304         * modules/signbit (Depends-on): Likewise.
17305         * modules/strcasestr-simple (Depends-on): Likewise.
17306         * modules/unictype/gen-ctype (Depends-on): Likewise.
17307         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17308         * modules/uniname/uniname (Depends-on): Likewise.
17309         * modules/unistr/u8-cmp (Depends-on): Likewise.
17310
17311 2008-11-02  Bruno Haible  <bruno@clisp.org>
17312
17313         Mark 'memchr' obsolete.
17314         * modules/memchr (Status, Notice): New sections.
17315         * modules/argp (Depends-on): Add memchr.
17316         * modules/base64 (Depends-on): Likewise.
17317         * modules/c-strcasestr (Depends-on): Likewise.
17318         * modules/chdir-long (Depends-on): Likewise.
17319         * modules/fnmatch (Depends-on): Likewise.
17320         * modules/getsubopt (Depends-on): Likewise.
17321         * modules/git-merge-changelog (Depends-on): Likewise.
17322         * modules/glob (Depends-on): Likewise.
17323         * modules/strcasestr-simple (Depends-on): Likewise.
17324         * modules/strnlen (Depends-on): Likewise.
17325
17326 2008-11-02  Bruno Haible  <bruno@clisp.org>
17327
17328         Mark 'atexit' obsolete.
17329         * modules/atexit (Status, Notice): New sections.
17330         * modules/chdir-long (Depends-on): Add atexit.
17331         * modules/wait-process (Depends-on): Likewise.
17332
17333 2008-11-02  Bruno Haible  <bruno@clisp.org>
17334
17335         * gnulib-tool: New option --with-obsolete.
17336         (func_usage): Document it.
17337         (func_modules_transitive_closure): Drop obsolete dependencies if
17338         incobsolete is not true.
17339         (func_import): Read and save the incobsolete variable to the cache.
17340
17341 2008-11-02  Bruno Haible  <bruno@clisp.org>
17342
17343         * modules/TEMPLATE-EXTENDED: New field 'Status'.
17344         * gnulib-tool: New option --extract-status.
17345         (func_usage): Document it.
17346         (sed_extract_prog): Recognize it.
17347         (func_get_status): New function.
17348
17349 2008-10-30  Simon Josefsson  <simon@josefsson.org>
17350
17351         * modules/sockets (License): Change from LGPL to LGPLv2+.
17352
17353 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17354
17355         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
17356
17357 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17358
17359         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17360         Mention times and sys_times.
17361         * modules/sys_times, modules/sys_times-tests: New modules.
17362         * modules/times, modules/times-tests: Likewise
17363         * m4/sys_times_h.m4: New file.
17364         * lib/sys_times.in.h: Likewise
17365         * lib/times.c: Likewise.
17366         * tests/test-sys_times.c: Likewise.
17367         * tests/test-times.c: Likewise.
17368         * doc/posix-headers/sys_times.texi: Update.
17369         * doc/posix-functions/times.texi: Update.
17370
17371 2008-10-28  Jim Meyering  <meyering@redhat.com>
17372
17373         * modules/tempname (Depends-on): Add lstat.
17374
17375         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
17376
17377 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17378
17379         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
17380         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
17381         using idiom used elsewhere in gnulib.
17382
17383 2008-10-27  Jim Meyering  <meyering@redhat.com>
17384
17385         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
17386
17387 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17388
17389         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
17390         TESTS_ENVIRONMENT, for shell scripts that needs to call built
17391         programs.
17392         * tests/test-argp-2.sh: Use $EXEEXT when needed.
17393
17394 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17395
17396         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
17397
17398 2008-10-27  Bruno Haible  <bruno@clisp.org>
17399
17400         * tests/test-lstat.c: Include <stdio.h>.
17401
17402 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17403
17404         * modules/lstat-tests: New module.
17405         * tests/test-lstat.c: New file.
17406
17407 2008-10-26  Jim Meyering  <meyering@redhat.com>
17408
17409         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
17410
17411 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17412             Bruno Haible  <bruno@clisp.org>
17413
17414         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
17415         * modules/configmake (Include): Add a note that the include must come
17416         after all system headers.
17417         * lib/javaversion.c: Include configmake.h after all other includes.
17418
17419 2008-10-26  Bruno Haible  <bruno@clisp.org>
17420
17421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
17422         HAVE_STRUCT_RANDOM_DATA to 1.
17423         (gl_STDLIB_H): Simplify.
17424
17425 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17426
17427         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
17428         substitute HAVE_STRUCT_RANDOM_DATA.
17429         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
17430         random_data.
17431         * modules/stdlib (Makefile.am): Substitute
17432         HAVE_STRUCT_RANDOM_DATA.
17433
17434 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17435
17436         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
17437         * doc/gnulib-intro.texi (Copyright): Likewise.
17438
17439 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17440
17441         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
17442         findings.
17443
17444 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
17445             Bruno Haible  <bruno@clisp.org>
17446
17447         * lib/unistd.in.h: Include <winsock2.h>.
17448         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
17449         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
17450         Provide dummy declarations.
17451         (gethostname): Override.
17452         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
17453         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
17454         gl_PREREQ_SYS_H_WINSOCK2.
17455         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
17456         * doc/posix-functions/gethostname.texi: More details.
17457
17458 2008-10-25  Bruno Haible  <bruno@clisp.org>
17459
17460         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
17461         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
17462         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
17463
17464         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
17465         here ...
17466         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
17467         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
17468         gl_UNISTD_H_DEFAULTS.
17469
17470 2008-10-25  Eric Blake  <ebb9@byu.net>
17471
17472         signbit: avoid spurious compiler failure
17473         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
17474         declarations inside function.
17475
17476 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17477             Bruno Haible  <bruno@clisp.org>
17478
17479         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
17480         * modules/random_r (Depends-on): Add stdint.
17481
17482 2008-10-24  Bruno Haible  <bruno@clisp.org>
17483
17484         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
17485         Eggert.
17486         * modules/strerror (License): Likewise.
17487
17488 2008-10-24  Jim Meyering  <meyering@redhat.com>
17489
17490         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
17491         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
17492
17493 2008-10-24  Eric Blake  <ebb9@byu.net>
17494
17495         getgroups: fix compilation when getgroups is available
17496         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
17497         but with <config.h> override of getgroups disabled.
17498
17499 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17500
17501         * doc/gnulib.texi (Header files): Add note about C++ problems.
17502         Explained by Bruno Haible <bruno@clisp.org>.
17503
17504 2008-10-23  Bruno Haible  <bruno@clisp.org>
17505
17506         Define a dummy SA_NODEFER macro on Interix.
17507         * lib/signal.in.h (SA_NODEFER): Define fallback.
17508         Reported by Aleksey Cheusov <cheusov@tut.by> via
17509         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
17510
17511 2008-10-23  Bruno Haible  <bruno@clisp.org>
17512
17513         * modules/freadahead (License): Change to LGPLv2+.
17514         Suggested by Simon Josefsson.
17515
17516 2008-10-23  Jim Meyering  <meyering@redhat.com>
17517
17518         random_r: new module
17519         * modules/random_r: New file.
17520         * m4/random_r.m4: New file.
17521         * lib/random_r.c: New file, from glibc.
17522         * modules/random_r-tests: New file.
17523         * tests/test-random_r.c: New file.
17524         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
17525          Declare.
17526         (RAND_MAX): Define.
17527         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
17528         * modules/stdlib: Substitute them, too.
17529         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
17530         * doc/glibc-functions/initstate_r.texi: Mention the new module.
17531         * doc/glibc-functions/random_r.texi: Likewise.
17532         * doc/glibc-functions/setstate_r.texi: Likewise.
17533         * doc/glibc-functions/srandom_r.texi: Likewise.
17534         * config/srclist.txt: Mention it.
17535
17536 2008-10-23  David Lutterkort  <lutter@redhat.com>
17537
17538         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
17539         link requirement
17540
17541 2008-10-23  Jim Meyering  <meyering@redhat.com>
17542
17543         selinux-h: mark parameters of stub functions as intentionally unused
17544         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
17545         * lib/se-context.in.h: Likewise.
17546
17547 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17548
17549         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
17550
17551 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17552
17553         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
17554
17555 2008-10-22  Eric Blake  <ebb9@byu.net>
17556
17557         glthread/thread: avoid compiler warning
17558         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
17559         Add unreachable abort to silence compiler.
17560
17561 2008-10-22  Eric Blake  <ebb9@byu.net>
17562
17563         netdb: also supply struct addrinfo for cygwin 1.5.x
17564         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
17565         older cygwin.
17566         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
17567         cygwin.
17568         * doc/posix-headers/netdb.texi (netdb.h): Document this.
17569
17570 2008-10-22  Bruno Haible  <bruno@clisp.org>
17571
17572         * users.txt: Update entry about pspp.
17573
17574 2008-10-21  Bruno Haible  <bruno@clisp.org>
17575
17576         Simplification.
17577         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
17578         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
17579
17580         Simplification.
17581         * lib/ioctl.c (ioctl): Don't undefine.
17582         * lib/socket.c (socket): Don't undefine.
17583
17584         Remove unused module indicator macros.
17585         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
17586         GNULIB_$1 as a C macro.
17587
17588         * doc/posix-functions/close.texi: Undo last change.
17589         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
17590         Windows platforms.
17591
17592 2008-10-21  Bruno Haible  <bruno@clisp.org>
17593
17594         Add gethostname() declaration to <unistd.h>.
17595         * lib/unistd.in.h (gethostname): New declaration.
17596         * lib/gethostname.c: Include <unistd.h>.
17597         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
17598         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
17599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
17600         and HAVE_GETHOSTNAME.
17601         * modules/gethostname (Depends-on): Add unistd.
17602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17603         (Include): Specify <unistd.h>.
17604         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
17605         HAVE_GETHOSTNAME.
17606         * tests/test-gethostname.c: Include <unistd.h> first.
17607
17608 2008-10-21  Bruno Haible  <bruno@clisp.org>
17609
17610         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
17611         * modules/select-tests (Depends-on): Likewise.
17612         Reported by Simon Josefsson.
17613
17614 2008-10-21  Simon Josefsson  <simon@josefsson.org>
17615
17616         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
17617         * lib/accept.c: New file, based on winsock.c.
17618         * lib/bind.c: New file, based on winsock.c.
17619         * lib/connect.c: New file, based on winsock.c.
17620         * lib/getpeername.c: New file, based on winsock.c.
17621         * lib/getsockname.c: New file, based on winsock.c.
17622         * lib/getsockopt.c: New file, based on winsock.c.
17623         * lib/ioctl.c: New file, based on winsock.c.
17624         * lib/listen.c: New file, based on winsock.c.
17625         * lib/recv.c: New file, based on winsock.c.
17626         * lib/recvfrom.c: New file, based on winsock.c.
17627         * lib/send.c: New file, based on winsock.c.
17628         * lib/sendto.c: New file, based on winsock.c.
17629         * lib/setsockopt.c: New file, based on winsock.c.
17630         * lib/shutdown.c: New file, based on winsock.c.
17631         * lib/socket.c: New file, based on winsock.c.
17632         * lib/w32sock.h: New file, based on winsock.c.
17633         * lib/winsock.c: Remove file.
17634         * modules/accept: Likewise.
17635         * modules/bind: Likewise.
17636         * modules/connect: Likewise.
17637         * modules/getpeername: Likewise.
17638         * modules/getsockname: Likewise.
17639         * modules/getsockopt: Likewise.
17640         * modules/ioctl: Likewise.
17641         * modules/listen: Likewise.
17642         * modules/recv: Likewise.
17643         * modules/recvfrom: Likewise.
17644         * modules/send: Likewise.
17645         * modules/sendto: Likewise.
17646         * modules/setsockopt: Likewise.
17647         * modules/shutdown: Likewise.
17648         * modules/socket: Use socket.c instead of winsock.c.
17649         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
17650         * doc/posix-functions/accept.texi: Doc fix.
17651         * doc/posix-functions/bind.texi: Doc fix.
17652         * doc/posix-functions/close.texi: Doc fix.
17653         * doc/posix-functions/connect.texi: Doc fix.
17654         * doc/posix-functions/getpeername.texi: Doc fix.
17655         * doc/posix-functions/getsockname.texi: Doc fix.
17656         * doc/posix-functions/getsockopt.texi: Doc fix.
17657         * doc/posix-functions/ioctl.texi: Doc fix.
17658         * doc/posix-functions/listen.texi: Doc fix.
17659         * doc/posix-functions/recv.texi: Doc fix.
17660         * doc/posix-functions/recvfrom.texi: Doc fix.
17661         * doc/posix-functions/send.texi: Doc fix.
17662         * doc/posix-functions/sendto.texi: Doc fix.
17663         * doc/posix-functions/setsockopt.texi: Doc fix.
17664         * doc/posix-functions/shutdown.texi: Doc fix.
17665         * doc/posix-functions/socket.texi: Doc fix.
17666
17667 2008-10-20  Bruno Haible  <bruno@clisp.org>
17668
17669         Take into account the role of SIGABRT_COMPAT on Windows 2008.
17670         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
17671         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
17672         as an alias for SIGABRT.
17673         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
17674         (sigaction): Map it to SIGABRT.
17675         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
17676
17677 2008-10-20  Bruno Haible  <bruno@clisp.org>
17678
17679         * lib/fts.c: Don't include lstat.h.
17680         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
17681
17682         Move the lstat() declaration to <sys/stat.h>.
17683         * lib/lstat.h: Remove file.
17684         * lib/sys_stat.in.h: Add special invocation convention.
17685         (lstat): New declaration.
17686         * lib/lstat.c (orig_lstat): New function.
17687         (rpl_lstat): Use orig_lstat instead of lstat.
17688         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
17689         AC_C_INLINE. Set REPLACE_LSTAT.
17690         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
17691         and REPLACE_LSTAT.
17692         * modules/lstat (Files): Remove lib/lstat.h.
17693         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
17694         (Include): Specify <sys/stat.h> instead of lstat.h.
17695         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
17696         REPLACE_LSTAT.
17697         * NEWS: Mention the change.
17698
17699 2008-10-20  Bruno Haible  <bruno@clisp.org>
17700
17701         * modules/posix_spawn-tests: New file.
17702         * tests/test-posix_spawn3.c: New file.
17703
17704 2008-10-20  Bruno Haible  <bruno@clisp.org>
17705
17706         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
17707         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
17708         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
17709         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
17710         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
17711
17712 2008-10-20  Bruno Haible  <bruno@clisp.org>
17713
17714         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
17715         of posix_spawn on AIX 5.3.
17716
17717 2008-10-20  Bruno Haible  <bruno@clisp.org>
17718
17719         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
17720
17721 2008-10-20  Bruno Haible  <bruno@clisp.org>
17722
17723         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
17724         of AC_LANG_PROGRAM.
17725
17726 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17727
17728         * lib/netdb.in.h: Don't define GNU specific constants until they
17729         are supported or needed.  Reported by Bruno Haible
17730         <bruno@clisp.org>.
17731
17732 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17733
17734         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
17735
17736 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17737
17738         * lib/getaddrinfo.h: Remove file.
17739         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
17740         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
17741         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
17742         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
17743         * modules/netdb: Substitute GNULIB_GETADDRINFO.
17744         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
17745         * tests/test-getaddrinfo.c: Likewise.
17746         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
17747         * NEWS: Mention change.
17748
17749 2008-10-19  Bruno Haible  <bruno@clisp.org>
17750
17751         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
17752
17753 2008-10-19  Bruno Haible  <bruno@clisp.org>
17754
17755         * lib/wait-process.c: Include simply <sys/wait.h>.
17756         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
17757         WIFSTOPPED): Remove fallback definitions.
17758         * modules/wait-process (Depends-on): Add sys_wait.
17759
17760         New module 'sys_wait'.
17761         * modules/sys_wait: New file.
17762         * lib/sys_wait.in.h: New file, partially copied from
17763         lib/wait-process.c.
17764         * m4/sys_wait_h.m4: New file.
17765         * doc/posix-headers/sys_wait.texi: Mention the new module.
17766
17767 2008-10-19  Bruno Haible  <bruno@clisp.org>
17768
17769         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
17770
17771 2008-10-19  Bruno Haible  <bruno@clisp.org>
17772
17773         Assume that waitpid() fills an 'int' status, not a 'union wait'.
17774         * lib/wait-process.c (WAIT_T): Remove type.
17775         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
17776         (wait_subprocess): Update.
17777
17778 2008-10-19  Bruno Haible  <bruno@clisp.org>
17779
17780         New module 'atoll'.
17781         * modules/atoll: New file.
17782         * lib/stdlib.in.h (atoll): New declaration.
17783         * lib/atoll.c: New file, from glibc with modifications.
17784         * m4/atoll.m4: New file.
17785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
17786         HAVE_ATOLL.
17787         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
17788         * doc/posix-functions/atoll.texi: Mention the new module.
17789
17790 2008-10-19  Bruno Haible  <bruno@clisp.org>
17791
17792         Add strtoull() declaration to <stdlib.h>.
17793         * lib/stdlib.in.h (strtoull): New declaration.
17794         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
17795         Set HAVE_STRTOULL.
17796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
17797         HAVE_STRTOULL.
17798         * modules/strtoull (Depends-on): Add stdlib.
17799         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17800         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
17801         HAVE_STRTOULL.
17802
17803 2008-10-19  Bruno Haible  <bruno@clisp.org>
17804
17805         Add strtoll() declaration to <stdlib.h>.
17806         * lib/stdlib.in.h (strtoll): New declaration.
17807         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
17808         Set HAVE_STRTOLL.
17809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
17810         HAVE_STRTOLL.
17811         * modules/strtoll (Depends-on): Add stdlib.
17812         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17813         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
17814
17815 2008-10-19  Bruno Haible  <bruno@clisp.org>
17816
17817         * modules/bcopy (Depends-on): Add strings.
17818         (Include): Specify <strings.h>.
17819
17820 2008-10-19  Bruno Haible  <bruno@clisp.org>
17821
17822         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
17823
17824 2008-10-19  Bruno Haible  <bruno@clisp.org>
17825
17826         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
17827         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
17828         mingw.
17829
17830 2008-10-19  Bruno Haible  <bruno@clisp.org>
17831
17832         * lib/atanl.c: Don't include isnanl.h.
17833         * lib/cosl.c: Likewise.
17834         * lib/ldexpl.c: Likewise.
17835         * lib/logl.c: Likewise.
17836         * lib/sinl.c: Likewise.
17837         * lib/sqrtl.c: Likewise.
17838         * lib/tanl.c: Likewise.
17839
17840         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
17841         * lib/isnanf.h: Remove file.
17842         * lib/isnand.h: Remove file.
17843         * lib/isnanl.h: Remove file.
17844         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
17845         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
17846         macros.
17847         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
17848         HAVE_ISNANF, don't define it as a C macro.
17849         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
17850         HAVE_ISNAND, don't define it as a C macro.
17851         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
17852         HAVE_ISNANL, don't define it as a C macro.
17853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
17854         HAVE_ISNAN[FDL].
17855         * modules/isnanf (Files): Remove lib/isnanf.h.
17856         (Depends-on): Add math.
17857         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17858         (Include): Specify <math.h> instead of isnanf.h.
17859         * modules/isnand (Files): Remove lib/isnand.h.
17860         (Depends-on): Add math.
17861         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17862         (Include): Specify <math.h> instead of isnand.h.
17863         * modules/isnanl (Files): Remove lib/isnanl.h.
17864         (Depends-on): Add math.
17865         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17866         (Include): Specify <math.h> instead of isnanl.h.
17867         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
17868         HAVE_ISNAN[FDL].
17869         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
17870         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
17871         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
17872         * NEWS: Mention the change.
17873
17874 2008-10-18  Bruno Haible  <bruno@clisp.org>
17875
17876         Add getusershell(), setusershell(), endusershell() declarations to
17877         <unistd.h>.
17878         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
17879         declarations.
17880         * lib/getusershell.c: Include unistd.h.
17881         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
17882         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
17883         HAVE_GETUSERSHELL.
17884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
17885         and HAVE_GETUSERSHELL.
17886         * modules/getusershell (Depends-on): Add unistd, extensions.
17887         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17888         (Include): Specify <unistd.h>.
17889         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
17890         HAVE_GETUSERSHELL.
17891
17892 2008-10-18  Bruno Haible  <bruno@clisp.org>
17893
17894         Add a getloadavg() declaration to <stdlib.h>.
17895         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
17896         getloadavg declaration.
17897         (getloadavg): New declaration.
17898         * lib/getloadavg.c: Include <stdlib.h> first.
17899         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
17900         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
17901         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
17902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
17903         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
17904         * modules/getloadavg (Depends-on): Add stdlib, extensions.
17905         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17906         (Include): Specify <stdlib.h>.
17907         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
17908         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
17909
17910 2008-10-18  Bruno Haible  <bruno@clisp.org>
17911
17912         * lib/dirchownmod.c: Don't include lchmod.h.
17913
17914         Move the lchmod() declaration to <sys/stat.h>.
17915         * lib/lchmod.h: Remove file.
17916         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
17917         (lchmod): New declaration, moved here from lib/lchown.h.
17918         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
17919         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
17920         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
17921         and HAVE_LCHMOD.
17922         * modules/lchmod (Files): Remove lib/lchmod.h.
17923         (Depends-on): Add sys_stat, extensions.
17924         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
17925         (Include): Specify <sys/stat.h> instead of lchmod.h.
17926         * modules/sys_stat (Depends-on): Add link-warning.
17927         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
17928         definition of GL_LINK_WARNING.
17929         * NEWS: Mention the change.
17930
17931 2008-10-18  Bruno Haible  <bruno@clisp.org>
17932
17933         * lib/fchdir.c: Don't include dirfd.h.
17934         * lib/fts.c: Likewise.
17935         * lib/getcwd.c: Likewise.
17936         * lib/glob.c: Likewise.
17937
17938         Move the dirfd() declaration to <dirent.h>.
17939         * lib/dirfd.h: Remove file.
17940         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
17941         (dirfd): New declaration.
17942         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
17943         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
17944         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
17945         HAVE_DECL_DIRFD.
17946         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
17947         HAVE_DECL_DIRFD.
17948         * modules/dirfd (Files): Remove lib/dirfd.h.
17949         (Depends-on): Add dirent, extensions.
17950         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
17951         (Include): Specify <dirent.h> instead of dirfd.h.
17952         * modules/dirent (Depends-on): Add link-warning.
17953         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
17954         definition of GL_LINK_WARNING.
17955         * NEWS: Mention the change.
17956
17957 2008-10-18  Bruno Haible  <bruno@clisp.org>
17958
17959         Move the euidaccess() declaration to <unistd.h>.
17960         * lib/euidaccess.h: Remove file.
17961         * lib/unistd.in.h (euidaccess): New declaration.
17962         * lib/euidaccess.c: Don't include euidaccess.h.
17963         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
17964         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
17965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
17966         and HAVE_EUIDACCESS.
17967         * modules/euidaccess (Files): Remove lib/euidaccess.h.
17968         (Depends-on): Add unistd.
17969         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17970         (Include): Specify <unistd.h> instead of euidaccess.h.
17971         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
17972         HAVE_EUIDACCESS.
17973         * NEWS: Mention the change.
17974
17975 2008-10-18  Bruno Haible  <bruno@clisp.org>
17976
17977         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
17978
17979         Move the getdomainname() declaration to <unistd.h>.
17980         * lib/getdomainname.h: Remove file.
17981         * lib/unistd.in.h (getdomainname): New declaration.
17982         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
17983         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17984         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
17985         HAVE_GETDOMAINNAME.
17986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17987         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
17988         * modules/getdomainname (Files): Remove lib/getdomainname.h.
17989         (Depends-on): Add unistd, extensions.
17990         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17991         (Includes): Specify <unistd.h> instead of getdomainname.h.
17992         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
17993         HAVE_GETDOMAINNAME.
17994         * NEWS: Mention the change.
17995
17996 2008-10-18  Bruno Haible  <bruno@clisp.org>
17997
17998         * modules/dirent: New file.
17999         * m4/dirent_h.m4: New file.
18000         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
18001         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
18002         * modules/fchdir (Files): Remove lib/dirent.in.h.
18003         (Depends-on): Add dirent.
18004         (Makefile.am): Move rules to modules/dirent.
18005         * doc/posix-headers/dirent.texi: Mention the new module.
18006
18007 2008-10-18  Bruno Haible  <bruno@clisp.org>
18008
18009         Avoid -Wunused-parameter warnings in public gnulib header files.
18010         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
18011         macro.
18012         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
18013
18014 2008-10-18  Bruno Haible  <bruno@clisp.org>
18015
18016         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
18017         * doc/glibc-functions/error.texi: Mention the module 'error'.
18018         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
18019         * doc/glibc-functions/getdomainname.texi: Mention the module
18020         'getdomainname'.
18021         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
18022         * doc/glibc-functions/getpagesize.texi: Mention the module
18023         'getpagesize'.
18024         * doc/glibc-functions/getusershell.texi: Mention the module
18025         'getusershell'.
18026         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
18027         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
18028         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
18029         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
18030         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
18031         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
18032         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
18033         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
18034         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
18035         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
18036         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
18037         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
18038         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
18039         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
18040
18041 2008-10-17  Bruno Haible  <bruno@clisp.org>
18042
18043         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
18044         HP-UX and IRIX, use -0.0L.
18045         * tests/test-ceill.c (minus_zero): Likewise.
18046         * tests/test-floorl.c (minus_zero): Likewise.
18047         * tests/test-frexpl.c (minus_zero): Likewise.
18048         * tests/test-isnan.c (minus_zerol): Likewise.
18049         * tests/test-isnanl.h (minus_zero): Likewise.
18050         * tests/test-ldexpl.c (minus_zero): Likewise.
18051         * tests/test-roundl.c (minus_zero): Likewise.
18052         * tests/test-signbit.c (minus_zerol): Likewise.
18053         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18054         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18055         * tests/test-truncl.c (minus_zero): Likewise.
18056         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18057         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18058         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
18059         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18060
18061 2008-10-17  Bruno Haible  <bruno@clisp.org>
18062
18063         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
18064         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
18065         that it gets activated only for gcc >= 3.0.
18066         * lib/dirent.in.h: Likewise.
18067         * lib/errno.in.h: Likewise.
18068         * lib/fcntl.in.h: Likewise.
18069         * lib/float.in.h: Likewise.
18070         * lib/iconv.in.h: Likewise.
18071         * lib/inttypes.in.h: Likewise.
18072         * lib/locale.in.h: Likewise.
18073         * lib/math.in.h: Likewise.
18074         * lib/netdb.in.h: Likewise.
18075         * lib/netinet_in.in.h: Likewise.
18076         * lib/search.in.h: Likewise.
18077         * lib/signal.in.h: Likewise.
18078         * lib/spawn.in.h: Likewise.
18079         * lib/stdarg.in.h: Likewise.
18080         * lib/stdint.in.h: Likewise.
18081         * lib/stdio.in.h: Likewise.
18082         * lib/stdlib.in.h: Likewise.
18083         * lib/string.in.h: Likewise.
18084         * lib/strings.in.h: Likewise.
18085         * lib/sys_file.in.h: Likewise.
18086         * lib/sys_ioctl.in.h: Likewise.
18087         * lib/sys_select.in.h: Likewise.
18088         * lib/sys_socket.in.h: Likewise.
18089         * lib/sys_stat.in.h: Likewise.
18090         * lib/sys_time.in.h: Likewise.
18091         * lib/sysexits.in.h: Likewise.
18092         * lib/time.in.h: Likewise.
18093         * lib/unistd.in.h: Likewise.
18094         * lib/wchar.in.h: Likewise.
18095         * lib/wctype.in.h: Likewise.
18096         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18097
18098 2008-10-17  Jim Meyering  <meyering@redhat.com>
18099
18100         ignore-value: don't depend on inline module
18101         * modules/ignore-value (Depends-on): Remove 'inline'.
18102         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
18103         Suggestion from Bruno Haible.
18104
18105 2008-10-17  Bruno Haible  <bruno@clisp.org>
18106
18107         New implementation of condition variables for Win32.
18108         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
18109         (gl_linked_waitqueue_t): New type.
18110         (gl_cond_t): Use it.
18111         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
18112         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
18113         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
18114         (glthread_cond_init_func, glthread_cond_wait_func,
18115         glthread_cond_timedwait_func, glthread_cond_signal_func,
18116         glthread_cond_broadcast_func, glthread_cond_destroy_func):
18117         Reimplemented on the basis of gl_linked_waitqueue_t.
18118         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
18119         gl_waitqueue_t.
18120         (gl_rwlock_t): Update.
18121         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
18122
18123 2008-10-17  Simon Josefsson  <simon@josefsson.org>
18124
18125         * modules/recvfrom (Depends-on): Add dependency on getpeername.
18126         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18127
18128 2008-10-17  Jim Meyering  <meyering@redhat.com>
18129
18130         ignore-value: new module
18131         * modules/ignore-value: New file.
18132         * lib/ignore-value.h: New file.
18133         * MODULES.html.sh (Compiler warning management): New section,
18134         just for this module.  More to come.
18135
18136 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18137
18138         open-safer.c: avoid 'signed and unsigned in conditional...' warning
18139         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
18140         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
18141
18142 2008-10-16  Jim Meyering  <meyering@redhat.com>
18143
18144         openat-die.c: avoid 'no previous prototype' warning
18145         * lib/openat-die.c: Include "openat.h".
18146         Reported by Reuben Thomas <rrt@sc3d.org>.
18147
18148 2008-10-16  Simon Josefsson  <simon@josefsson.org>
18149
18150         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
18151         * lib/netdb.in.h: Fix typo.
18152         Reported by Bruno Haible  <bruno@clisp.org>
18153
18154         * lib/netdb.in.h: Include sys/socket.h for platforms without
18155         netdb.h, to get structures like hostent on MinGW.
18156         * modules/netdb (Depends-on): Add sys_socket.
18157
18158 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18159
18160         * modules/netdb, modules/netdb-tests: New file.
18161         * m4/netdb_h.m4: New file.
18162         * lib/netdb.in.h: Add, currently just an empty file pending
18163         definitions.
18164         * tests/test-netdb.c: New file.
18165         * doc/posix-headers/netdb.texi: Mention that we replace it if
18166         needed.
18167         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18168         netdb.
18169
18170 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18171
18172         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
18173         with code.
18174
18175 2008-10-13  Bruno Haible  <bruno@clisp.org>
18176
18177         * lib/glthread/cond.c (glthread_cond_wait_func,
18178         glthread_cond_timedwait_func): Add a comment.
18179
18180 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18181
18182         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
18183         * tests/test-select.c: Likewise,
18184
18185 2008-10-13  Bruno Haible  <bruno@clisp.org>
18186
18187         * lib/glthread/cond.c (glthread_cond_wait_func,
18188         glthread_cond_timedwait_func): Fix variable name.
18189         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18190
18191 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
18192
18193         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
18194         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
18195         struct sockaddr.sa_len.
18196         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
18197
18198 2008-10-13  Simon Josefsson  <simon@josefsson.org>
18199
18200         * build-aux/pmccabe2html: Add css and css_url parameters.
18201
18202 2008-10-12  Bruno Haible  <bruno@clisp.org>
18203
18204         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
18205         calling aclx_get.
18206         Reported by Rainer Tammer <tammer@tammer.net>.
18207
18208 2008-10-12  Bruno Haible  <bruno@clisp.org>
18209
18210         Use msvcrt aware primitives for creation/termination of Win32 threads.
18211         * lib/glthread/thread.c: Include <process.h>.
18212         (glthread_create_func): Use _beginthreadex instead of CreateThread.
18213         (wrapper_func): Update signature.
18214         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
18215
18216 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18217             Bruno Haible  <bruno@clisp.org>
18218
18219         Provide a Win32 implementation of the 'cond' module.
18220         * lib/glthread/cond.h [USE_WIN32]: New implementation.
18221         * lib/glthread/cond.c (glthread_cond_init_func,
18222         glthread_cond_wait_func, glthread_cond_timedwait_func,
18223         glthread_cond_signal_func, glthread_cond_broadcast_func,
18224         glthread_cond_destroy_func) [USE_WIN32]: New functions.
18225         * modules/cond (Dependencies): Add gettimeofday.
18226
18227 2008-10-11  Bruno Haible  <bruno@clisp.org>
18228
18229         Make sleep work on older versions of mingw.
18230         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
18231         only whether it exists.
18232         * doc/posix-functions/sleep.texi: Mention the problem with older
18233         versions of mingw.
18234
18235 2008-10-11  Bruno Haible  <bruno@clisp.org>
18236
18237         New module 'shutdown'.
18238         * modules/shutdown: New file.
18239         * lib/sys_socket.in.h (shutdown): New declaration.
18240         * lib/winsock.c (shutdown): New function.
18241         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18242         GNULIB_SHUTDOWN.
18243         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
18244         * doc/posix-functions/shutdown.texi: Document the new module.
18245
18246 2008-10-11  Jim Meyering  <meyering@redhat.com>
18247
18248         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
18249
18250 2008-10-11  Bruno Haible  <bruno@clisp.org>
18251
18252         New module 'fclose'.
18253         * modules/fclose: New file.
18254         * lib/stdio.in.h (fclose): New declaration.
18255         * lib/fclose.c: New file.
18256         * m4/fclose.m4: New file.
18257         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
18258         REPLACE_FCLOSE.
18259         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
18260         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
18261         REPLACE_FCLOSE.
18262         * modules/close (Depends-on): fclose.
18263         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
18264
18265 2008-10-11  Bruno Haible  <bruno@clisp.org>
18266
18267         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
18268         set errno and don't call _close.
18269
18270 2008-10-10  Bruno Haible  <bruno@clisp.org>
18271
18272         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
18273         ACL, not afterwards. Fixes test failure on Cygwin.
18274
18275 2008-10-09  Ben Pfaff  <blp@gnu.org>
18276
18277         * build-aux/announce-gen: Fix gnulib version related part of usage
18278         message.  Die with a useful error message if no tarballs are
18279         found.
18280
18281 2008-10-10  Jim Meyering  <meyering@redhat.com>
18282
18283         bootstrap: use git's --depth=N option only if it's supported
18284         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
18285         recognize the --depth option.  Reported by Pádraig Brady.
18286
18287 2008-10-09  Bruno Haible  <bruno@clisp.org>
18288
18289         New module 'ioctl'.
18290         * modules/ioctl: New file.
18291         * lib/sys_socket.in.h (ioctl): Remove declaration.
18292         * lib/winsock.c: Include <sys/ioctl.h>.
18293         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
18294         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18295         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
18296         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
18297         * doc/posix-functions/ioctl.texi: Mention the new module.
18298
18299 2008-10-09  Bruno Haible  <bruno@clisp.org>
18300
18301         New module 'sys_ioctl'.
18302         * lib/sys_ioctl.in.h: New file.
18303         * m4/sys_ioctl_h.m4: New file.
18304         * modules/sys_ioctl: New file.
18305         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
18306
18307 2008-10-09  Bruno Haible  <bruno@clisp.org>
18308
18309         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
18310         * lib/winsock.c: Include <stdarg.h>.
18311         (rpl_ioctl): Change to second argument 'int' and then varargs.
18312
18313 2008-10-09  Bruno Haible  <bruno@clisp.org>
18314
18315         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
18316         when the sys_socket module is present and the system has <winsock2.h>.
18317
18318 2008-10-09  Bruno Haible  <bruno@clisp.org>
18319
18320         * doc/posix-functions/close.texi: Mention module 'close' instead of
18321         module 'sys_socket'.
18322
18323 2008-10-09  Bruno Haible  <bruno@clisp.org>
18324
18325         * doc/glibc-headers/sys_ioctl.texi: New file.
18326         * doc/gnulib.texi: Include it.
18327
18328 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18329             Bruno Haible  <bruno@clisp.org>
18330
18331         Combine the two replacements of 'close'.
18332         * lib/sys_socket.in.h (close): Define to a reminder to include
18333         <unistd.h>.
18334         (_gl_close_fd_maybe_socket): New declaration.
18335         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
18336         * lib/winsock.c (close): Remove undefinition.
18337         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
18338         needed for the gnulib module 'close'.
18339         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
18340         define to an error symbol or to a warning, if suitable.
18341         * lib/close.c: Include <sys/socket.h>.
18342         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
18343         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
18344         UNISTD_H_HAVE_WINSOCK2_H.
18345         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
18346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18347         UNISTD_H_HAVE_WINSOCK2_H.
18348         * modules/sys_socket (Files): Add m4/unistd_h.m4.
18349         (configure.ac): Set a module indicator.
18350         (Makefile.am): Substitute GNULIB_CLOSE.
18351         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
18352         * modules/poll-tests (Depends-on): Add close.
18353         * modules/select-tests (Depends-on): Likewise.
18354
18355 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18356             Bruno Haible  <bruno@clisp.org>
18357
18358         New module 'close'.
18359         * modules/close: New file.
18360         * lib/unistd.in.h (close): Move declaration out of the
18361         FCHDIR_REPLACEMENT scope.
18362         (_gl_unregister_fd): New declaration.
18363         * lib/close.c: New file.
18364         * lib/fchdir.c (rpl_close): Remove function.
18365         * m4/close.m4: New file.
18366         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18367         close.
18368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
18369         REPLACE_CLOSE.
18370         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
18371         REPLACE_CLOSE.
18372         * modules/fchdir (Depends-on): Add close.
18373
18374 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18375             Bruno Haible  <bruno@clisp.org>
18376
18377         * lib/fcntl.in.h (open): Simplify conditionals.
18378         (_gl_register_fd): New declaration.
18379         * lib/fchdir.c (rpl_open): Remove function.
18380         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
18381         also.
18382         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
18383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18384         open.
18385
18386 2008-10-09  Jim Meyering  <meyering@redhat.com>
18387
18388         GNUmakefile: use the more name-space-friendly "_version"
18389         * top/GNUmakefile (_dummy): Update.
18390         (_version): Rename from "version".
18391
18392 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18393             Bruno Haible  <bruno@clisp.org>
18394
18395         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
18396         rpl_close.
18397         (_gl_register_fd): New function, extracted from rpl_open.
18398         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
18399         (rpl_open, rpl_opendir): Use _gl_register_fd.
18400
18401 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18402
18403         Fix organization of 'open' replacement.
18404         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
18405         (gl_FUNC_OPEN): Use it.
18406         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
18407
18408 2008-10-08  Bruno Haible  <bruno@clisp.org>
18409
18410         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
18411
18412 2008-10-08  Simon Josefsson  <simon@josefsson.org>
18413
18414         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
18415         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
18416         listen).
18417
18418 2008-10-08  Eric Blake  <ebb9@byu.net>
18419
18420         GNUmakefile: add 'make version' target
18421         * top/GNUmakefile (_curr-ver): Split version update rules...
18422         (version): ...into a target.
18423
18424 2008-10-07  Bruno Haible  <bruno@clisp.org>
18425
18426         Use a more portable replacement expression for -0.0L.
18427         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
18428         instead of -0.0L. Fix m4 quotation.
18429
18430         * tests/test-signbit.c: Include <float.h>.
18431         (minus_zero): New variable.
18432         (test_signbitl): Use minus_zero instead of -zero.
18433         * modules/signbit-tests (Depends-on): Add float.
18434
18435         * tests/test-ceill.c: Include <float.h>.
18436         (zero): Remove variable.
18437         (minus_zero): New variable.
18438         (main): Use minus_zero instead of -zero.
18439         * modules/ceill-tests (Depends-on): Add float.
18440
18441         * tests/test-floorl.c: Include <float.h>.
18442         (zero): Remove variable.
18443         (minus_zero): New variable.
18444         (main): Use minus_zero instead of -zero.
18445         * modules/floorl-tests (Depends-on): Add float.
18446
18447         * tests/test-roundl.c: Include <float.h>.
18448         (zero): Remove variable.
18449         (minus_zero): New variable.
18450         (main): Use minus_zero instead of -zero.
18451         * modules/roundl-tests (Depends-on): Add float.
18452
18453         * tests/test-truncl.c: Include <float.h>.
18454         (zero): Remove variable.
18455         (minus_zero): New variable.
18456         (main): Use minus_zero instead of -zero.
18457         * modules/truncl-tests (Depends-on): Add float.
18458
18459         * tests/test-frexpl.c (zero): Remove variable.
18460         (minus_zero): New variable.
18461         (main): Use minus_zero instead of -zero.
18462         * modules/frexpl-tests (Depends-on): Add float.
18463
18464         * tests/test-isnan.c (zerol): Remove variable.
18465         (minus_zerol): New variable.
18466         (test_long_double): Use minus_zerol instead of -zerol.
18467         * modules/isnan-tests (Depends-on): Add float.
18468
18469         * tests/test-isnanl.h (zero): Remove variable.
18470         (minus_zero): New variable.
18471         (main): Use minus_zero instead of -zero.
18472         * modules/isnanl-nolibm-tests (Depends-on): Add float.
18473         * modules/isnanl-tests (Depends-on): Add float.
18474
18475         * tests/test-ldexpl.c (zero): Remove variable.
18476         (minus_zero): New variable.
18477         (main): Use minus_zero instead of -zero.
18478         * modules/ldexpl-tests (Depends-on): Add float.
18479
18480         * tests/test-snprintf-posix.h (zerol): Remove variable.
18481         (minus_zerol): New variable.
18482         (test_function): Use minus_zerol instead of -zerol.
18483         * modules/snprintf-posix-tests (Depends-on): Add float.
18484         * modules/vsnprintf-posix-tests (Depends-on): Add float.
18485
18486         * tests/test-sprintf-posix.h (zerol): Remove variable.
18487         (minus_zerol): New variable.
18488         (test_function): Use minus_zerol instead of -zerol.
18489         * modules/sprintf-posix-tests (Depends-on): Add float.
18490         * modules/vsprintf-posix-tests (Depends-on): Add float.
18491
18492         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
18493         (minus_zerol): New variable.
18494         (test_function): Use minus_zerol instead of -zerol.
18495         * modules/vasnprintf-posix-tests (Depends-on): Add float.
18496
18497         * tests/test-vasprintf-posix.c (zerol): Remove variable.
18498         (minus_zerol): New variable.
18499         (test_function): Use minus_zerol instead of -zerol.
18500         * modules/vasprintf-posix-tests (Depends-on): Add float.
18501
18502 2008-10-07  Simon Josefsson  <simon@josefsson.org>
18503
18504         * MODULES.html.sh (Support for building documentation): Mention
18505         pmccabe2html.  Sort entries.
18506
18507         Add pmccabe2html module, from gnupdf.
18508         * build-aux/pmccabe.css: New file.
18509         * build-aux/pmccabe2html: New file.
18510         * m4/pmccabe2html.m4: New file.
18511         * modules/pmccabe2html: New file.
18512
18513 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
18514
18515         flock: new module
18516         * MODULES.html.sh: Add to list of modules.
18517         * lib/flock.c: flock implementation for Windows and Unix systems
18518         which have fcntl.
18519         * doc/glibc-functions/flock.texi: Update documentation.
18520         * lib/sys_file.in.h: <sys/file.h> header file.
18521         * m4/flock.m4: M4 macros.
18522         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
18523         * modules/flock: flock module.
18524         * modules/flock-tests: flock tests module.
18525         * modules/sys_file: sys/file.h module.
18526         * tests/test-flock.c: test suite for flock.
18527
18528 2008-10-06  Jim Meyering  <meyering@redhat.com>
18529
18530         bootstrap: check for LT_INIT more portably still ;-)
18531         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
18532         Spotted by Bruno Haible.
18533
18534 2008-10-06  Eric Blake  <ebb9@byu.net>
18535
18536         test-signbit: avoid tripping Irix cc bug on -0.0L
18537         * tests/test-signbit.c (minus_zerol): Delete, and replace with
18538         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
18539         entire testsuite consistent and avoids an Irix 6.2 bug.
18540
18541 2008-10-05  Bruno Haible  <bruno@clisp.org>
18542             Jim Meyering  <jim@meyering.net>
18543
18544         Add an option for ignoring EPIPE during close_stdout.
18545         * lib/closeout.h: Include <stdbool.h>.
18546         (close_stdout_set_ignore_EPIPE): New declaration.
18547         * lib/closeout.c: Include <stdbool.h>.
18548         (ignore_EPIPE): New variable.
18549         (close_stdout_set_ignore_EPIPE): New function.
18550         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
18551         * lib/close-stream.c (close_stream): Mention the possible EPIPE
18552         failure.
18553         * modules/closeout (Depends-on): Add stdbool.
18554
18555 2008-10-05  Bruno Haible  <bruno@clisp.org>
18556
18557         * modules/accept: New file.
18558         * modules/bind: New file.
18559         * modules/connect: New file.
18560         * modules/getpeername: New file.
18561         * modules/getsockname: New file.
18562         * modules/getsockopt: New file.
18563         * modules/listen: New file.
18564         * modules/recv: New file.
18565         * modules/recvfrom: New file.
18566         * modules/send: New file.
18567         * modules/sendto: New file.
18568         * modules/setsockopt: New file.
18569         * modules/socket: New file.
18570         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
18571         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
18572         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
18573         the particular module is requested. Add a link warning when the
18574         particular module is not requested.
18575         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
18576         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
18577         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
18578         the particular module is requested.
18579         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
18580         gl_SYS_SOCKET_H_DEFAULTS): New macros.
18581         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
18582         * modules/sys_socket (Depends-on): Add link-warning.
18583         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
18584         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
18585         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
18586         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
18587         GL_LINK_WARNING.
18588         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
18589         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
18590         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
18591         * doc/posix-functions/getpeername.texi: Mention the new module
18592         'getpeername'.
18593         * doc/posix-functions/getsockname.texi: Mention the new module
18594         'getsockname'.
18595         * doc/posix-functions/getsockopt.texi: Mention the new module
18596         'getsockopt'.
18597         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
18598         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
18599         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
18600         * doc/posix-functions/send.texi: Mention the new module 'send'.
18601         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
18602         * doc/posix-functions/setsockopt.texi: Mention the new module
18603         'setsockopt'.
18604         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
18605         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
18606         listen, connect, accept.
18607         * modules/select-tests (Depends-on): Likewise.
18608
18609 2008-10-05  Bruno Haible  <bruno@clisp.org>
18610
18611         * lib/winsock.c (strerror): Remove unused #undef.
18612         (rpl_close): Remove unused local variable.
18613
18614         * modules/sys_socket (Depends-on); Add errno.
18615
18616 2008-10-05  Bruno Haible  <bruno@clisp.org>
18617
18618         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
18619         (select): Add a link warning when the 'select' module is not used.
18620         * modules/sys_select (Depends-on): Add link-warning.
18621         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
18622         Suggested by Paolo Bonzini.
18623
18624 2008-10-05  Jim Meyering  <meyering@redhat.com>
18625
18626         bootstrap: check for LT_INIT more portably
18627         * build-aux/bootstrap: Avoid using grep -E, since it's not
18628         portable enough.  Suggestion from Bruno Haible.
18629
18630 2008-10-05  Bruno Haible  <bruno@clisp.org>
18631
18632         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
18633         as being fixed by gnulib.
18634
18635 2008-10-05  Bruno Haible  <bruno@clisp.org>
18636
18637         * modules/select-tests: New file, mostly copied from
18638         modules/sys_select-tests.
18639         * tests/test-select.c: New file, mostly copied from
18640         tests/test-sys_select.c.
18641         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
18642         * modules/sys_select-tests (Depends-on): Remove all dependencies.
18643         (Makefile.am): Remove test_sys_select_LDADD.
18644
18645         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
18646         to an undefined symbol, for an error message.
18647         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
18648         (gl_SYS_SELECT_H_DEFAULTS): New macro.
18649         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
18650         winsock-select.c here.
18651         * modules/sys_select (Files): Remove lib/winsock-select.c.
18652         (Depends-on): Remove alloca.
18653         (Makefile.am): Substitute GNULIB_SELECT.
18654         * modules/select: New file.
18655         * doc/posix-functions/select.texi: Update.
18656
18657 2008-10-05  Bruno Haible  <bruno@clisp.org>
18658
18659         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
18660         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
18661         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
18662         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
18663         getdtablesize.
18664         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18665         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18666
18667 2008-10-05  Bruno Haible  <bruno@clisp.org>
18668
18669         * modules/getdtablesize-tests: New file.
18670         * tests/test-getdtablesize.c: New file.
18671
18672         New module 'getdtablesize'.
18673         * lib/unistd.in.h (getdtablesize): New declaration.
18674         * lib/getdtablesize.c: New file.
18675         * m4/getdtablesize.m4: New file.
18676         * modules/getdtablesize: New file.
18677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18678         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
18679         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
18680         HAVE_GETDTABLESIZE.
18681         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
18682
18683 2008-10-05  Bruno Haible  <bruno@clisp.org>
18684
18685         * modules/sched (Makefile.am): Fix typo.
18686         Reported by Simon Josefsson.
18687
18688 2008-10-05  Jim Meyering  <meyering@redhat.com>
18689
18690         bootstrap: check for LT_INIT, too
18691         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
18692         are deprecated.  Suggestion from Ralf Wildenhues.
18693
18694 2008-10-05  Bruno Haible  <bruno@clisp.org>
18695
18696         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
18697         overriding them by ours.
18698         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
18699
18700 2008-10-05  Jim Meyering  <meyering@redhat.com>
18701
18702         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
18703         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
18704         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
18705
18706 2008-10-04  Bruno Haible  <bruno@clisp.org>
18707
18708         * modules/dup2 (License): Change to LGPLv2+.
18709         * modules/sleep (License): Likewise.
18710         * modules/perror (License): Likewise.
18711         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
18712         Blake.
18713         * modules/signal (License): Likewise.
18714         * modules/sigprocmask (License): Likewise.
18715         * modules/raise (License): Change to LGPLv2+, with approval by Jim
18716         Meyering.
18717
18718 2008-10-04  Bruno Haible  <bruno@clisp.org>
18719
18720         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
18721         Reported by Rainer Tammer <tammer@tammer.net>.
18722
18723 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
18724             Bruno Haible  <bruno@clisp.org>
18725
18726         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
18727         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
18728         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
18729
18730 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
18731
18732         filevercmp: new module
18733         * lib/filevercmp.h: New function filevercmp comparing version strings.
18734         * lib/filevercmp.c: Implementation of filevercmp function.
18735         * modules/filevercmp: Module metadata.
18736         * tests/test-filevercmp.c: Unit test for new module.
18737         * modules/filevercmp-tests: Unit test metadata.
18738         * MODULES.html.sh: Add filevercmp module.
18739
18740 2008-10-03  Bruno Haible  <bruno@clisp.org>
18741
18742         * lib/c-ctype.h: Add comment.
18743         Reported by Jim Meyering.
18744
18745 2008-10-02  Bruno Haible  <bruno@clisp.org>
18746
18747         * modules/posix_spawn-internal (Depends-on): Add 'open'.
18748
18749 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18750
18751         * build-aux/bootstrap: Allow renaming bootstrap, and change the
18752         name of bootstrap.conf accordingly.
18753
18754 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18755
18756         * build-aux/bootstrap: Install git-merge-changelog configuration
18757         items into .gitconfig if needed.
18758
18759 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18760
18761         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
18762         git repository, and initialize/update it accordingly.
18763
18764 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
18765
18766         * modules/fsync-tests: New file.
18767         * tests/test-fsync.c: New file.
18768
18769         New module 'fsync'.
18770         * lib/fsync.c: New file.
18771         * m4/fsync.m4: New file.
18772         * modules/fsync: New file.
18773         * lib/unistd.in.h (fsync): New declaration.
18774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
18775         GNULIB_FSYNC and HAVE_FSYNC.
18776         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
18777         * MODULES.html.sh (posix_functions): Add fsync.
18778         * doc/posix-functions/fsync.texi: Mention the new module.
18779
18780 2008-10-02  Jim Meyering  <meyering@redhat.com>
18781
18782         fts.c: sync with similar code from coreutils' remove.c
18783         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
18784         Guard also with "#if defined __linux__", since for now at least,
18785         this code is Linux-kernel-specific.
18786
18787 2008-10-02  Jim Meyering  <meyering@redhat.com>
18788
18789         fts: bug fixes
18790         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
18791         Include <sys/vfs.h>, not <sys/statfs.h>.
18792
18793         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
18794         Include <sys/vfs.h>, not <sys/statfs.h>.
18795
18796 2008-10-01  Bruno Haible  <bruno@clisp.org>
18797
18798         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
18799         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
18800         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
18801         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
18802         * doc/posix-functions/posix_spawnp.texi: Likewise.
18803         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
18804         whether posix_spawn actually works.
18805         * m4/pipe.m4 (gl_PIPE): Likewise.
18806         * modules/execute (Files): Add m4/posix_spawn.m4.
18807         * modules/pipe (Files): Add m4/posix_spawn.m4.
18808         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
18809
18810 2008-10-01  Jim Meyering  <meyering@redhat.com>
18811
18812         remove trailing spaces
18813         * NEWS: Likewise.
18814         * lib/poll.c (poll): Likewise.
18815         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
18816         * lib/winsock.c (rpl_close): Likewise.
18817         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
18818         * modules/yield: Likewise.
18819         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
18820         * tests/test-sys_select.c (connect_to_socket): Likewise.
18821
18822         fts.c: adjust a new interface to be more generally useful
18823         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
18824         (fts_build): Adjust caller.
18825
18826 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18827
18828         * modules/cond-tests: New file.
18829         * tests/test-cond.c: New file.
18830
18831 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18832             Bruno Haible  <bruno@clisp.org>
18833
18834         * modules/cond (Dependencies): Add errno, time.
18835         * lib/glthread/cond.h: Include <time.h>.
18836         (gl_cond_define, gl_cond_define_initialized): Use the same definition
18837         across platforms.
18838
18839 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18840             Bruno Haible  <bruno@clisp.org>
18841
18842         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
18843
18844 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18845             Bruno Haible  <bruno@clisp.org>
18846
18847         * modules/tls-tests (Depends-on): Add thread, yield.
18848         (configure.ac): Remove all checks.
18849         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
18850         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
18851         gl_thread_self): Remove definitions. Include glthread/thread.h and
18852         glthread/yield.h instead.
18853         (test_tls): Pass an additional NULL argument to gl_thread_join.
18854
18855 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18856             Bruno Haible  <bruno@clisp.org>
18857
18858         * modules/lock-tests (Depends-on): Add thread, yield.
18859         (configure.ac): Remove all checks.
18860         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
18861         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
18862         gl_thread_self): Remove definitions. Include glthread/thread.h and
18863         glthread/yield.h instead.
18864         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
18865         additional NULL argument to gl_thread_join.
18866
18867 2008-09-30  Bruno Haible  <bruno@clisp.org>
18868
18869         Fix the Win32 implementation of the 'thread' module.
18870         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
18871         pointer type.
18872         (gl_thread_self): Invoke gl_thread_self_func.
18873         (gl_thread_self_func): New declaration.
18874         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
18875         (do_init_self_key, init_self_key): New functions.
18876         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
18877         Remove some fields.
18878         (running_threads, running_lock): Remove variables.
18879         (get_current_thread_handle): New function.
18880         (gl_thread_self_func, wrapper_func, glthread_create_func,
18881         glthread_join_func, gl_thread_exit_func): Largely rewritten and
18882         simplified.
18883
18884 2008-09-30  Bruno Haible  <bruno@clisp.org>
18885
18886         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
18887         files.
18888
18889 2008-09-30  Jim Meyering  <meyering@redhat.com>
18890
18891         fts.m4: correct the test for statfs.f_type
18892         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
18893         when checking for statfs.f_type.
18894
18895 2008-09-15  Simon Josefsson  <simon@josefsson.org>
18896
18897         tests: avoid some compiler warnings
18898         * tests/test-memchr.c (main): Pass NULL indirectly.
18899         * tests/test-getdate.c (main): Remove unused variable 'ret'.
18900
18901 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
18902
18903         getdate.y: disallow countable dayshifts like "4 yesterday ago"
18904         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
18905         exactly specified dayshifts.
18906         (dayshift): New rule.
18907         (rel): Add dayshift.
18908         (relative_time_table) [tomorrow, yesterday, today, now]:
18909         Use tDAY_SHIFT in place of tDAY_UNIT.
18910         * tests/test-getdate.c: Add tests for now-disallowed countable
18911         dayshifts, e.g., "4 yesterday ago".
18912
18913 2008-09-29  Bruno Haible  <bruno@clisp.org>
18914
18915         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
18916         * tests/test-posix_spawn1.in.sh: Renamed from
18917         tests/test-posix_spawn.in.sh.
18918         * tests/test-posix_spawn2.c: New file.
18919         * tests/test-posix_spawn2.in.sh: New file.
18920         * modules/posix_spawnp-tests (Files): Update.
18921         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
18922
18923 2008-09-29  Bruno Haible  <bruno@clisp.org>
18924
18925         Propagate effects of putenv/setenv/unsetenv to child processes.
18926         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
18927         * lib/pipe.c (create_pipe): Likewise.
18928
18929 2008-09-29  Bruno Haible  <bruno@clisp.org>
18930
18931         Enable use of shell scripts as executables in mingw.
18932         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
18933         run the program as a shell script.
18934         * lib/pipe.c (create_pipe): Likewise.
18935         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
18936         resulting array.
18937
18938 2008-09-29  Eric Blake  <ebb9@byu.net>
18939
18940         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
18941
18942 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
18943
18944         * doc/posix-functions/accept.texi: Update mingw problems.
18945         * doc/posix-functions/bind.texi: Update mingw problems.
18946         * doc/posix-functions/close.texi: Update mingw problems.
18947         * doc/posix-functions/connect.texi: Update mingw problems.
18948         * doc/posix-functions/getpeername.texi: Update mingw problems.
18949         * doc/posix-functions/getsockname.texi: Update mingw problems.
18950         * doc/posix-functions/getsockopt.texi: Update mingw problems.
18951         * doc/posix-functions/ioctl.texi: Update mingw problems.
18952         * doc/posix-functions/listen.texi: Update mingw problems.
18953         * doc/posix-functions/recv.texi: Update mingw problems.
18954         * doc/posix-functions/recvfrom.texi: Update mingw problems.
18955         * doc/posix-functions/select.texi: Update mingw problems.
18956         * doc/posix-functions/send.texi: Update mingw problems.
18957         * doc/posix-functions/sendto.texi: Update mingw problems.
18958         * doc/posix-functions/setsockopt.texi: Update mingw problems.
18959         * doc/posix-functions/socket.texi: Update mingw problems.
18960
18961 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
18962             Bruno Haible  <bruno@clisp.org>
18963
18964         * lib/sys_select.in.h: Include sys/time.h.
18965         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
18966         * modules/sys_select: Depend on sys_time.
18967         * tests/test-sys_select.c: Test that sys/select.h defines struct
18968         timeval fully.
18969
18970 2008-09-29  Bruno Haible  <bruno@clisp.org>
18971
18972         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
18973         * lib/sys_select.in.h: Likewise.
18974
18975 2008-09-29  Bruno Haible  <bruno@clisp.org>
18976
18977         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
18978
18979 2008-09-29  Bruno Haible  <bruno@clisp.org>
18980
18981         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
18982         Set LIBSOCKET instead of augmenting LIBS.
18983         * modules/sockets (Link): New section.
18984         * modules/sockets-tests (test_sockets_LDADD): New variable.
18985         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
18986         * modules/poll-tests (test_poll_LDADD): New variable.
18987         * NEWS: Document the change.
18988
18989 2008-09-29  Bruno Haible  <bruno@clisp.org>
18990
18991         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
18992         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
18993         ARPA_INET_H directly.
18994         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
18995
18996 2008-09-28  Bruno Haible  <bruno@clisp.org>
18997
18998         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
18999         from gl_HEADER_SYS_SOCKET.
19000         (gl_HEADER_SYS_SOCKET): Invoke it.
19001         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19002
19003 2008-09-28  Bruno Haible  <bruno@clisp.org>
19004
19005         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
19006         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
19007         Needed on OSF/1 4.0.
19008
19009 2008-09-28  Bruno Haible  <bruno@clisp.org>
19010
19011         Override open more carefully.
19012         * lib/open.c (orig_open): New function.
19013         (rpl_open): Use orig_open instead of open.
19014         * lib/fcntl.in.h: Add special invocation convention.
19015         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
19016         (gl_FUNC_OPEN): Invoke it.
19017
19018         Override freopen more carefully.
19019         * lib/freopen.c (orig_freopen): New function.
19020         (rpl_freopen): Use orig_freopen instead of freopen.
19021         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
19022         (gl_FUNC_FREOPEN): Invoke it.
19023
19024         Override fopen more carefully.
19025         * lib/fopen.c (orig_fopen): New function.
19026         (rpl_fopen): Use orig_fopen instead of fopen.
19027         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
19028         (gl_FUNC_FOPEN): Invoke it.
19029         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
19030
19031 2008-09-28  Bruno Haible  <bruno@clisp.org>
19032
19033         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
19034         SIGPIPE.
19035
19036 2008-09-28  Bruno Haible  <bruno@clisp.org>
19037
19038         * tests/test-sigaction.c (handler, main): Disable the check whether
19039         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
19040         glibc systems with LinuxThreads.
19041
19042 2008-09-28  Bruno Haible  <bruno@clisp.org>
19043
19044         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
19045
19046         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
19047         with AIX xlc.
19048         * lib/fcntl.in.h (open): Likewise.
19049         Reported by Rainer Tammer <tammer@tammer.net>.
19050
19051 2008-09-28  Bruno Haible  <bruno@clisp.org>
19052
19053         * modules/posix_spawnp-tests: New file.
19054         * tests/test-posix_spawn.c: New file.
19055         * tests/test-posix_spawn.in.sh: New file.
19056
19057         New module 'posix_spawnp'.
19058         * modules/posix_spawnp: New file.
19059         * lib/spawnp.c: New file, from GNU libc with modifications.
19060         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
19061
19062         New module 'posix_spawn'.
19063         * modules/posix_spawn: New file.
19064         * lib/spawn.c: New file, from GNU libc with modifications.
19065         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19066
19067         New module 'posix_spawnattr_destroy'.
19068         * modules/posix_spawnattr_destroy: New file.
19069         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
19070         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
19071         module.
19072
19073         New module 'posix_spawnattr_setsigmask'.
19074         * modules/posix_spawnattr_setsigmask: New file.
19075         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
19076         modifications.
19077         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
19078         new module.
19079
19080         New module 'posix_spawnattr_getsigmask'.
19081         * modules/posix_spawnattr_getsigmask: New file.
19082         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
19083         modifications.
19084         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
19085         new module.
19086
19087         New module 'posix_spawnattr_setsigdefault'.
19088         * modules/posix_spawnattr_setsigdefault: New file.
19089         * lib/spawnattr_setdefault.c: New file, from GNU libc with
19090         modifications.
19091         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
19092         new module.
19093
19094         New module 'posix_spawnattr_getsigdefault'.
19095         * modules/posix_spawnattr_getsigdefault: New file.
19096         * lib/spawnattr_getdefault.c: New file, from GNU libc with
19097         modifications.
19098         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
19099         new module.
19100
19101         New module 'posix_spawnattr_setschedpolicy'.
19102         * modules/posix_spawnattr_setschedpolicy: New file.
19103         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
19104         modifications.
19105         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
19106         new module.
19107
19108         New module 'posix_spawnattr_getschedpolicy'.
19109         * modules/posix_spawnattr_getschedpolicy: New file.
19110         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
19111         modifications.
19112         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
19113         new module.
19114
19115         New module 'posix_spawnattr_setschedparam'.
19116         * modules/posix_spawnattr_setschedparam: New file.
19117         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
19118         modifications.
19119         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
19120         new module.
19121
19122         New module 'posix_spawnattr_getschedparam'.
19123         * modules/posix_spawnattr_getschedparam: New file.
19124         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
19125         modifications.
19126         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
19127         new module.
19128
19129         New module 'posix_spawnattr_setpgroup'.
19130         * modules/posix_spawnattr_setpgroup: New file.
19131         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
19132         modifications.
19133         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
19134         module.
19135
19136         New module 'posix_spawnattr_getpgroup'.
19137         * modules/posix_spawnattr_getpgroup: New file.
19138         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
19139         modifications.
19140         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
19141         module.
19142
19143         New module 'posix_spawnattr_setflags'.
19144         * modules/posix_spawnattr_setflags: New file.
19145         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
19146         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
19147         module.
19148
19149         New module 'posix_spawnattr_getflags'.
19150         * modules/posix_spawnattr_getflags: New file.
19151         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
19152         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
19153         module.
19154
19155         New module 'posix_spawnattr_init'.
19156         * modules/posix_spawnattr_init: New file.
19157         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
19158         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
19159         module.
19160
19161         New module 'posix_spawn_file_actions_destroy'.
19162         * modules/posix_spawn_file_actions_destroy: New file.
19163         * lib/spawn_faction_destroy.c: New file, from GNU libc with
19164         modifications.
19165         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
19166         the new module.
19167
19168         New module 'posix_spawn_file_actions_addopen'.
19169         * modules/posix_spawn_file_actions_addopen: New file.
19170         * lib/spawn_faction_addopen.c: New file, from GNU libc with
19171         modifications.
19172         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
19173         the new module.
19174
19175         New module 'posix_spawn_file_actions_adddup2'.
19176         * modules/posix_spawn_file_actions_adddup2: New file.
19177         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
19178         modifications.
19179         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
19180         the new module.
19181
19182         New module 'posix_spawn_file_actions_addclose'.
19183         * modules/posix_spawn_file_actions_addclose: New file.
19184         * lib/spawn_faction_addclose.c: New file, from GNU libc with
19185         modifications.
19186         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
19187         the new module.
19188
19189         New module 'posix_spawn_file_actions_init'.
19190         * modules/posix_spawn_file_actions_init: New file.
19191         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
19192         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
19193         new module.
19194
19195         New module 'posix_spawn-internal'.
19196         * modules/posix_spawn-internal: New file.
19197         * lib/spawn_int.h: New file, from GNU libc with modifications.
19198         * lib/spawni.c: New file, from GNU libc with modifications.
19199         * m4/posix_spawn.m4: New file.
19200
19201         New module 'spawn'.
19202         * modules/spawn: New file.
19203         * lib/spawn.in.h: New file, from GNU libc with modifications.
19204         * m4/spawn_h.m4: New file.
19205         * doc/posix-headers/spawn.texi: Mention the new module.
19206
19207 2008-09-28  Bruno Haible  <bruno@clisp.org>
19208
19209         * modules/sched-tests: New file.
19210         * tests/test-sched.c: New file.
19211
19212         New module 'sched'.
19213         * modules/sched: New file.
19214         * lib/sched.in.h: New file.
19215         * m4/sched_h.m4: New file.
19216         * doc/posix-headers/sched.texi: Mention the new module.
19217
19218 2008-09-27  Eric Blake  <ebb9@byu.net>
19219
19220         Fix previous patch, and tweak references to $0.
19221         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
19222         (func_version, func_gnulib_dir): Don't call this program
19223         gnulib-tool.
19224         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
19225         with using $0 in function.
19226         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
19227         (func_fatal_error): Reuse the name the user invoked us with.
19228
19229 2008-09-27  Bruno Haible  <bruno@clisp.org>
19230
19231         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
19232         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
19233         (gl_ICONV_H): Not here.
19234         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19235         instead of assigning ICONV_H directly.
19236
19237         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
19238         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
19239         WCHAR_H directly.
19240
19241 2008-09-27  Bruno Haible  <bruno@clisp.org>
19242
19243         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
19244         * modules/arpa_inet (Depends-on): Add link-warning.
19245         (Makefile.am): Insert the definition of GL_LINK-WARNING.
19246         * modules/unistd (Makefile.am): Likewise.
19247
19248 2008-09-26  Bruno Haible  <bruno@clisp.org>
19249
19250         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
19251         variables.
19252         (func_version): Essentially copied from gnulib-tool.
19253         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
19254         func_readlink): Copied from gnulib-tool.
19255
19256 2008-09-26  Bruno Haible  <bruno@clisp.org>
19257
19258         * gnulib-tool (func_version): Change directory to $gnulib_dir before
19259         invoking git-version-gen.
19260
19261 2008-09-26  Bruno Haible  <bruno@clisp.org>
19262
19263         * posix-modules: Update to directory names changed on 2008-01-19.
19264         Remove commas in output before splitting into words. No more need to
19265         avoid 'ftruncate' since 2007-02-19.
19266
19267 2008-09-26  Bruno Haible  <bruno@clisp.org>
19268
19269         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
19270
19271 2008-09-26  Bruno Haible  <bruno@clisp.org>
19272
19273         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
19274         * modules/fwriteerror (Depends-on): Add errno.
19275
19276 2008-09-26  Bruno Haible  <bruno@clisp.org>
19277
19278         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
19279         * tests/test-vc-list-files-cvs.sh: Likewise.
19280
19281 2008-09-26  Bruno Haible  <bruno@clisp.org>
19282
19283         * doc/posix-headers/sys_resource.texi: Reorder items.
19284
19285 2008-09-26  Jim Meyering  <meyering@redhat.com>
19286
19287         fts: tweak inode comparison function
19288         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
19289         inode numbers, as documented.
19290
19291         fts: sort dirent entries on inode number before traversing
19292         This avoids a quadratic, seek-related performance penalty when
19293         operating on a directory containing many entries (measurable at 10k;
19294         3.5 hours at 2 million entries with a cold cache) on certain types
19295         of file systems, including ext3 and ext4, but not tmpfs.
19296         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
19297         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
19298         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
19299         (fs_handles_readdir_ordered_dirents_efficiently): New function.
19300         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
19301         (fts_build): Set the stat.st_ino member from D_INO.
19302         If it is likely to be useful, sort dirent entries on inode number.
19303
19304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
19305         and the struct statfs.f_type member.
19306         * modules/fts (Depends-on): Add d-ino.
19307
19308 2008-09-26  Bruno Haible  <bruno@clisp.org>
19309
19310         * modules/sigpipe-die (Depends-on): Add sigpipe.
19311
19312         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
19313         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
19314         and GNULIB_STDIO_H_SIGPIPE are set.
19315         * lib/stdio-write.c: New file.
19316         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
19317         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19318         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19319         REPLACE_STDIO_WRITE_FUNCS.
19320         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
19321         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19322         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19323         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19324         * modules/stdio (Files): Add lib/stdio-write.c.
19325         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
19326         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19327         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19328         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19329         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
19330         REPLACE_FPRINTF_POSIX.
19331         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
19332         REPLACE_PRINTF_POSIX.
19333         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
19334         REPLACE_VFPRINTF_POSIX.
19335         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
19336         REPLACE_VPRINTF_POSIX.
19337         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
19338         SIGPIPE issue.
19339         * doc/posix-functions/fputc.texi: Likewise.
19340         * doc/posix-functions/fputs.texi: Likewise.
19341         * doc/posix-functions/fwrite.texi: Likewise.
19342         * doc/posix-functions/printf.texi: Likewise.
19343         * doc/posix-functions/putc.texi: Likewise.
19344         * doc/posix-functions/putchar.texi: Likewise.
19345         * doc/posix-functions/puts.texi: Likewise.
19346         * doc/posix-functions/vfprintf.texi: Likewise.
19347         * doc/posix-functions/vprintf.texi: Likewise.
19348
19349         * modules/safe-write (Depends-on): Add write.
19350
19351         * modules/sigpipe-tests: New file.
19352         * tests/test-sigpipe.c: New file.
19353         * tests/test-sigpipe.sh: New file.
19354
19355         * modules/write: New file.
19356         * lib/unistd.in.h: Include <sys/types.h>.
19357         (write): New declaration.
19358         * lib/write.c: New file.
19359         * m4/write.m4: New file.
19360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19361         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
19362         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
19363         GNULIB_WRITE, REPLACE_WRITE.
19364         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
19365         and the SIGPIPE issue.
19366
19367         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
19368         (raise): New declaration.
19369         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
19370         (ext_signal): New function.
19371         (rpl_raise): New function.
19372         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
19373         GNULIB_SIGNAL_H_SIGPIPE.
19374         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
19375         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
19376
19377         * modules/sigpipe: New file.
19378         * m4/sigpipe.m4: New file.
19379
19380 2008-09-25  Derek Price  <derek@ximbiot.com>
19381             Bruno Haible  <bruno@clisp.org>
19382
19383         * gnulib-tool (func_import): Report all license incompatibilities, not
19384         just the first one.
19385
19386 2008-09-25  Bruno Haible  <bruno@clisp.org>
19387
19388         * gnulib-tool (func_import): When computing the edits, consider not
19389         only the Makefile.ams that exist but also those that will be generated.
19390
19391 2008-09-25  Simon Josefsson  <simon@josefsson.org>
19392
19393         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
19394         fixes gnulib-tool --test warning about duplicate dependency.
19395
19396 2008-09-25  Bruno Haible  <bruno@clisp.org>
19397
19398         * gnulib-tool: Don't ask the user to perform edits in the generated
19399         Makefile.ams.
19400         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
19401         apply to the Makefile.am being generated.
19402         (func_emit_tests_Makefile_am): Execute edits that apply to the
19403         Makefile.am being generated.
19404         (func_import): Setup list of Makefile.am edits before emitting the
19405         Makefile.ams, not at the end.
19406         (func_create_testdir): Update.
19407         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19408
19409 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19410
19411         * gnulib-tool (func_import): Store the --tests-base option in the
19412         comment in gnulib-cache.m4.
19413
19414 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
19415
19416         * NEWS: Document increased portability that sys_select now provides.
19417
19418         * lib/sys_select.in.h: Install select wrapper.
19419         * lib/sys_socket.in.h: Use more descriptive name when there is no
19420         select wrapper.
19421         * lib/winsock-select.c: New.
19422         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
19423         Require gl_HEADER_SYS_SOCKET.
19424         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
19425         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
19426         * tests/test-sys_select.c: Add functional tests.
19427
19428 2008-09-24  Eric Blake  <ebb9@byu.net>
19429
19430         open, fopen: close fd leak in last patch
19431         * lib/open.c (rpl_open): Close fd before returning error.
19432         * lib/fopen.c (rpl_fopen): Close fd before returning error.
19433         * doc/posix-functions/open.texi (open): Document that Irix also
19434         has the bug.
19435         * doc/posix-functions/fopen.texi (fopen): Likewise.
19436         Reported by Paolo Bonzini.
19437
19438 2008-09-24  Bruno Haible  <bruno@clisp.org>
19439
19440         Ensure that a filename ending in a slash cannot be used to access a
19441         non-directory.
19442         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
19443         to check whether it's really a directory.
19444         * lib/fopen.c: Include fcntl.h, unistd.h.
19445         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
19446         and fdopen().
19447         * modules/fopen (Depends-on): Add unistd.
19448         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
19449         * tests/test-fopen.c (main): Likewise.
19450         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
19451         * doc/posix-functions/fopen.texi: Likewise.
19452         Reported by Eric Blake.
19453
19454 2008-09-23  Eric Blake  <ebb9@byu.net>
19455
19456         c-stack: avoid compiler optimizations when provoking overflow
19457         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
19458         recursion harder to optimize, to ensure a stack overflow occurs.
19459         * tests/test-c-stack.c (recurse): Likewise.
19460         Borrowed from libsigsegv.
19461
19462         c-stack: work around Irix sigaltstack bug
19463         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
19464         whether sigaltstack uses wrong end of stack_t (copied in part from
19465         libsigsegv).
19466         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
19467         Irix bug, without requiring an over-allocation.
19468         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
19469         bug.
19470
19471         fopen: document mingw bug on directories
19472         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
19473         not allowing a stream visiting a directory, even though reading
19474         from such a stream is not portable.
19475
19476 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19477
19478         * lib/poll.c: Rewrite.
19479         * modules/poll: Depend on alloca.
19480
19481 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19482
19483         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
19484         instead define prototypes for a full set of wrappers.  Ensure
19485         that Cygwin does not use the compatibility code, which is only
19486         for MinGW.
19487         * lib/winsock.c: New.
19488         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
19489         * modules/sys_socket: Add lib/winsock.c.
19490
19491         * modules/poll-tests: Add errno and perror.
19492         * tests/test-poll.c: Use ioctl, not ioctlsocket.
19493
19494 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19495
19496         * tests/test-poll.c: Downgrade minimum needed Winsock version.
19497
19498 2008-09-23  Bruno Haible  <bruno@clisp.org>
19499
19500         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
19501         * doc/glibc-functions/*: Likewise.
19502
19503 2008-09-23  Simon Josefsson  <simon@josefsson.org>
19504
19505         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
19506         success.
19507
19508 2008-09-22  Eric Blake  <ebb9@byu.net>
19509             Bruno Haible  <bruno@clisp.org>
19510
19511         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
19512         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
19513         supply %A but mishandle pseudo-NaN.
19514         Reported by Simon Josefsson.
19515
19516 2008-09-21  Bruno Haible  <bruno@clisp.org>
19517
19518         * tests/test-lock.c (main): Tweak skip message.
19519         * tests/test-tls.c (main): Likewise.
19520
19521 2008-09-21  Bruno Haible  <bruno@clisp.org>
19522
19523         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
19524         whether 'struct sigaction' has sa_sigaction here...
19525         (gl_PREREQ_SIG_HANDLER_H): ... not here.
19526         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
19527
19528 2008-09-21  Bruno Haible  <bruno@clisp.org>
19529
19530         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
19531         section.
19532         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
19533         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
19534         the new section.
19535         (Support for obsolete systems lacking POSIX:2001): New section.
19536         (String handling <string.h>): Move strdup to the new section.
19537         Suggested by Simon Josefsson and Paolo Bonzini.
19538
19539 2008-09-21  Bruno Haible  <bruno@clisp.org>
19540
19541         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
19542         exponents in %e and %g results on 'long double'. Needed for mingw's
19543         improved *printf functions.
19544         * tests/test-vasprintf-posix.c (test_function): Likewise.
19545         * tests/test-snprintf-posix.h (test_function): Likewise.
19546         * tests/test-sprintf-posix.h (test_function): Likewise.
19547         Reported by Eric Blake.
19548
19549 2008-09-21  Bruno Haible  <bruno@clisp.org>
19550
19551         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
19552         * tests/test-sprintf-posix.h (test_function): Likewise.
19553
19554 2008-09-21  Bruno Haible  <bruno@clisp.org>
19555
19556         * modules/getpass (Depends-on): Add strdup-posix.
19557
19558         New module 'strdup-posix'.
19559         * modules/strdup-posix: New file.
19560         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
19561         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
19562         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19563         REPLACE_STRDUP.
19564         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
19565         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
19566         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19567         strdup-posix.
19568
19569         * modules/strdup (Depends-on): Remove malloc-posix.
19570
19571 2008-09-20  Bruno Haible  <bruno@clisp.org>
19572
19573         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
19574         Wildenhues.
19575
19576 2008-09-20  Bruno Haible  <bruno@clisp.org>
19577
19578         Ensure that wint_t gets defined on IRIX 5.3.
19579         * lib/wchar.in.h (wint_t): Define if not defined by the system.
19580         * lib/wctype.in.h (wint_t): Likewise.
19581         (__wctype_wint_t): Remove type.
19582         (isw*): Use wint_t instead of __wctype_wint_t.
19583         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
19584         * modules/wchar (Files): Add m4/wint_t.m4.
19585         (Makefile.am): Substitute HAVE_WINT_T.
19586         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
19587         * tests/test-wctype.c: Check that wint_t is defined.
19588         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
19589         * doc/posix-headers/wctype.texi: Likewise.
19590         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19591
19592 2008-09-18  Bruno Haible  <bruno@clisp.org>
19593
19594         * gnulib-tool (func_exit): Update comment.
19595
19596 2008-09-18  Simon Josefsson  <simon@josefsson.org>
19597
19598         * modules/getaddrinfo (Depends-on): Remove strdup, this module
19599         assumes strdup exists and does not depend on strdup to return
19600         ENOMEM on out of memory conditions.
19601
19602 2008-09-18  Bruno Haible  <bruno@clisp.org>
19603
19604         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
19605         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
19606         digits for the exponent.
19607
19608 2008-09-18  Jim Meyering  <meyering@redhat.com>
19609             Bruno Haible  <bruno@clisp.org>
19610
19611         * lib/vasnprintf.c (decimal_point_char): Define also if
19612         NEED_PRINTF_INFINITE_LONG_DOUBLE.
19613
19614 2008-09-16  Bruno Haible  <bruno@clisp.org>
19615         and Eric Blake  <ebb9@byu.net>
19616
19617         vasnprintf: support Irix 5.3
19618         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
19619         that mishandle long double infinity.
19620         Reported by Tom G. Christensen.
19621
19622 2008-09-16  Bruno Haible  <bruno@clisp.org>
19623
19624         * doc/glibc-functions/scandir.texi: Mention the function is missing on
19625         Solaris 9.
19626         * doc/glibc-functions/alphasort.texi: Likewise.
19627         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
19628
19629 2008-09-16  Jim Meyering  <meyering@redhat.com>
19630
19631         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
19632         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
19633         a umask modification leak out of a subshell.  Otherwise, the
19634         opensolaris /bin/sh would be accepted and thus cause unwarranted
19635         failures in the coreutils test suite.
19636
19637 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
19638
19639         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
19640         to succeed.
19641
19642 2008-09-16  Jim Meyering  <meyering@redhat.com>
19643
19644         avoid spurious test failure when library is built without ACL support
19645         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
19646         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
19647         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
19648         * tests/test-copy-acl.sh: Likewise.
19649
19650 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19651
19652         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
19653         based on character occurrence counts.
19654
19655 2008-09-15  Eric Blake  <ebb9@byu.net>
19656
19657         tests: avoid some compiler warnings
19658         * tests/test-memchr.c (main): Pass NULL indirectly.
19659         * tests/test-closein.c (main): Avoid unused variable.
19660
19661 2008-09-15  Bruno Haible  <bruno@clisp.org>
19662
19663         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
19664         are missing on OpenBSD 4.0 individually.
19665         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19666
19667 2008-09-15  Bruno Haible  <bruno@clisp.org>
19668
19669         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
19670         * doc/posix-functions/strerror.texi: Mention also Cygwin.
19671         * doc/posix-functions/perror.texi: Likewise.
19672         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
19673         is missing.
19674         Reported by Eric Blake.
19675
19676         * lib/errno.in.h: Use replacement values >= 2000.
19677         Reported by Eric Blake.
19678
19679 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19680
19681         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
19682         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
19683         limit.
19684         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
19685         compareseq was aborted.
19686
19687 2008-09-14  Bruno Haible  <bruno@clisp.org>
19688
19689         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
19690         yvec_edit_count.
19691         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
19692         (fstrcmp_bounded): Simplify result computation accordingly.
19693
19694 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19695
19696         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
19697         (fstrcmp): Define in terms of fstrcmp_bounded.
19698         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
19699         lower_bound argument.
19700         Return quickly if the result is certainly < lower_bound.
19701         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
19702
19703 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19704
19705         * lib/diffseq.h (EARLY_ABORT): New macro.
19706         (compareseq): Change return type to bool. Return true when EARLY_ABORT
19707         evaluates to true.
19708
19709 2008-09-14  Bruno Haible  <bruno@clisp.org>
19710
19711         * modules/perror-tests: New file.
19712         * tests/test-perror.sh: New file.
19713         * tests/test-perror.c: New file.
19714
19715         New module 'perror'.
19716         * lib/stdio.in.h (perror): New declaration.
19717         * lib/perror.c: New file.
19718         * m4/perror.m4: New file.
19719         * modules/perror: New file.
19720         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
19721         * doc/posix-functions/perror.texi: Mention the perror module.
19722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
19723         REPLACE_PERROR.
19724         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
19725         REPLACE_PERROR.
19726
19727 2008-09-14  Bruno Haible  <bruno@clisp.org>
19728
19729         * modules/stdio (Makefile.am): Reorder to match the order in
19730         lib/stdio.in.h.
19731         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19732
19733 2008-09-13  Bruno Haible  <bruno@clisp.org>
19734
19735         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
19736
19737 2008-09-13  Bruno Haible  <bruno@clisp.org>
19738
19739         Extend strerror to cover the added errno values.
19740         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
19741         (rpl_strerror): Provide error messages for the added errno values and
19742         for the WSA* values.
19743         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
19744         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
19745         strerror.
19746         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
19747         * modules/strerror (Depends-on): Add errno.
19748         * doc/posix-functions/strerror.texi: Document the change.
19749         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
19750         and EOVERFLOW.
19751
19752 2008-09-13  Bruno Haible  <bruno@clisp.org>
19753
19754         * modules/EOVERFLOW: Remove file.
19755         * m4/eoverflow.m4: Remove file.
19756         * modules/EOVERFLOW-tests: Remove file.
19757         * tests/test-EOVERFLOW.c: Remove file.
19758         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
19759         * modules/ftell (Depends-on): Likewise.
19760         * modules/getdelim (Depends-on): Likewise.
19761         * modules/getugroups (Depends-on): Likewise.
19762         * modules/poll (Depends-on): Likewise.
19763         * modules/snprintf (Depends-on): Likewise.
19764         * modules/sprintf-posix (Depends-on): Likewise.
19765         * modules/vasnprintf (Depends-on): Likewise.
19766         * modules/vasprintf (Depends-on): Likewise.
19767         * modules/vfprintf-posix (Depends-on): Likewise.
19768         * modules/vsnprintf (Depends-on): Likewise.
19769         * modules/vsprintf-posix (Depends-on): Likewise.
19770         * modules/xvasprintf (Depends-on): Likewise.
19771         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19772         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
19773         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
19774         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
19775         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19776         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
19777         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
19778         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
19779         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19780         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
19781         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
19782         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
19783         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19784         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
19785         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
19786         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
19787         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19788         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
19789         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
19790         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
19791         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19792         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
19793         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
19794         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
19795         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
19796         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19797         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
19798         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
19799         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
19800         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
19801         * MODULES.html.sh: Remove EOVERFLOW.
19802         * NEWS: Mention the change.
19803
19804 2008-09-13  Bruno Haible  <bruno@clisp.org>
19805
19806         * modules/errno-tests: New file.
19807         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
19808
19809         * lib/errno.in.h: New file.
19810         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
19811         * modules/errno: New file.
19812         * doc/posix-headers/errno.texi: Update documentation.
19813         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
19814
19815 2008-09-13  Bruno Haible  <bruno@clisp.org>
19816
19817         * tests/test-poll.c: Use #if for native Windows, rather than testing
19818         __MSVCRT__.
19819
19820 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19821             Bruno Haible  <bruno@clisp.org>
19822
19823         * lib/glob.c: Don't include <pwd.h> on native Windows.
19824         (WINDOWS32): New macro.
19825         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
19826
19827 2008-09-13  Bruno Haible  <bruno@clisp.org>
19828
19829         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
19830         (ETIMEDOUT): Remove macro.
19831         (glthread_cond_timedwait_multithreaded): New declaration.
19832         (glthread_cond_timedwait): Use it.
19833         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
19834         (glthread_cond_timedwait_multithreaded): New function.
19835
19836 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19837
19838         * modules/poll-tests: Do not check for io.h.
19839         * tests/test-poll.c: Check for __MSVCRT__ instead.
19840
19841 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19842
19843         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
19844         * modules/poll-tests: Add inet_pton, stdbool, sockets.
19845         * tests/test-poll.c: Use them.  Use _pipe on Windows.
19846
19847 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19848
19849         * modules/poll-tests: New.
19850         * tests/test-poll.c: New.
19851
19852 2008-09-12  Eric Blake  <ebb9@byu.net>
19853
19854         frexp: test for NetBSD failure on -0.0
19855         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
19856         not all, bugs from NetBSD 3.0 have been fixed.
19857         * doc/posix-functions/frexp.texi (frexp): Document bug.
19858         Reported by Thomas Klausner.
19859
19860         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
19861         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
19862         literal -0.0.
19863         Reported by Jonathan C. Patschke <jp@centtech.com>.
19864
19865 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19866
19867         * lib/glthread/cond.h: Use dummy implementation also if
19868         USE_WIN32_THREADS.
19869
19870 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19871
19872         * modules/fnmatch-posix (License): Change to LGPLv2+.
19873         * modules/fnmatch-gnu (License): Likewise.
19874
19875 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19876
19877         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
19878
19879 2008-09-11  Jim Meyering  <meyering@redhat.com>
19880
19881         * users.txt: Add gtk-vnc.
19882
19883 2008-09-08  Simon Josefsson  <simon@josefsson.org>
19884
19885         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
19886         rotate amounts.
19887
19888         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
19889         required for 16-bit and 8-bit rotates.
19890         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
19891         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
19892         UINT8_MAX instead of hard-coded constants.
19893         Suggested by Paul Eggert.
19894
19895 2008-09-07  Bruno Haible  <bruno@clisp.org>
19896
19897         * tests/test-striconveh.c (main): Check behaviour when converting from
19898         UTF-7.
19899
19900         Make striconveh work better with stateful encodings.
19901         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
19902         that iconv does not increment the inptr when returning -1/EINVAL.
19903
19904 2008-09-07  Bruno Haible  <bruno@clisp.org>
19905
19906         * build-aux/config.rpath: Update according to libtool-2.2.6.
19907         * build-aux/config.libpath: Likewise.
19908
19909 2008-09-06  Bruno Haible  <bruno@clisp.org>
19910
19911         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
19912         * lib/freadptr.c (freadptr): Likewise.
19913         * lib/freadseek.c (freadptrinc): Likewise.
19914         Reported by Simon Josefsson.
19915
19916 2008-09-06  Bruno Haible  <bruno@clisp.org>
19917
19918         * modules/freadptr (License): Change to LGPLv2+.
19919         * modules/freadseek (License): Likewise.
19920         Suggested by Eric Blake.
19921
19922         * modules/memchr2 (License): Change to LGPLv2+.
19923         Approved by Eric Blake.
19924
19925 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19926             Bruno Haible  <bruno@clisp.org>
19927
19928         Make gnulib-tool work with native 'sed' on AIX.
19929         * gnulib-tool (sed_noop): New variable.
19930         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
19931         func_add_or_update, func_create_testdir): Use it to initialize sed
19932         script variables.
19933         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19934
19935 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
19936             Bruno Haible  <bruno@clisp.org>
19937
19938         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
19939         also works after #include directives.
19940
19941 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
19942
19943         getdate.y: reject an out-of-range timezone value
19944         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
19945         the range [-24...+24].  When specified with only one or two digits,
19946         * tests/test-getdate.c: Tests for the fix.
19947         * doc/getdate.texi: Document this change.
19948
19949 2008-09-03  Bruno Haible  <bruno@clisp.org>
19950
19951         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
19952
19953 2008-09-02  Simon Josefsson  <simon@josefsson.org>
19954
19955         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
19956         <bruce.korb@gmail.com> with ideas from Ben Pfaff
19957         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
19958         Blake <ebb9@byu.net>.
19959
19960         * tests/test-bitrotate.c: Add more test vectors.
19961
19962 2008-09-02  Eric Blake  <ebb9@byu.net>
19963
19964         vasnprintf-posix: handle large precision via %.*d
19965         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
19966         when handling it ourselves.
19967         * tests/test-vasnprintf-posix.c (test_function): Add test.
19968         * tests/test-snprintf-posix.h (test_function): Likewise.
19969         * tests/test-sprintf-posix.h (test_function): Likewise.
19970         * tests/test-vasprintf-posix.c (test_function): Likewise.
19971         Reported by Alain Guibert.
19972
19973 2008-09-01  Eric Blake  <ebb9@byu.net>
19974
19975         c-stack: make configure-time check more robust
19976         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
19977         successful sigaction call.
19978         Reported by Tom G. Christensen.
19979
19980 2008-09-01  Bruno Haible  <bruno@clisp.org>
19981
19982         New module 'findprog-lgpl'.
19983         * modules/findprog-lgpl: New file.
19984         * lib/findprog-lgpl.c: New file.
19985         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
19986         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
19987         to decide whether to use strdup or xstrdup, concatenated_filename or
19988         xconcatenated_filename.
19989
19990 2008-09-01  Bruno Haible  <bruno@clisp.org>
19991
19992         Split module 'concat-filename' into 'concat-filename' (LGPL) and
19993         'xconcat-filename' (GPL).
19994         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
19995         (License): Change to LGPLv2+.
19996         * modules/xconcat-filename: New file.
19997         * lib/concat-filename.h (concatenated_filename): Change specification.
19998         (xconcatenated_filename): New declaration.
19999         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
20000         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
20001         memory situations.
20002         * lib/xconcat-filename.c: New file.
20003         * NEWS: Mention the change.
20004         * lib/findprog.c: Include concat-filename.h, not filename.h.
20005         (find_in_path): Use xconcatenated_filename instead of
20006         concatenated_filename.
20007         * lib/javacomp.c: Include concat-filename.h, not filename.h.
20008         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
20009         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
20010         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
20011         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
20012         instead of concatenated_filename.
20013         * lib/javaexec.c: Include concat-filename.h, not filename.h.
20014         (execute_java_class): Use xconcatenated_filename instead of
20015         concatenated_filename.
20016         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
20017         * modules/javacomp (Depends-on): Likewise.
20018         * modules/javaexec (Depends-on): Likewise.
20019
20020 2008-09-01  Bruno Haible  <bruno@clisp.org>
20021
20022         Split module 'filename' into 'filename' and 'concat-filename'.
20023         * modules/filename: Keep only lib/filename.h.
20024         (License): Change to LGPLv2+.
20025         * modules/concat-filename: New file, extracted from modules/filename.
20026         * lib/filename.h (concatenated_filename): Remove declaration.
20027         * lib/concat-filename.h: New file, extracted from lib/filename.h.
20028         * lib/concat-filename.c: Include concat-filename.h.
20029         * NEWS: Mention the change.
20030
20031 2008-09-01  Simon Josefsson  <simon@josefsson.org>
20032
20033         * lib/bitrotate.h (rotl8, rotr8): Add.
20034
20035         * modules/bitrotate (configure.ac): Need
20036         AC_REQUIRE([AC_C_INLINE]).
20037         (Description): Mention stdint.h.  Reported by Bruno Haible
20038         <bruno@clisp.org>.
20039
20040         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
20041         Paolo Bonzini <bonzini@gnu.org>.
20042
20043 2008-08-31  Bruno Haible  <bruno@clisp.org>
20044
20045         Assume Solaris specific bi-arch conventions on Solaris systems.
20046         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
20047         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
20048         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
20049         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
20050         like acl_libdirstem.
20051         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
20052         acl_libdirstem.
20053         * NEWS: Mention the change.
20054         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
20055
20056 2008-08-31  Jim Meyering  <meyering@redhat.com>
20057
20058         * lib/strftime.h: Add comments describing the two added arguments.
20059
20060         remove duplicate #include directives
20061         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
20062         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
20063
20064 2008-08-31  Bruno Haible  <bruno@clisp.org>
20065
20066         New module 'sigpipe-die'.
20067         * modules/sigpipe-die: New file.
20068         * lib/sigpipe-die.h: New file.
20069         * lib/sigpipe-die.c: New file.
20070         * MODULES.html.sh (Signal handling): Add sigpipe-die.
20071
20072 2008-08-31  Bruno Haible  <bruno@clisp.org>
20073
20074         Don't override previously installed signal handlers.
20075         * lib/fatal-signal.c (saved_sigactions): New variable.
20076         (uninstall_handlers): Reset the signal to the saved handler, not
20077         to SIG_DFL (except when ignored).
20078         (install_handlers): Save the previous handlers.
20079
20080 2008-08-30  Bruno Haible  <bruno@clisp.org>
20081
20082         * gnulib-tool (func_reset_sigpipe): New function.
20083         (func_get_automake_snippet, func_modules_transitive_closure,
20084         func_import): Invoke it before a join command that reads from stdin,
20085         to avoid "echo: write error: Broken pipe" error messages on stderr.
20086         Reported by Sam Steingold <sds@gnu.org>.
20087
20088 2008-08-30  Bruno Haible  <bruno@clisp.org>
20089
20090         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
20091         Code copied from m4/open.m4.
20092         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
20093         access and the filename ends in a slash. Code copied from lib/open.c.
20094         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
20095         * tests/test-fopen.c (main): Check against bug with trailing slash.
20096
20097 2008-08-29  Bruno Haible  <bruno@clisp.org>
20098
20099         Avoid some "gcc -pedantic" warnings.
20100         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
20101         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
20102         * lib/dirent.in.h: Likewise.
20103         * lib/fcntl.in.h: Likewise.
20104         * lib/float.in.h: Likewise.
20105         * lib/iconv.in.h: Likewise.
20106         * lib/inttypes.in.h: Likewise.
20107         * lib/locale.in.h: Likewise.
20108         * lib/math.in.h: Likewise.
20109         * lib/netinet_in.in.h: Likewise.
20110         * lib/search.in.h: Likewise.
20111         * lib/signal.in.h: Likewise.
20112         * lib/stdarg.in.h: Likewise.
20113         * lib/stdint.in.h: Likewise.
20114         * lib/stdio.in.h: Likewise.
20115         * lib/stdlib.in.h: Likewise.
20116         * lib/string.in.h: Likewise.
20117         * lib/strings.in.h: Likewise.
20118         * lib/sys_select.in.h: Likewise.
20119         * lib/sys_socket.in.h: Likewise.
20120         * lib/sys_stat.in.h: Likewise.
20121         * lib/sys_time.in.h: Likewise.
20122         * lib/sysexits.in.h: Likewise.
20123         * lib/time.in.h: Likewise.
20124         * lib/unistd.in.h: Likewise.
20125         * lib/wchar.in.h: Likewise.
20126         * lib/wctype.in.h: Likewise.
20127         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
20128         * modules/fchdir (Makefile.am): Likewise.
20129         * modules/fcntl (Makefile.am): Likewise.
20130         * modules/float (Makefile.am): Likewise.
20131         * modules/iconv_open (Makefile.am): Likewise.
20132         * modules/inttypes (Makefile.am): Likewise.
20133         * modules/locale (Makefile.am): Likewise.
20134         * modules/math (Makefile.am): Likewise.
20135         * modules/netinet_in (Makefile.am): Likewise.
20136         * modules/search (Makefile.am): Likewise.
20137         * modules/signal (Makefile.am): Likewise.
20138         * modules/stdarg (Makefile.am): Likewise.
20139         * modules/stdint (Makefile.am): Likewise.
20140         * modules/stdio (Makefile.am): Likewise.
20141         * modules/stdlib (Makefile.am): Likewise.
20142         * modules/string (Makefile.am): Likewise.
20143         * modules/strings (Makefile.am): Likewise.
20144         * modules/sys_select (Makefile.am): Likewise.
20145         * modules/sys_socket (Makefile.am): Likewise.
20146         * modules/sys_stat (Makefile.am): Likewise.
20147         * modules/sys_time (Makefile.am): Likewise.
20148         * modules/sysexits (Makefile.am): Likewise.
20149         * modules/time (Makefile.am): Likewise.
20150         * modules/unistd (Makefile.am): Likewise.
20151         * modules/wchar (Makefile.am): Likewise.
20152         * modules/wctype (Makefile.am): Likewise.
20153         Reported by Reuben Thomas <rrt@sc3d.org>.
20154
20155 2008-08-29  Bruno Haible  <bruno@clisp.org>
20156
20157         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
20158         any more.
20159
20160 2008-08-29  Simon Josefsson  <simon@josefsson.org>
20161
20162         * MODULES.html.sh (Misc): Add bitrotate.
20163
20164         * modules/bitrotate: New file.
20165
20166         * lib/bitrotate.h: New file.
20167
20168         * modules/bitrotate-tests: New file.
20169
20170         * tests/test-bitrotate.c: New file.
20171
20172         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
20173         on the bitrotate module.
20174
20175         * lib/arctwo.c: Use new bitrotate module.
20176
20177 2008-08-29  Jim Meyering  <meyering@redhat.com>
20178
20179         bootstrap: merge changes from coreutils
20180         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
20181         of copied files.  Remove a kludge, now that this is fixed.
20182         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
20183         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
20184         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
20185
20186 2008-08-29  Bruno Haible  <bruno@clisp.org>
20187
20188         * MODULES.html.sh: Remove --cvs-urls option.
20189
20190 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
20191
20192         maint.mk: adjust to file name change
20193         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
20194
20195 2008-08-28  Jim Meyering  <meyering@redhat.com>
20196
20197         * modules/getndelim2 (License): Relicense to LGPLv2+.
20198         Approved by Richard Stallman for the version of 1995, and by
20199         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
20200
20201 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
20202
20203         * lib/getdelim.c (flockfile, funlockfile): Make all of them
20204         dummy if one is not available.  Do not touch them if
20205         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
20206         (getc_maybe_unlocked): New.
20207         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
20208
20209 2008-08-26  Eric Blake  <ebb9@byu.net>
20210
20211         doc/INSTALL: resync from autoconf
20212         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
20213         (INSTALL_PRELUDE): Delete; this is done more efficiently by
20214         moving...
20215         * install.texi [!autoconf]: ...here.  Resync from autoconf.
20216         * INSTALL: Regenerate.
20217         * INSTALL.ISO: New file.
20218         * INSTALL.UTF-8: Likewise.
20219
20220 2008-08-26  Jim Meyering  <meyering@redhat.com>
20221
20222         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
20223         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
20224         these definitions conditional, so that they may be overridden, too.
20225
20226 2008-08-26  Bruno Haible  <bruno@clisp.org>
20227
20228         Generate INSTALL file variants with prettier quotes.
20229         * doc/Makefile (INSTALL_PRELUDE): New macro.
20230         (INSTALL): Use it.
20231         (INSTALL.ISO, INSTALL.UTF-8): New rules.
20232
20233 2008-08-26  Bruno Haible  <bruno@clisp.org>
20234
20235         Run makeinfo in an English locale.
20236         * doc/Makefile (MAKEINFO): New variable.
20237
20238 2008-08-26  Bruno Haible  <bruno@clisp.org>
20239
20240         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
20241         Suggested by Eric Blake.
20242
20243 2008-08-25  Bruno Haible  <bruno@clisp.org>
20244
20245         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
20246
20247 2008-08-25  Eric Blake  <ebb9@byu.net>
20248
20249         c-stack: test that stack overflow can be caught
20250         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
20251         that platform allows handling stack overflow; at least OS/2 EMX
20252         has sigaltstack, but crashes before transferring control to
20253         handler on stack overflow.
20254         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
20255         check for HAVE_STACK_OVERFLOW_HANDLING.
20256         Reported by Elbert Pol.
20257
20258 2008-08-25  Bruno Haible  <bruno@clisp.org>
20259
20260         * doc/posix-functions/strftime.texi: Fix description of strftime
20261         module.
20262
20263 2008-08-24  Bruno Haible  <bruno@clisp.org>
20264
20265         * tests/uniwidth/test-uc_width2.c: New file.
20266         * tests/uniwidth/test-uc_width2.sh: New file.
20267         * modules/uniwidth/width-tests (Files): Add the new files.
20268         (TESTS): Add uniwidth/test-uc_width2.sh.
20269         (TESTS_ENVIRONMENT): New variable.
20270         (check_PROGRAMS): Add test-uc_width2.
20271         (test_uc_width2_SOURCES): New variable.
20272
20273         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
20274         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
20275         not 0x00AB.
20276         Reported by Alexander V. Lukyanov <lav@netis.ru>.
20277
20278 2008-08-22  Eric Blake  <ebb9@byu.net>
20279
20280         test-lock, test-tls: mention why a test is skipped
20281         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
20282         skipped.
20283         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
20284
20285         count-one-bits: relax license
20286         * modules/count-one-bits (License): Relicense to LGPLv2+.
20287         Suggested by Ludovic Courtès, approved by Ben Pfaff.
20288
20289 2008-08-22  Andreas Schwab  <schwab@suse.de>
20290
20291         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20292         Remove spurious space in assignment.
20293
20294 2008-08-21  Simon Josefsson  <simon@josefsson.org>
20295
20296         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
20297         Paul Eggert <eggert@CS.UCLA.EDU>.
20298
20299 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
20300
20301         * modules/gettext: Add m4/threadlib.m4.
20302
20303 2008-08-19  Eric Blake  <ebb9@byu.net>
20304
20305         test-c-stack: fix compilation failure on FreeBSD 5.0
20306         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
20307         headers before <sys/resource.h>.
20308         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
20309         the bug.
20310         Reported by Nelson H. F. Beebe.
20311
20312         strverscmp: migrate from "strverscmp.h" to <string.h>
20313         * modules/string (Makefile.am): Add new hooks.
20314         * modules/strverscmp (Files): Remove strverscmp.h.
20315         (Depends-on): Add string.
20316         (configure.ac): Add indicator.
20317         (Include): Mention new header.
20318         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
20319         defaults.
20320         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
20321         results.
20322         * lib/strverscmp.h: Delete.
20323         * lib/string.in.h (strverscmp): Provide declaration, when needed.
20324         * tests/test-strverscmp.c (includes): Adjust client.
20325         * lib/check-version.c (includes): Likewise.
20326         * NEWS: Document the change.
20327
20328         strverscmp: add unit test
20329         * modules/strverscmp-tests: New file.
20330         * tests/test-strverscmp.c: Likewise.
20331
20332 2008-08-19  Simon Josefsson  <simon@josefsson.org>
20333
20334         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
20335         regarding Windows crypto stuff, from Mono.
20336
20337 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
20338
20339         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
20340         if present, for intel RND.  Return error on failures.
20341
20342 2008-08-18  Ben Pfaff  <blp@gnu.org>
20343
20344         gitlog-to-changelog: give better diagnostic for failed pipe-open
20345         * build-aux/gitlog-to-changelog: Improve error message: suggest
20346         that the version of Git may be too old.
20347
20348 2008-08-18  Simon Josefsson  <simon@josefsson.org>
20349
20350         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
20351         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
20352
20353 2008-08-18  Bruno Haible  <bruno@clisp.org>
20354
20355         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
20356         pthread_in_use().
20357
20358 2008-08-18  Bruno Haible  <bruno@clisp.org>
20359
20360         * lib/glthread/threadlib.c: Include <pthread.h>.
20361
20362 2008-08-18  Bruno Haible  <bruno@clisp.org>
20363
20364         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
20365         glthread_recursive_lock_* macros.
20366         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
20367         Fix syntax error.
20368
20369 2008-08-18  Bruno Haible  <bruno@clisp.org>
20370
20371         * lib/glthread/thread.c: Avoid forcing a context switch right after
20372         thread creation.
20373
20374 2008-08-17  Bruno Haible  <bruno@clisp.org>
20375
20376         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
20377         * lib/glthread/thread.h: Provide Win32 specific implementation.
20378         * modules/thread (Files): Add lib/glthread/thread.c.
20379         (Depends-on): Add lock.
20380         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
20381
20382 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20383
20384         New module 'yield'.
20385         * modules/yield: New file.
20386         * lib/glthread/yield.h: New file.
20387         * m4/yield.m4: New file.
20388         * MODULES.html.sh (Multithreading): Add yield.
20389
20390 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20391
20392         New module 'thread'.
20393         * modules/thread: New file.
20394         * lib/glthread/thread.h: New file.
20395         * m4/thread.m4: New file.
20396         * MODULES.html.sh (Multithreading): Add thread.
20397
20398 2008-08-17  Bruno Haible  <bruno@clisp.org>
20399
20400         * lib/glthread/lock.h: Include <stdlib.h> always.
20401         * lib/glthread/tls.h: Likewise.
20402         * lib/glthread/cond.h: Likewise.
20403
20404 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20405
20406         New module 'cond'.
20407         * modules/cond: New file.
20408         * lib/glthread/cond.h: New file.
20409         * lib/glthread/cond.c: New file.
20410         * m4/cond.m4: New file.
20411         * MODULES.html.sh (Multithreading): Add cond.
20412
20413 2008-08-16  Eric Blake  <ebb9@byu.net>
20414
20415         c-stack: fix regression on Irix 5.3 from 2008-06-21
20416         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
20417         sa_sigaction...
20418         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
20419         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
20420         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
20421         * modules/signal (Makefile.am): Use the value.
20422         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
20423         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
20424         * doc/posix-headers/signal.texi (signal.h): Document this
20425         portability issue.
20426         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
20427         Reported by Tom G. Christensen.
20428
20429 2008-08-17  Bruno Haible  <bruno@clisp.org>
20430
20431         New module 'threadlib'.
20432         * modules/threadlib: New file.
20433         * lib/glthread/threadlib.c: New file, extracted from
20434         lib/glthread/lock.c.
20435         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
20436         functions.
20437         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
20438         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
20439         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
20440         macros.
20441         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
20442         (gl_DISABLE_THREADS): Remove macro.
20443         * modules/lock (Files): Remove build-aux/config.rpath.
20444         (Depends-on): Remove havelib. Add threadlib.
20445         (configure.ac-early): Remove section.
20446         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
20447         * modules/tls (Depends-on): Remove lock. Add threadlib.
20448         (Link): New section, copied from threadlib.
20449         * MODULES.html.sh (Multithreading): Add threadlib.
20450
20451 2008-08-14  Bruno Haible  <bruno@clisp.org>
20452
20453         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
20454         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
20455         glthread_rwlock_unlock, glthread_rwlock_destroy,
20456         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
20457         glthread_recursive_lock_destroy): Define as macros always.
20458         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
20459         glthread_lock_lock.
20460         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
20461         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
20462         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
20463         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
20464         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
20465         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
20466         (glthread_recursive_lock_lock_func): Renamed from
20467         glthread_recursive_lock_lock.
20468         (glthread_recursive_lock_unlock_func): Renamed from
20469         glthread_recursive_lock_unlock.
20470         (glthread_recursive_lock_destroy_func): Renamed from
20471         glthread_recursive_lock_destroy.
20472
20473 2008-08-14  Bruno Haible  <bruno@clisp.org>
20474
20475         * lib/glthread/lock.h: Renamed from lib/lock.h.
20476         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
20477         * lib/glthread/tls.h: Renamed from lib/tls.h.
20478         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
20479         * lib/fstrcmp.c: Update includes.
20480         * lib/strsignal.c: Update includes.
20481         * modules/lock (Files, Makefile.am): Update.
20482         (Include): Change to "glthread/lock.h".
20483         * modules/tls (Files, Makefile.am): Update.
20484         (Include): Change to "glthread/tls.h".
20485         * tests/test-lock.c: Update includes.
20486         * tests/test-tls.c: Update includes.
20487         * NEWS: Mention the renamed header files.
20488
20489 2008-08-11  Jim Meyering  <meyering@redhat.com>
20490
20491         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
20492
20493 2008-08-11  Eric Blake  <ebb9@byu.net>
20494
20495         test-c-stack: avoid C99-ism
20496         * tests/test-c-stack.c (main): Fix whitespace, move declaration
20497         before statement.
20498         Reported by Alain Guibert.
20499
20500 2008-08-10  Jim Meyering  <meyering@redhat.com>
20501
20502         ensure that return value of uinttostr et al are not ignored
20503         * lib/inttostr.h (__GNUC_PREREQ): Define.
20504         (__attribute_warn_unused_result__): Define.
20505         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
20506
20507 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
20508
20509         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
20510         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
20511
20512 2008-08-07  Jim Meyering  <meyering@redhat.com>
20513
20514         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
20515
20516         * modules/mkstemp (License): Relicense under LGPLv2+.
20517         * modules/tempname (License): Likewise.
20518
20519 2008-08-06  Bruno Haible  <bruno@clisp.org>
20520
20521         * lib/poll.c (poll): Further micro-optimization.
20522
20523 2008-08-06  Jim Meyering  <meyering@redhat.com>
20524
20525         inet_pton.c: use locale-independent tolower
20526         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
20527         (inet_pton6): Use c_tolower rather than tolower.
20528         * modules/inet_pton (Depends-on): Add c-ctype.
20529
20530 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
20531
20532         * lib/poll.c (poll): Avoid division when timeout is 0, cache
20533         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
20534
20535 2008-08-06  Jim Meyering  <meyering@redhat.com>
20536
20537         * modules/inet_pton (License): Relicense under LGPLv2+.
20538
20539 2008-08-03  Bruno Haible  <bruno@clisp.org>
20540
20541         Additional non-aborting API for lock and tls.
20542         * lib/lock.h: Include <errno.h>.
20543         (glthread_lock_init): New macro/function.
20544         (gl_lock_init): Define as wrapper around glthread_lock_init.
20545         (glthread_lock_lock): New macro/function.
20546         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
20547         (glthread_lock_unlock): New macro/function.
20548         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
20549         (glthread_lock_destroy): New macro/function.
20550         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
20551         (glthread_rwlock_init): New macro/function.
20552         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
20553         (glthread_rwlock_rdlock): New macro/function.
20554         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
20555         (glthread_rwlock_wrlock): New macro/function.
20556         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
20557         (glthread_rwlock_unlock): New macro/function.
20558         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
20559         (glthread_rwlock_destroy): New macro/function.
20560         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
20561         (glthread_recursive_lock_init): New macro/function.
20562         (gl_recursive_lock_init): Define as wrapper around
20563         glthread_recursive_lock_init.
20564         (glthread_recursive_lock_lock): New macro/function.
20565         (gl_recursive_lock_lock): Define as wrapper around
20566         glthread_recursive_lock_lock.
20567         (glthread_recursive_lock_unlock): New macro/function.
20568         (gl_recursive_lock_unlock): Define as wrapper around
20569         glthread_recursive_lock_unlock.
20570         (glthread_recursive_lock_destroy): New macro/function.
20571         (gl_recursive_lock_destroy): Define as wrapper around
20572         glthread_recursive_lock_destroy.
20573         (glthread_once): New macro/function.
20574         (gl_once): Define as wrapper around glthread_once.
20575         Update function declarations.
20576         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
20577         glthread_rwlock_init. Return error code.
20578         (glthread_rwlock_rdlock_multithreaded): Renamed from
20579         glthread_rwlock_rdlock. Return error code.
20580         (glthread_rwlock_wrlock_multithreaded): Renamed from
20581         glthread_rwlock_wrlock. Return error code.
20582         (glthread_rwlock_unlock_multithreaded): Renamed from
20583         glthread_rwlock_unlock. Return error code.
20584         (glthread_rwlock_destroy_multithreaded): Renamed from
20585         glthread_rwlock_destroy. Return error code.
20586         (glthread_recursive_lock_init_multithreaded): Renamed from
20587         glthread_recursive_lock_init. Return error code.
20588         (glthread_recursive_lock_lock_multithreaded): Renamed from
20589         glthread_recursive_lock_lock. Return error code.
20590         (glthread_recursive_lock_unlock_multithreaded): Renamed from
20591         glthread_recursive_lock_unlock. Return error code.
20592         (glthread_recursive_lock_destroy_multithreaded): Renamed from
20593         glthread_recursive_lock_destroy. Return error code.
20594         (glthread_once_call): Make static.
20595         (glthread_once_multithreaded): Renamed from glthread_once.
20596         * lib/tls.h: Include <errno.h>.
20597         (glthread_tls_key_init): New macro/function.
20598         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
20599         (glthread_tls_set): New macro/function.
20600         (gl_tls_set): Define as wrapper around glthread_tls_set.
20601         (glthread_tls_key_destroy): New macro/function.
20602         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
20603         Update function declarations.
20604         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
20605         glthread_tls_get.
20606         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
20607
20608 2008-08-04  Eric Blake  <ebb9@byu.net>
20609
20610         gnumakefile: use space, not TAB, outside of targets
20611         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
20612
20613 2008-08-02  Jim Meyering  <meyering@redhat.com>
20614
20615         getdate.y: avoid locale-dependent date parsing failure
20616         In Turkish locales, getdate would fail to recognize keywords
20617         containing a lowercase "i".  The solution is not to rely on
20618         locale-sensitive case-conversion.
20619         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
20620         (lookup_word): Use c_toupper in place of toupper.
20621         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
20622         Reported by Vefa Bicakci <bicave@superonline.com> in
20623         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
20624         * modules/getdate (Depends-on): Add c-ctype.
20625
20626 2008-08-02  Bruno Haible  <bruno@clisp.org>
20627
20628         * gnulib-tool (func_import): When updating or creating a .gitignore
20629         file, prepend each added line with a slash, and ignore leading slashes
20630         from the existing lines.
20631         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
20632
20633 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20634
20635         Portability fix for GNU make 3.79.1.
20636         * top/GNUmakefile: Avoid 'else COND', which older GNU make
20637         versions do not understand.
20638
20639 2008-08-01  Bruno Haible  <bruno@clisp.org>
20640
20641         Work around bug of HP-UX 10.20 cc with -0.0 literal.
20642         * tests/test-isnanf.h (zero): New variable.
20643         (main): Avoid literal -0.0f.
20644         * tests/test-isnand.h (zero): New variable.
20645         (main): Avoid literal -0.0.
20646         * tests/test-isnanl.h (zero): New variable.
20647         (main): Avoid literal -0.0L.
20648         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
20649         (test_float, test_double, test_long_double): Avoid literals -0.0f,
20650         -0.0, -0.0L.
20651         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
20652         (test_signbitd): Avoid literal -0.0.
20653         (test_signbitl): Avoid literal -0.0L.
20654         * tests/test-ceilf1.c (zero): New variable.
20655         (main): Avoid literal -0.0f.
20656         * tests/test-ceill.c (zero): New variable.
20657         (main): Avoid literal -0.0L.
20658         * tests/test-floorf1.c (zero): New variable.
20659         (main): Avoid literal -0.0f.
20660         * tests/test-floorl.c (zero): New variable.
20661         (main): Avoid literal -0.0L.
20662         * tests/test-roundf1.c (zero): New variable.
20663         (main): Avoid literal -0.0f.
20664         * tests/test-round1.c (zero): New variable.
20665         (main): Avoid literal -0.0.
20666         * tests/test-roundl.c (zero): New variable.
20667         (main): Avoid literal -0.0L.
20668         * tests/test-truncf1.c (zero): New variable.
20669         (main): Avoid literal -0.0f.
20670         * tests/test-trunc1.c (zero): New variable.
20671         (main): Avoid literal -0.0.
20672         * tests/test-truncl.c (zero): New variable.
20673         (main): Avoid literal -0.0L.
20674         * tests/test-frexp.c (zero): New variable.
20675         (main): Avoid literal -0.0.
20676         * tests/test-frexpl.c (zero): New variable.
20677         (main): Avoid literal -0.0L.
20678         * tests/test-ldexpl.c (zero): New variable.
20679         (main): Avoid literal -0.0L.
20680         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
20681         (zerod, zerol): New variables.
20682         (test_function): Avoid literals -0.0, -0.0L.
20683         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
20684         (zerod, zerol): New variables.
20685         (test_function): Avoid literals -0.0, -0.0L.
20686         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
20687         (zerod, zerol): New variables.
20688         (test_function): Avoid literals -0.0, -0.0L.
20689         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
20690         (zerod, zerol): New variables.
20691         (test_function): Avoid literals -0.0, -0.0L.
20692         * tests/test-strtod.c (zero): New variable.
20693         (main): Avoid literal -0.0.
20694         Reported by Jonathan C. Patschke <jp@centtech.com>.
20695
20696 2008-07-31  Jim Meyering  <meyering@redhat.com>
20697
20698         sha256.h: correct definition of SHA224_DIGEST_SIZE
20699         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
20700         Reported by Paulie Pena IV <paulie4@gmail.com>.
20701         Define as 224 / 8, rather than as a literal.
20702         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
20703         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
20704         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
20705
20706 2008-07-31  Bruno Haible  <bruno@clisp.org>
20707
20708         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
20709         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
20710         Reported by Jonathan Patschke <jp@centtech.com>.
20711
20712 2008-07-31  Bruno Haible  <bruno@clisp.org>
20713
20714         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
20715         Reported by Paolo Bonzini <bonzini@gnu.org>.
20716
20717 2008-07-30  Eric Blake  <ebb9@byu.net>
20718
20719         test-strtod: allow compilation without -lm
20720         * tests/test-strtod.c (main): Avoid link dependence on fabs.
20721         Reported by Dennis Clarke <blastwave@gmail.com>.
20722
20723 2008-07-28  Jim Meyering  <meyering@redhat.com>
20724
20725         bootstrap: work also when there are no .po files in po/
20726         * build-aux/bootstrap (update_po_files): Complete the change
20727         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
20728
20729 2008-07-27  Jim Meyering  <meyering@redhat.com>
20730
20731         * users.txt: Add zile.
20732
20733 2008-07-26  Ben Pfaff  <blp@gnu.org>
20734
20735         Add missing dependencies on new m4/exponent[fdl].m4 files.
20736         * modules/isnanf-nolibm: Add m4/exponentf.m4.
20737         * modules/isnand-nolibm: Add m4/exponentd.m4.
20738         * modules/isnanl-nolibm: Add m4/exponentl.m4.
20739         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
20740         m4/isnan[fdl].m4, because the macros actually used moved.
20741         Reported by Jim Meyering.
20742
20743 2008-07-14  Ben Pfaff  <blp@gnu.org>
20744
20745         Add isinf module.
20746         * lib/isinf.c: New file.
20747         * lib/math.in.h: Define isinf macro if we have decided to replace
20748         it.
20749         * m4/isinf.m4: New file.
20750         * m4/math_h.m4: Initialize and substitute variables for isinf
20751         module.
20752         * modules/isinf: New file.
20753         * modules/isinf-tests: New file.
20754         * modules/math: Add substitutions for new module.
20755         * tests/test-isinf.c: New file.
20756         * doc/posix-functions/isinf.texi: Mention new module.
20757         * MODULES.html.sh: Mention new module.
20758
20759 2008-07-14  Ben Pfaff  <blp@gnu.org>
20760
20761         Factor out some macros for use by additional modules.
20762         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
20763         exponentf.m4.
20764         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
20765         exponentd.m4.
20766         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
20767         file exponentl.m4.
20768         * m4/exponentf.m4: New file.
20769         * m4/exponentd.m4: New file.
20770         * m4/exponentl.m4: New file.
20771         * modules/isnanf: Use new file m4/exponentf.m4.
20772         * modules/isnand: Use new file m4/exponentd.m4.
20773         * modules/isnanl: Use new file m4/exponentl.m4.
20774
20775 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
20776
20777         mktime.c: normalize tp->tm_isdst value to -1/0/1.
20778         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
20779         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
20780         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
20781
20782         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
20783         readlink on platforms without PATH_MAX.
20784
20785 2008-07-21  Eric Blake  <ebb9@byu.net>
20786
20787         Warn, not fail, on stale version.
20788         * top/GNUmakefile (_curr-ver): Tone down previous patch.
20789
20790         Don't allow installation with stale devel version number.
20791         * top/GNUmakefile (_is-install-target): New macro.
20792         (_curr-ver): Forbid installation with stale version number.
20793
20794 2008-07-20  Bruno Haible  <bruno@clisp.org>
20795
20796         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
20797         TESTS_ENVIRONMENT.
20798         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
20799
20800 2008-07-20  Bruno Haible  <bruno@clisp.org>
20801
20802         * lib/c-stack.h (c_stack_action): Add documentation.
20803         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
20804
20805 2008-07-20  Bruno Haible  <bruno@clisp.org>
20806
20807         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
20808         * modules/readlink (License): Likewise.
20809
20810 2008-07-17  Eric Blake  <ebb9@byu.net>
20811
20812         * modules/c-stack (Link): Fix typo.
20813
20814         Make c-stack use libsigsegv, when available.
20815         * modules/c-stack (Depends-on): Add libsigsegv.
20816         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
20817         needed.
20818         * lib/c-stack.c (SIGSTKSZ): Define fallback.
20819         (segv_handler, overflow_handler, c_stack_action)
20820         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
20821         implementation when libsigsegv is available, but only when using
20822         the library is necessary.
20823         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
20824         comment, explaining why XSI check fails on Linux.
20825         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
20826         * tests/test-c-stack2.sh: Tweak skip message.
20827         * NEWS: Document new link-time requirements.
20828
20829 2008-07-16  Eric Blake  <ebb9@byu.net>
20830
20831         c-stack: Expose false positives when not using libsigsegv.
20832         * modules/c-stack-tests (Files): Expand test.
20833         * tests/test-c-stack.c (main): Add means to conditionally trigger
20834         non-overflow SIGSEGV.
20835         * tests/test-c-stack2.sh: New file.
20836
20837 2008-07-14  Bruno Haible  <bruno@clisp.org>
20838
20839         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
20840         Reported by Eric Blake.
20841
20842 2008-07-14  Sam Steingold  <sds@gnu.org>
20843             Bruno Haible  <bruno@clisp.org>
20844
20845         New module libsigsegv.
20846         * modules/libsigsegv: New file.
20847         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
20848         modifications.
20849         * MODULES.html.sh (Signal handling): New section.
20850
20851 2008-07-14  Bruno Haible  <bruno@clisp.org>
20852
20853         * modules/unictype/ctype-* (Description): Add the word "function".
20854         Improves the resulting doc in MODULES.html.
20855
20856 2008-07-12  Ben Pfaff  <blp@gnu.org>
20857
20858         Add longlong module.
20859         * modules/longlong: New file.
20860
20861 2008-07-12  Bruno Haible  <bruno@clisp.org>
20862
20863         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
20864         to empty.
20865
20866 2008-07-10  Ben Pfaff  <blp@gnu.org>
20867
20868         Add isnan module.
20869         * doc/posix-functions/isnan.texi: Mention new module.
20870         * lib/math.in.h: Define isnan macro if we have decided to replace
20871         it.
20872         * m4/isnan.m4: New file.
20873         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
20874         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
20875         also.
20876         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
20877         redundancy.
20878         * m4/math_h.m4: Initialize and substitute variables for isnan
20879         module.
20880         * modules/isnan: New file.
20881         * modules/isnan-tests: New file.
20882         * modules/math: Add substitutions for new module.
20883         * tests/test-isnan.c: New file.
20884         * MODULES.html.sh: Mention new module.
20885
20886 2008-07-10  Ben Pfaff  <blp@gnu.org>
20887
20888         Add isnanf module.
20889         * lib/isnanf.m4: New file.
20890         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
20891         (gl_HAVE_ISNANF_IN_LIBM): New macro.
20892         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
20893         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
20894         * modules/isnanf: New file.
20895         * modules/isnanf-tests: New file.
20896         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
20897         files.
20898         * tests/test-isnanf-nolibm.c: factored most of its contents into
20899         new file tests/test-isnanf.h.
20900         * tests/test-isnanf.h: New file.
20901         * tests/test-isnanf.c: New file.
20902         * MODULES.html.sh: Mention new module.
20903         * doc/glibc-functions/isnanf.texi: Mention new module.
20904
20905 2008-07-10  Ben Pfaff  <blp@gnu.org>
20906
20907         Add isnand module.
20908         * lib/isnand.h: New file.
20909         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
20910         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
20911         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
20912         functionality also.
20913         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
20914         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
20915         (gl_HAVE_ISNAND_IN_LIBM): New macro.
20916         * modules/isnand: New file.
20917         * modules/isnand-tests: New file.
20918         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
20919         files.
20920         * tests/test-isnand-nolibm.c: factored most of its contents into
20921         new file tests/test-isnand.h.
20922         * tests/test-isnand.h: New file.
20923         * tests/test-isnand.c: New file.
20924         * MODULES.html.sh: Mention new module.
20925
20926 2008-07-10  Ben Pfaff  <blp@gnu.org>
20927
20928         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
20929         * lib/isnand.h: Rename lib/isnand-nolibm.h.
20930         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
20931         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
20932         * modules/isnanf-nolibm: Update references to renamed files.
20933         * modules/isnand-nolibm: Likewise.
20934         * modules/isnanf-nolibm-tests: Likewise.
20935         * modules/isnand-nolibm-tests: Likewise.
20936         * lib/frexp.c: Likewise.
20937         * lib/isfinite.c: Likewise.
20938         * lib/signbitd.c: Likewise.
20939         * lib/signbitf.c: Likewise.
20940         * lib/vasnprintf.c: Likewise.
20941         * tests/test-ceilf1.c: Likewise.
20942         * tests/test-ceilf2.c: Likewise.
20943         * tests/test-floorf1.c: Likewise.
20944         * tests/test-floorf2.c: Likewise.
20945         * tests/test-frexp.c: Likewise.
20946         * tests/test-round1.c: Likewise.
20947         * tests/test-round2.c: Likewise.
20948         * tests/test-roundf1.c: Likewise.
20949         * tests/test-strtod.c: Likewise.
20950         * tests/test-trunc1.c: Likewise.
20951         * tests/test-trunc2.c: Likewise.
20952         * tests/test-truncf1.c: Likewise.
20953         * tests/test-truncf2.c: Likewise.
20954         * NEWS: Mention the renamed header files.
20955
20956 2008-07-11  Jim Meyering  <meyering@redhat.com>
20957
20958         vc-list-files: make the last-resort awk code more portable
20959         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
20960         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
20961         does not support it.
20962
20963 2008-07-10  Eric Blake  <ebb9@byu.net>
20964
20965         Work with tar's bootstrap.
20966         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
20967         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
20968         an m4 comment.
20969
20970 2008-07-09  Jim Meyering  <meyering@redhat.com>
20971
20972         posix-shell.m4: fix typo that made this test malfunction
20973         * m4/posix-shell.m4: Remove capitalization in variable name.
20974
20975 2008-07-08  Bruno Haible  <bruno@clisp.org>
20976
20977         * m4/onceonly.m4: Update comments.
20978         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20979
20980 2008-07-04  Jim Meyering  <meyering@redhat.com>
20981
20982         * users.txt: Add vc-dwim.
20983         (bison, coreutils): Use the gitweb URL.
20984
20985 2008-07-03  Jim Meyering  <meyering@redhat.com>
20986
20987         * users.txt: Add libffcall.  From Sam Steingold.
20988
20989 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
20990
20991         getdate.y: do not ignore TZ with relative day, month or year offset
20992         * lib/getdate.y (get_date): Move the tz-handling block to follow the
20993         relative-date-handling, since otherwise, the latter would clobber the
20994         sole output (an updated Start value) of the tz-handling block.
20995         * tests/test-getdate.c: Tests for the fix
20996
20997 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20998
20999         Recognize 'foo_LIBRARIES += libgnu.a'.
21000         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
21001         makefile snippet has already specified an installation location,
21002         also using '+='.
21003
21004 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
21005
21006         getdate.y: factor out common actions
21007         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
21008         Use them in place of open-coded actions.
21009
21010 2008-07-01  Simon Josefsson  <simon@josefsson.org>
21011
21012         Add self-test for getdate module.
21013         * modules/getdate-tests: New file.
21014         * tests/test-getdate.c: New file.
21015
21016 2008-06-29  Bruno Haible  <bruno@clisp.org>
21017
21018         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
21019         .gitignore.
21020         Reported by Sylvain Beucler <beuc@beuc.net>.
21021
21022 2008-06-29  Bruno Haible  <bruno@clisp.org>
21023
21024         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
21025         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
21026
21027 2008-06-29  Bruno Haible  <bruno@clisp.org>
21028
21029         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
21030         EXTRA_DIST.
21031         Reported by Sylvain Beucler <beuc@beuc.net>.
21032
21033 2008-06-26  Jim Meyering  <meyering@redhat.com>
21034
21035         make several modules depend on the "open" module
21036         This provides slightly increased consistency when opening-for-write
21037         the name of a non-directory spelled with a trailing slash.
21038         * modules/chdir-safer: Likewise.
21039         * modules/chown: Likewise.
21040         * modules/clean-temp: Likewise.
21041         * modules/copy-file: Likewise.
21042         * modules/fchdir: Likewise.
21043         * modules/fcntl-safer: Likewise.
21044         * modules/pipe: Likewise.
21045         * modules/utime: Likewise.
21046         Prompted by Eric Blake and Bruno Haible.
21047
21048 2008-06-24  Andreas Schwab  <schwab@suse.de>
21049
21050         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
21051         literals can be used as initializers for global variables.
21052
21053 2008-06-23  Eric Blake  <ebb9@byu.net>
21054
21055         Make gnulib-cache.m4 easier to diff.
21056         * gnulib-tool (func_import): Allow newlines when reading cached
21057         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
21058
21059 2008-06-23  Bruno Haible  <bruno@clisp.org>
21060
21061         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
21062         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
21063         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
21064         m4/signalblocking.m4.
21065         (gl_PREREQ_SIGACTION): Don't invoke it.
21066         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
21067         gl_PREREQ_SIG_HANDLER_H.
21068         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21069         Don't check for sigaction here.
21070
21071 2008-06-23  Bruno Haible  <bruno@clisp.org>
21072
21073         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
21074         (install_handlers): Don't set the SA_RESETHAND flag.
21075
21076 2008-06-23  Bruno Haible  <bruno@clisp.org>
21077
21078         * m4/sigaction.m4: Comment fixes.
21079         * lib/signal.in.h: Likewise.
21080
21081 2008-06-23  Eric Blake  <ebb9@byu.net>
21082
21083         Fix typo.
21084         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
21085
21086         Avoid SA_ namespace.
21087         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
21088         Reported by Ralf Wildenhues.
21089
21090         Avoid test failure due to SA_RESTORER.
21091         * tests/test-sigaction.c (SA_MASK): New macro.
21092         (main): Avoid failing due to extension flags being set.
21093         Reported by Jim Meyering.
21094
21095         Revert use of sig-handler.h in sigprocmask.c.
21096         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
21097         it requires the existence of struct sigaction.
21098         * lib/sigprocmask.c (handler_t): Restore typedef.
21099         (rpl_signal, old_handlers): Use local type.
21100
21101 2008-06-22  Bruno Haible  <bruno@clisp.org>
21102
21103         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
21104         conditionally.
21105         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21106
21107 2008-06-22  Bruno Haible  <bruno@clisp.org>
21108
21109         * doc/posix-functions/siginterrupt.texi: Move note.
21110
21111         * lib/signal.in.h (SA_RESTART): New macro.
21112         * lib/sigaction.c: Update comment.
21113
21114         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
21115
21116         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
21117         (gl_PREREQ_SIGPROCMASK): Invoke it.
21118         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
21119
21120         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
21121
21122         * lib/sigprocmask.c: Update a comment.
21123
21124 2008-06-21  Eric Blake  <ebb9@byu.net>
21125
21126         Use sigaction module rather than signal().
21127         * modules/c-stack (Depends-on): Add sigaction.
21128         * modules/fatal-signal (Depends-on): Likewise.
21129         * modules/nanosleep (Depends-on): Likewise.
21130         * modules/sigprocmask (Files): Add sig-handler.h.
21131         * modules/sigaction (Files): Likewise.
21132         * lib/sig-handler.h (get_handler): New file, suggested by Paul
21133         Eggert.
21134         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
21135         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
21136         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21137         (init_fatal_signals): Likewise.
21138         * lib/nanosleep.c (rpl_nanosleep): Likewise.
21139         (siginterrupt): Delete fallback.
21140         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
21141         instead.
21142         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
21143         siginterrupt.
21144
21145         New module sigaction, for mingw.
21146         * modules/sigaction: New module...
21147         * modules/sigaction-tests: ...and its test.
21148         * m4/sigaction.m4: New file.
21149         * lib/sigaction.c: Likewise.
21150         * tests/test-sigaction.c: Likewise.
21151         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
21152         * modules/signal (Makefile.am): Likewise.
21153         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
21154         needed.
21155         * doc/posix-headers/signal.texi (signal.h): Mention provided
21156         types.
21157         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
21158         that sigaction is preferable.
21159         * doc/posix-functions/sigaction.texi (sigaction): Mention new
21160         module.
21161         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21162         sigaction.
21163
21164         Improve robustness of sigprocmask by overriding signal.
21165         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
21166         is in use.
21167         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
21168         (SIGKILL, SIGSTOP): Provide fallbacks.
21169         (rpl_signal): Implement.
21170         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
21171         signal can be called inside handlers.
21172
21173         Fix nanosleep module on mingw.
21174         * modules/nanosleep (Depends-on): Add sys_select.
21175         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
21176
21177         Fix licensing of sigprocmask.
21178         * modules/raise (License): Relicense as LGPL.
21179
21180 2008-06-21  Bruno Haible  <bruno@clisp.org>
21181
21182         * lib/propername.c (proper_name_utf8): Don't use the transliterated
21183         result if it contains question marks.
21184         Reported by Michael Geng <linux@michaelgeng.de>.
21185
21186 2008-06-19  Bruno Haible  <bruno@clisp.org>
21187
21188         Fix CVS-ism.
21189         * doc/gnulib.texi: Include updated-stamp.texi.
21190         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
21191         (updated-stamp.texi): New rule.
21192         (gnulib.info): Depend on it.
21193         * doc/.gitignore: Add updated-stamp.texi.
21194         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
21195
21196 2008-06-19  Bruno Haible  <bruno@clisp.org>
21197
21198         * doc/Makefile (gnulib.info): Update and simplify dependencies.
21199         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21200
21201 2008-06-19  Eric Blake  <ebb9@byu.net>
21202
21203         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
21204         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
21205         Reported by Stepan Kasal.
21206
21207 2008-06-18  Bruno Haible  <bruno@clisp.org>
21208
21209         * lib/fatal-signal.c (init_fatal_signals): Add comment.
21210         Reported by Eric Blake.
21211
21212 2008-06-18  Eric Blake  <ebb9@byu.net>
21213
21214         Work around cygwin 1.5.25 strsignal bug.
21215         * tests/test-strsignal.c: Allow for const char *.
21216         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
21217
21218 2008-06-18  Simon Josefsson  <simon@josefsson.org>
21219
21220         * users.txt: Update URL to article and add author/date
21221         information.
21222
21223 2008-06-17  Bruno Haible  <bruno@clisp.org>
21224
21225         New macro gl_DISABLE_THREADS.
21226         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
21227         if the user did not pass --enable-threads or --disable-threads option.
21228         (gl_DISABLE_THREADS): New macro.
21229         Reported by Eric Blake <ebb9@byu.net>.
21230
21231 2008-06-17  Bruno Haible  <bruno@clisp.org>
21232
21233         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
21234         when the macro ignores it.
21235         Based on a patch by Eric Blake <ebb9@byu.net>.
21236
21237 2008-06-17  Bruno Haible  <bruno@clisp.org>
21238
21239         * modules/tls (License): Change to LGPLv2+.
21240         Reported by Eric Blake.
21241
21242 2008-06-17  Eric Blake  <ebb9@byu.net>
21243
21244         Simplify c-stack prerequisites.
21245         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
21246         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
21247         no longer requires <ucontext.h> to exist.  Optimize setrlimit
21248         check.
21249         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
21250         <sys/resource.h>.
21251
21252         Move c-stack test into testsuite.
21253         * modules/c-stack-tests: New file.
21254         * lib/c-stack.c [DEBUG]: Move test program...
21255         * tests/test-c-stack.c: ...into this new file.  Skip rather than
21256         fail test if sigaltstack is lacking.
21257         * tests/test-c-stack.sh: New driver file.
21258
21259 2008-06-16  Eric Blake  <ebb9@byu.net>
21260
21261         Use raise module consistently.
21262         * modules/fatal-signal (Depends-on): Add raise.
21263         * modules/sigprocmask (Depends-on): Likewise.
21264         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
21265         * lib/sigprocmask.c (sigprocmask): Likewise.
21266         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21267         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
21268
21269         Fix compliance bug in sigpending.
21270         * lib/sigprocmask.c (sigpending): Return pending array via
21271         parameter, not return value.
21272
21273 2008-06-14  Eric Blake  <ebb9@byu.net>
21274
21275         Improve obstack-printf test code.
21276         * tests/test-obstack-printf.c (test_function): Fix comment, and
21277         simplify usage of obstack_* in macros.  Add a test for coverage.
21278         Reported by Bruno Haible.
21279
21280 2008-06-14  Bruno Haible  <bruno@clisp.org>
21281
21282         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
21283         array size as a constant, not as a const variable.
21284         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
21285         AC_USE_SYSTEM_EXTENSIONS.
21286         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21287         Test whether the obstack_printf function actually exists.
21288         * modules/obstack-printf (Depends-on): Add extensions.
21289         (Include): Remove obstack.h.
21290         * modules/obstack-printf-posix (Depends-on): Add extensions.
21291         (Include): Remove obstack.h.
21292
21293 2008-06-13  Eric Blake  <ebb9@byu.net>
21294
21295         Add obstack-printf and obstack-printf-posix modules.
21296         * modules/obstack-printf: New file.
21297         * modules/obstack-printf-posix: Likewise.
21298         * MODULES.html.sh (Misc): Mention them.
21299         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21300         Likewise.
21301         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21302         Likewise.
21303         * modules/stdio (Makefile.am): Accomodate new modules.
21304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21305         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
21306         Declare.
21307         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
21308         functions.
21309         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
21310         (gl_REPLACE_OBSTACK_PRINTF): New macros
21311         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
21312         * tests/test-obstack-printf.c: New file.
21313         * modules/obstack-printf-tests: Likewise.
21314         * modules/obstack-printf-posix-tests: Likewise.
21315
21316 2008-06-11  Bruno Haible  <bruno@clisp.org>
21317
21318         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
21319         * lib/open.c: Include errno.h.
21320         (open): Fail when attempting to write to a file that has a trailing
21321         slash.
21322         * tests/test-open.c (main): Test against trailing slash bug.
21323         * doc/posix-functions/open.texi: Mention the trailing slash bug.
21324
21325 2008-06-10  Bruno Haible  <bruno@clisp.org>
21326
21327         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
21328         for $? to work inside the trap command, with various /bin/sh-s.
21329         * tests/test-vc-list-files-cvs.sh: Likewise.
21330
21331 2008-06-10  Bruno Haible  <bruno@clisp.org>
21332
21333         * lib/acl-internal.h: Don't include gettext.h here.
21334         * lib/set-mode-acl.c: Include gettext.h here.
21335         * lib/copy-acl.c: Likewise.
21336
21337 2008-06-10  Bruno Haible  <bruno@clisp.org>
21338
21339         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
21340         * lib/wait-process.c (wait_subprocess): Likewise.
21341         * lib/execute.h (execute): Add termsigp argument.
21342         * lib/execute.c (execute): Likewise.
21343         * lib/csharpcomp.c (compile_csharp_using_pnet,
21344         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
21345         * lib/csharpexec.c (execute_csharp_using_pnet,
21346         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
21347         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
21348         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
21349         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
21350         is_jikes_present): Update.
21351         * lib/javaexec.c (execute_java_class): Update.
21352         * lib/javaversion.c (execute_and_read_line): Update.
21353         * NEWS: Document the changes.
21354         Reported by Eric Blake.
21355
21356 2008-06-10  Eric Blake  <ebb9@byu.net>
21357
21358         Add missing include.
21359         * tests/test-strstr.c (includes): Add <signal.h>.
21360         * tests/test-strcasestr.c (includes): Likewise.
21361         * tests/test-memmem.c (includes): Likewise.
21362
21363 2008-06-10  Bruno Haible  <bruno@clisp.org>
21364
21365         * lib/wait-process.c (wait_subprocess): Add an assertion.
21366
21367 2008-06-10  Bruno Haible  <bruno@clisp.org>
21368
21369         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
21370
21371 2008-06-10  Bruno Haible  <bruno@clisp.org>
21372
21373         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
21374         using alarm().
21375         * tests/test-strcasestr.c (main): Likewise.
21376         * tests/test-strstr.c (main): Likewise.
21377
21378 2008-06-09  Bruno Haible  <bruno@clisp.org>
21379
21380         Work around the Solaris 10 ACE ACLs ABI change.
21381         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
21382         declare if ACL_NO_TRIVIAL is present.
21383         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
21384         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
21385         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
21386         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
21387         define if ACL_NO_TRIVIAL is present.
21388         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
21389         and use the current ABI.
21390         (file_has_acl): Use same #if condition as elsewhere.
21391         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
21392         in use, and use the current ABI.
21393         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
21394         Reported by Jim Meyering.
21395
21396 2008-06-09  Eric Blake  <ebb9@byu.net>
21397
21398         Work around environments that (stupidly) ignore SIGALRM.
21399         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
21400         before using alarm().
21401         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21402         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21403         Reported by Ian Beckwith <ianb@erislabs.net>.
21404
21405         Produce autobuild blurb earlier in log.
21406         * modules/autobuild (configure.ac-early): Move AB_INIT here.
21407
21408 2008-06-09  Jim Meyering  <meyering@redhat.com>
21409         and Ondřej Vašík  <ovasik@redhat.com>
21410
21411         utimens.c: correct kernel bug work-around
21412         Ondřej Vašík found that the invalid return value of 280 indicates
21413         failure, not success, and the kernel bug we're trying to work
21414         around affects not just the utimensat call, but also the fallback
21415         futimens call.
21416         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
21417         not success.
21418         [HAVE_FUTIMENS]: Use the same work-around, here.
21419
21420 2008-06-09  Jim Meyering  <meyering@redhat.com>
21421
21422         add more guards around definition of ACE_-related code
21423         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
21424         ALLOW and ACE_OWNER are also defined.
21425
21426 2008-06-08  Bruno Haible  <bruno@clisp.org>
21427
21428         * lib/acl-internal.h: Add me as co-author.
21429         * lib/file-has-acl.c: Likewise.
21430         * lib/set-mode-acl.c: Likewise.
21431         * lib/copy-acl.c: Likewise.
21432
21433 2008-06-08  Bruno Haible  <bruno@clisp.org>
21434
21435         Add support for AIX ACLs.
21436         * lib/acl-internal.h (acl_nontrivial): New declaration.
21437         * lib/file-has-acl.c (acl_nontrivial): New function.
21438         (file_has_acl): Add implementation using AIX 4 ACL API.
21439         * lib/set-mode-acl.c (qset_acl): Likewise.
21440         * lib/copy-acl.c (qcopy_acl): Likewise.
21441
21442 2008-06-08  Bruno Haible  <bruno@clisp.org>
21443
21444         Add support for HP-UX ACLs.
21445         * lib/acl-internal.h (acl_nontrivial): New declaration.
21446         * lib/file-has-acl.c (acl_nontrivial): New function.
21447         (file_has_acl): Add implementation using HP-UX 11 ACL API.
21448         * lib/set-mode-acl.c (qset_acl): Likewise.
21449         * lib/copy-acl.c (qcopy_acl): Likewise.
21450
21451 2008-06-08  Bruno Haible  <bruno@clisp.org>
21452
21453         Add support for Cygwin ACLs.
21454         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
21455         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
21456         the chmod_or_fchmod call.
21457         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
21458
21459 2008-06-08  Bruno Haible  <bruno@clisp.org>
21460
21461         Fix bug with setuid modes in Solaris 10+ code.
21462         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
21463         succeeded, when the mode contains some special bits.
21464
21465 2008-06-08  Bruno Haible  <bruno@clisp.org>
21466
21467         Add support for Solaris 7..10 ACLs.
21468         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
21469         declarations.
21470         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
21471         functions.
21472         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
21473         * lib/set-mode-acl.c (qset_acl): Likewise.
21474         * lib/copy-acl.c (qcopy_acl): Likewise.
21475
21476 2008-06-08  Bruno Haible  <bruno@clisp.org>
21477
21478         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
21479         declaration.
21480         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
21481         (acl_access_nontrivial): Remove MacOS X case.
21482         (file_has_acl): Use acl_extended_nontrivial.
21483         * lib/copy-acl.c (qcopy_acl): Likewise.
21484
21485 2008-06-08  Bruno Haible  <bruno@clisp.org>
21486
21487         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
21488
21489 2008-06-08  Jim Meyering  <meyering@redhat.com>
21490
21491         * modules/acl (Maintainer): Add Bruno Haible.
21492
21493 2008-06-07  Bruno Haible  <bruno@clisp.org>
21494
21495         Improve support for Tru64 ACLs.
21496         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
21497         ACL on OSF/1.
21498
21499 2008-06-07  Bruno Haible  <bruno@clisp.org>
21500
21501         Add support for MacOS X ACLs.
21502         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
21503         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
21504         * lib/set-mode-acl.c (qset_acl): Likewise.
21505         * lib/copy-acl.c (qcopy_acl): Likewise.
21506
21507 2008-06-07  Bruno Haible  <bruno@clisp.org>
21508
21509         Fix memory leak introduced on 2008-05-22.
21510         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
21511         use.
21512
21513 2008-06-07  Bruno Haible  <bruno@clisp.org>
21514
21515         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
21516         to construct an empty ACL.
21517
21518 2008-06-07  Bruno Haible  <bruno@clisp.org>
21519
21520         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
21521         precisely.
21522         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
21523
21524 2008-06-07  Bruno Haible  <bruno@clisp.org>
21525
21526         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
21527         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
21528
21529 2008-06-07  Bruno Haible  <bruno@clisp.org>
21530
21531         * doc/posix-functions/_setjmp.texi: Explain the use of this function
21532         regardless of POSIX.
21533         * doc/posix-functions/_longjmp.texi: Likewise.
21534         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
21535         SystemV platform in this case.
21536
21537 2008-06-06  Eric Blake  <ebb9@byu.net>
21538
21539         Document abort() bugs.
21540         * doc/posix-functions/abort.texi (abort): Mention anomalies.
21541
21542         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
21543         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
21544         sigsetjmp.
21545         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
21546         siglongjmp, but only as a macro.
21547         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
21548         is obsolete.
21549         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
21550
21551         Tweak documentation to cover cygwin argz bugs.
21552         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
21553         argz bug fix; no code change needed since no cygwin releases
21554         occurred between the last fix and the bug being tested.
21555         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
21556         module and recently fixed cygwin bugs.
21557         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
21558         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
21559         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
21560         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
21561         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
21562         Likewise.
21563         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
21564         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
21565         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
21566         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
21567         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
21568         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
21569         Likewise.
21570
21571         Avoid gcc warning on cygwin.
21572         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
21573         !ACL_NO_TRIVIAL]: Avoid unused variable.
21574
21575 2008-06-05  Eric Blake  <ebb9@byu.net>
21576
21577         Be tolerant of UNKNOWN version in gnulib-tool test dir.
21578         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
21579         git-version-gen fails to come up with a version.
21580         Reported by Simon Josefsson.
21581
21582 2008-06-05  Jim Meyering  <meyering@redhat.com>
21583             Paul Eggert  <eggert@cs.ucla.edu>
21584
21585         utimens.c: work around a probable Linux kernel bug
21586         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
21587         appears to be a kernel bug that causes utimensat to return 280
21588         instead of 0, indicating success.
21589
21590 2008-06-04  Bruno Haible  <bruno@clisp.org>
21591
21592         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
21593         2008-06-01 commit.
21594
21595 2008-06-04  Bruno Haible  <bruno@clisp.org>
21596
21597         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
21598         * lib/file-has-acl.c (acl_access_nontrivial): New function.
21599         (file_has_acl): Use it. Save errno afterwards.
21600         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
21601
21602 2008-06-03  Bruno Haible  <bruno@clisp.org>
21603
21604         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
21605         draft code. Simplify #ifs.
21606         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
21607         Put Solaris code after POSIX-draft code. Fix comments regarding
21608         Solaris 10, HP-UX. Mention Cygwin.
21609         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
21610
21611 2008-06-03  Eric Blake  <ebb9@byu.net>
21612
21613         Provide fallback for older kernels.
21614         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
21615         Provide runtime fallback if kernel lacks support.
21616         Reported by Mike Frysinger.
21617
21618 2008-06-02  Bruno Haible  <bruno@clisp.org>
21619
21620         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
21621         it exists.
21622
21623 2008-06-02  Bruno Haible  <bruno@clisp.org>
21624
21625         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
21626         * lib/copy-acl.c (qcopy_acl): Update comment.
21627
21628 2008-06-02  Bruno Haible  <bruno@clisp.org>
21629
21630         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
21631         like ACL APIs.
21632
21633 2008-06-02  Bruno Haible  <bruno@clisp.org>
21634
21635         * tests/test-file-has-acl.sh: Use different code for Cygwin.
21636         * tests/test-set-mode-acl.sh: Likewise.
21637         * tests/test-copy-acl.sh: Likewise.
21638         * tests/test-copy-file.sh: Likewise.
21639
21640 2008-06-02  Bruno Haible  <bruno@clisp.org>
21641
21642         * tests/test-file-has-acl.sh: Remove unused code.
21643
21644 2008-06-01  Bruno Haible  <bruno@clisp.org>
21645
21646         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
21647         (copy_acl): Just a wrapper around qcopy_acl that emits the error
21648         messages.
21649         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
21650
21651 2008-06-01  Bruno Haible  <bruno@clisp.org>
21652
21653         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
21654         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
21655         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
21656         APIs.
21657         * modules/acl-tests (configure.ac): Remove tests now contained in
21658         m4/acl.m4.
21659
21660 2008-06-02  Jim Meyering  <meyering@redhat.com>
21661
21662         announce-gen: use a better key-server host name
21663         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
21664         it may be more consistently reliable.  Suggested by Werner Koch
21665         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
21666
21667 2008-06-01  Bruno Haible  <bruno@clisp.org>
21668
21669         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
21670         Reported by Voroskoi Andras <voroskoi@gmail.com>.
21671
21672 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
21673
21674         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
21675
21676 2008-06-01  Bruno Haible  <bruno@clisp.org>
21677
21678         New ACL tests.
21679         * tests/test-file-has-acl.sh: New file.
21680         * tests/test-file-has-acl.c: New file.
21681         * tests/test-set-mode-acl.sh: New file.
21682         * tests/test-set-mode-acl.c: New file.
21683         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
21684         * tests/test-copy-acl.c: New file.
21685         * modules/acl-tests: New file, based on modules/copy-file-tests.
21686         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
21687         (Depends-on): Add acl-tests.
21688         (configure.ac): Remove checks.
21689         (Makefile.am): Don't create test-sameacls program here any more.
21690
21691 2008-06-01  Bruno Haible  <bruno@clisp.org>
21692
21693         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
21694         * tests/test-sameacls.c: Include progname.h.
21695         (main): Invoke set_program_name. Portability fixes for MacOS X,
21696         Solaris, HP-UX.
21697
21698 2008-06-01  Bruno Haible  <bruno@clisp.org>
21699
21700         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
21701         function.
21702         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
21703
21704 2008-06-01  Bruno Haible  <bruno@clisp.org>
21705
21706         * modules/rpmatch (Depends-on): Add strdup.
21707
21708 2008-06-01  Bruno Haible  <bruno@clisp.org>
21709
21710         * lib/pipe.c: Include unistd-safer.h.
21711         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
21712         * modules/pipe (Depends-on): Add unistd-safer.
21713
21714 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21715
21716         * modules/autobuild (configure.ac): Call AB_INIT.
21717
21718 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21719
21720         * tests/test-getaddrinfo.c: Don't print debug messages by default.
21721         Suggested by Bruno Haible <bruno@clisp.org>.
21722
21723 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21724
21725         * tests/test-base64.c: Cast size_t to unsigned long when invoking
21726         printf.  Use %lu instead of %d.  Reported by Bruno Haible
21727         <bruno@clisp.org>.
21728
21729 2008-05-29  Eric Blake  <ebb9@byu.net>
21730
21731         Prefer new POSIX 200x interfaces over futimesat.
21732         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
21733         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
21734         when available.
21735         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
21736
21737 2008-05-28  Bruno Haible  <bruno@clisp.org>
21738
21739         * modules/stpcpy (License): Change to LGPLv2+.
21740         Requested by David Lutterkort <dlutter@redhat.com>.
21741
21742 2008-05-27  Bruno Haible  <bruno@clisp.org>
21743
21744         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
21745         current mingw.
21746         Reported by Jose E. Marchesi <jemarch@gnu.org>.
21747
21748 2008-05-27  Bruno Haible  <bruno@clisp.org>
21749
21750         * modules/iconv_open (Link): New section, from module 'iconv'.
21751         * modules/striconv (Link): Likewise.
21752         * modules/striconveh (Link): Likewise.
21753         * modules/xstriconv (Link): Likewise.
21754         * modules/unicodeio (Link): Likewise.
21755         * modules/propername (Link): Likewise.
21756         Reported by Jim Meyering.
21757
21758 2008-05-26  Jim Meyering  <meyering@redhat.com>
21759
21760         sha256: do not artificially restrict buffer length to be < 2^32
21761         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
21762         uint32_t to size_t.
21763         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
21764         to match.
21765
21766         avoid unaligned access errors, e.g., on sparc
21767         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
21768         direct access through a possibly-unaligned uint64* pointer.
21769         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
21770         direct access through a possibly-unaligned uint32* pointer.
21771         Prompted by this patch from Tom "spot" Callaway:
21772         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
21773
21774         sha512.c: fix typo in comment
21775         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
21776
21777 2008-05-25  Bruno Haible  <bruno@clisp.org>
21778
21779         * lib/set-mode-acl.c: Renamed from lib/acl.c.
21780         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
21781         (Makefile.am): Update lib_SOURCES.
21782
21783 2008-05-25  Bruno Haible  <bruno@clisp.org>
21784
21785         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
21786
21787 2008-05-25  Jim Meyering  <meyering@redhat.com>
21788
21789         useless-if-before-free: freed expr may have white-space differences
21790         * build-aux/useless-if-before-free: Recognize cases in which the
21791         freed expression differs from the tested one in embedded white
21792         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
21793         $1 was used, so we can't make any regexp shy.  Improved tests now
21794         detect this.
21795
21796         useless-if-before-free: accept white space in the expression.
21797         * build-aux/useless-if-before-free: For now, any white space
21798         in the expression must be identical in the free argument.
21799
21800         useless-if-before-free: efficiency tweak
21801         * build-aux/useless-if-before-free: Make the expression-matching
21802         regexp "shy".
21803         Make the *outer* regexp shy, not the expr-matching one.
21804
21805         update code-in-comment to accept cast of free arg
21806         * build-aux/useless-if-before-free: Update regexp.
21807
21808 2008-05-25  Bruno Haible  <bruno@clisp.org>
21809
21810         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
21811         * modules/copy-file-tests (Files, Makefile.am): Update.
21812         * tests/test-copy-file.c (func_test_copy): Update.
21813
21814 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
21815
21816         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
21817
21818 2008-05-23  Bruno Haible  <bruno@clisp.org>
21819
21820         Improve support for ACLs on OSF/1.
21821         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
21822         Remove fallback for unknown flavors of ACLs.
21823
21824 2008-05-22  Bruno Haible  <bruno@clisp.org>
21825
21826         Add support for ACLs on OSF/1.
21827         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
21828         replacements.
21829         (acl_free_text): New macro fallback.
21830         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
21831         acl_free.
21832         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
21833         acl_free_text function. Require AC_C_INLINE.
21834
21835 2008-05-22  Bruno Haible  <bruno@clisp.org>
21836
21837         Make copy_acl work on MacOS X 10.5.
21838         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
21839         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
21840         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
21841         If MODE_INSIDE_ACL, don't assume that every system has the same text
21842         representation for ACLs as FreeBSD.
21843         * lib/copy-acl.c (copy_acl): Add support for platforms with
21844         !MODE_INSIDE_ACL.
21845         * lib/file-has-acl.c (file_has_acl): Likewise.
21846         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
21847         FreeBSD, MacOS X, or IRIX, respectively.
21848
21849 2008-05-22  Bruno Haible  <bruno@clisp.org>
21850
21851         * lib/acl.h: Don't include <sys/acl.h>.
21852         (GETACLCNT): Move fallback to lib/acl-internal.h.
21853         * lib/acl-internal.h: Include <sys/acl.h> here.
21854         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
21855
21856 2008-05-22  Bruno Haible  <bruno@clisp.org>
21857
21858         Split off copy_acl function to separate file.
21859         * lib/copy-acl.c: New file, extracted from lib/acl.c.
21860         * lib/acl.c (copy_acl): Moved function to separate file.
21861         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
21862         * modules/acl (Files): Add lib/copy-acl.c.
21863         (Makefiles.am): Augment lib_SOURCES.
21864
21865 2008-05-22  Bruno Haible  <bruno@clisp.org>
21866
21867         * modules/copy-file-tests: New file.
21868         * tests/test-copy-file.sh: New file.
21869         * tests/test-copy-file.c: New file.
21870         * tests/test-copy-file-sameacls.c: New file.
21871
21872 2008-05-22  Eric Blake  <ebb9@byu.net>
21873
21874         Avoid gcc warning.
21875         * tests/test-memcmp.c (main): Pass NULL indirectly.
21876
21877 2008-05-21  Bruno Haible  <bruno@clisp.org>
21878
21879         Add reference doc about ACLs.
21880         * doc/acl-resources.txt: New file.
21881         * doc/acl-cygwin.txt: New file.
21882
21883 2008-05-21  Bruno Haible  <bruno@clisp.org>
21884
21885         Avoid one more warning from gcc.
21886         * lib/vasnprintf.c (IF_LINT): Update comments.
21887         (VASNPRINTF): Use it also for the 'prefix' array initializer.
21888
21889 2008-05-21  Jim Meyering  <meyering@redhat.com>
21890
21891         avoid a warning from gcc
21892         * lib/vasnprintf.c (IF_LINT): Define.
21893         (scale10_round_decimal_long_double):
21894         Use it to avoid a "may be used uninitialized" warning.
21895         (scale10_round_decimal_double): Likewise.
21896
21897 2008-05-21  Simon Josefsson  <simon@josefsson.org>
21898
21899         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
21900         declared.
21901
21902 2008-05-20  Bruno Haible  <bruno@clisp.org>
21903
21904         * tests/test-memcmp.c (main): Test also the sign of the result. Test
21905         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
21906
21907 2008-05-20  Simon Josefsson  <simon@josefsson.org>
21908
21909         * modules/memcmp-tests: New file.
21910         * tests/test-memcmp.c: New file.
21911
21912 2008-05-19  Bruno Haible  <bruno@clisp.org>
21913
21914         * modules/propername (Notice, configure.ac): Put quoted "..." into
21915         --keyword option.
21916         * lib/propername.h: Update comments accordingly.
21917         Reported by Eric Blake.
21918
21919 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
21920
21921         * modules/getpass-gnu (Depends-on): Add fseeko.
21922
21923 2008-05-19  Simon Josefsson  <simon@josefsson.org>
21924
21925         * modules/base64-tests: New file.
21926
21927 2008-05-19  Bo Borgerson <gigabo@gmail.com>
21928
21929         * lib/base64.c (base64_decode_ctx): If a decode context structure
21930         was passed in use it to ignore newlines.  If a context structure
21931         was _not_ passed in, continue to treat newlines as garbage (this
21932         is the historical behavior).  Formerly base64_decode.
21933         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
21934         takes a decode context structure.
21935         * lib/base64.h (base64_decode): Macro for four-argument calls.
21936         (base64_decode_alloc): Likewise.
21937         * lib/base64.c (base64_decode_ctx): If a decode context structure
21938         was passed in use it to ignore newlines.  If a context structure
21939         was _not_ passed in, continue to treat newlines as garbage (this
21940         is the historical behavior).  Formerly base64_decode.
21941         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
21942         takes a decode context structure.
21943         * lib/base64.h (base64_decode): Macro for four-argument calls.
21944         (base64_decode_alloc): Likewise.
21945
21946 2008-05-19  Jim Meyering  <meyering@redhat.com>
21947
21948         avoid a warning from gcc
21949         * lib/trim.c (IF_LINT): Define.
21950         (trim2): Use it to avoid a "may be used uninitialized" warning.
21951
21952         Fix doc typo.
21953         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
21954
21955 2008-05-19  Bruno Haible  <bruno@clisp.org>
21956
21957         * doc/glibc-functions/getpass.texi: Document limits of other
21958         implementations.
21959
21960 2008-05-19  Simon Josefsson  <simon@josefsson.org>
21961             Bruno Haible <bruno@clisp.org>
21962
21963         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
21964
21965 2008-05-18  Bruno Haible  <bruno@clisp.org>
21966
21967         * modules/propername: New file, from GNU gettext.
21968         * lib/propername.h: New file, from GNU gettext.
21969         * lib/propername.c: New file, from GNU gettext.
21970         * MODULES.html.sh (Internationalization functions): Add propername.
21971
21972 2008-05-16  Jim Meyering  <meyering@redhat.com>
21973             Bruno Haible  <bruno@clisp.org>
21974
21975         Avoid some warnings from "gcc -Wshadow".
21976         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
21977
21978 2008-05-15  Eric Blake  <ebb9@byu.net>
21979
21980         Extend previous patch to cygwin 1.7.0.
21981         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
21982         fast implementation in cygwin >= 1.7.0.
21983         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21984         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21985
21986 2008-05-15  Bruno Haible  <bruno@clisp.org>
21987
21988         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
21989         implementation in glibc >= 2.9.
21990         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21991         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21992
21993 2008-05-15  Bruno Haible  <bruno@clisp.org>
21994
21995         * MODULES.html.sh (Internationalization functions): Remove linebreak.
21996         (Unicode string functions): Add unilbrk/*.
21997         Reported by Karl Berry.
21998
21999 2008-05-15  Eric Blake  <ebb9@byu.net>
22000
22001         Fix violation of <stdbool.h> replacement in regex.
22002         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
22003         * lib/regexec.c (re_search_internal): Likewise.
22004         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
22005
22006 2008-05-15  Jim Meyering  <meyering@redhat.com>
22007
22008         avoid distracting test output when git or cvs is not found
22009         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
22010         * tests/test-vc-list-files-git.sh: Likewise.
22011
22012 2008-05-15  Eric Blake  <ebb9@byu.net>
22013
22014         Glibc finally accepted the memmem speedup code, bugzilla #5514.
22015         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
22016         glibc version.
22017         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22018         * doc/posix-functions/strstr.texi (strstr): Likewise.
22019         * lib/str-two-way.h (MAX): Sychronize with glibc.
22020
22021 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
22022
22023         * lib/regcomp.c (optimize_utf8): Add a note on why we test
22024         opr.ctx_type.
22025         (calc_first): Initialize constraint field.
22026         (duplicate_node_closure): Use it instead of special casing ANCHORS.
22027         Fix grammar.
22028         (duplicate_node): Merge constraint field for all node types.
22029         (calc_eclosure_iter): Look at constraint field for all node types.
22030         * lib/regex_internal.c (create_cd_newstate): Don't look at
22031         opr.ctx_type.
22032
22033 2008-05-14  Bruno Haible  <bruno@clisp.org>
22034
22035         Help GCC to do better code generation.
22036         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
22037         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22038         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
22039         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
22040         Declare with attribute 'malloc' if supported.
22041
22042 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
22043
22044         use "echo STR|wc -c" rather than unportable "expr length STR"
22045         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
22046         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
22047
22048 2008-05-14  Jim Meyering  <meyering@redhat.com>
22049
22050         use dd ibs=$n count=1 ... rather than less-portable head -c$n
22051         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
22052         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
22053         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
22054         via Collin Lasse.
22055
22056 2008-05-14  Eric Blake  <ebb9@byu.net>
22057
22058         Avoid quadratic growth in gl_LIBSOURCES.
22059         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
22060         Suggested by Bruno Haible.
22061
22062         Test xmemdup0.
22063         * modules/xmemdup0-tests: New file.
22064         * tests/test-xmemdup0.c: Likewise.
22065
22066 2008-05-13  Eric Blake  <ebb9@byu.net>
22067
22068         Split xmemdup0 into its own module.
22069         * modules/xmemdup0: New file.
22070         * lib/xmemdup0.h: Likewise.
22071         * lib/xmemdup0.c: Likewise.
22072         * MODULES.html.sh (Memory management functions): Add xmemdup0.
22073         * lib/xalloc.h (xmemdup0): Remove.
22074         * lib/xmalloc.c (xmemdup0): Likewise.
22075
22076 2008-05-13  Eric Blake  <ebb9@byu.net>
22077             Bruno Haible  <bruno@clisp.org>
22078
22079         Reduce number of forks required during autoconf.
22080         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
22081         and gl_LIBSOURCES_DIR.
22082         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
22083         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
22084         m4_syscmd per file.
22085         <m4_foreach_w>: Move...
22086         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
22087
22088 2008-05-13  Eric Blake  <ebb9@byu.net>
22089
22090         * gnulib-tool: Fix various comment typos.
22091
22092 2008-05-12  Bruno Haible  <bruno@clisp.org>
22093
22094         Tailor the linebreaking algorithm.
22095         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
22096
22097 2008-05-12  Bruno Haible  <bruno@clisp.org>
22098
22099         Update to Unicode 5.0.0.
22100         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22101         LBP_JV, LBP_JT. Redistribute values.
22102         (unilbrk_table): Change size.
22103         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
22104         Unicode TR#14 rev. 22.
22105         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22106         LBP_JV, LBP_JT. Redistribute values.
22107         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
22108         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
22109         Update.
22110         * lib/unilbrk/lbrkprop1.h: Regenerated.
22111         * lib/unilbrk/lbrkprop2.h: Regenerated.
22112         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
22113         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
22114         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
22115         Likewise.
22116         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
22117         Likewise.
22118         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
22119         result.
22120         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22121         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22122         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22123         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
22124         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
22125         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
22126
22127 2008-05-11  Bruno Haible  <bruno@clisp.org>
22128
22129         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
22130
22131 2008-05-11  Bruno Haible  <bruno@clisp.org>
22132
22133         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
22134         * modules/unilbrk/gen-lbrk: New file.
22135
22136 2008-05-11  Bruno Haible  <bruno@clisp.org>
22137
22138         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
22139         * m4/sha512.m4 (gl_SHA512): Likewise.
22140
22141 2008-05-11  Jim Meyering  <meyering@redhat.com>
22142
22143         New modules: crypto/sha256, crypto/sha512 (from coreutils)
22144         * modules/crypto/sha256: New file.
22145         * modules/crypto/sha512: Likewise.
22146         * lib/sha256.c: Likewise.
22147         * lib/sha256.h: Likewise.
22148         * lib/sha512.c: Likewise.
22149         * lib/sha512.h: Likewise.
22150         * lib/u64.h: Likewise.
22151         * m4/sha256.m4: Likewise.
22152         * m4/sha512.m4: Likewise.
22153         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
22154
22155 2008-05-10  Bruno Haible  <bruno@clisp.org>
22156
22157         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
22158         (Input/Output <stdio.h>): Add xprintf.
22159         (Signal handling <signal.h>): Add strsignal.
22160         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
22161         (Core language properties): Add func.
22162         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
22163         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
22164         strings.
22165         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
22166         (Input/output): New section.
22167         (File system functions): Add openat-die, stat-macros.
22168         (Networking functions): Add sockets.
22169         (Unicode string functions): Add unictype/*.
22170         (Support for building libraries and executables): Add gperf.
22171         (Support for building documentation): Add agpl-3.0.
22172         (Misc): Add nocrash.
22173
22174 2008-05-10  Bruno Haible  <bruno@clisp.org>
22175
22176         * modules/unictype/gen-ctype: New file.
22177
22178 2008-05-10  Jim Meyering  <meyering@redhat.com>
22179
22180         Make chdir-safer.c more efficient on a system with no symlinks.
22181         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
22182         also if ELOOP is zero.  Suggested by Bruno Haible.
22183
22184         Make chdir-safer.c slightly safer.
22185         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
22186         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
22187
22188         Avoid compile failure on systems without ELOOP (like mingw).
22189         * lib/chdir-safer.c (ELOOP): Define if not already defined.
22190         Reported by Bruno Haible.
22191
22192 2008-05-10  Bruno Haible  <bruno@clisp.org>
22193
22194         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
22195         (is_utf8_encoding): Use a case-insensitive comparison.
22196         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
22197         streq.
22198
22199 2008-05-10  Bruno Haible  <bruno@clisp.org>
22200
22201         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
22202         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
22203         * lib/unilbrk/ulc-common.h (iconv_string_length,
22204         iconv_string_keeping_offsets): Remove declarations.
22205         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
22206         Don't include <iconv.h>, streq.h, xsize.h.
22207         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
22208         conversion.
22209         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
22210         <iconv.h>, streq.h, xsize.h.
22211         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
22212         conversion.
22213         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
22214         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
22215         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
22216         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
22217
22218 2008-05-10  Bruno Haible  <bruno@clisp.org>
22219
22220         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
22221         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
22222
22223         * modules/unilbrk/u32-width-linebreaks-tests: New file.
22224         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
22225
22226         * modules/unilbrk/u16-width-linebreaks-tests: New file.
22227         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
22228
22229         * modules/unilbrk/u8-width-linebreaks-tests: New file.
22230         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
22231
22232         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
22233         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
22234
22235         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
22236         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
22237
22238         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
22239         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
22240
22241         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
22242         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
22243
22244 2008-05-10  Bruno Haible  <bruno@clisp.org>
22245
22246         Split up 'linebreak' module.
22247         * lib/unilbrk.h: New file, based on lib/linebreak.h.
22248         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
22249         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
22250         modifications.
22251         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
22252         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
22253         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
22254         lib/linebreak.c.
22255         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
22256         lib/linebreak.c.
22257         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
22258         lib/linebreak.c.
22259         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
22260         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
22261         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
22262         lib/linebreak.c.
22263         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
22264         lib/linebreak.c.
22265         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
22266         lib/linebreak.c.
22267         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
22268         lib/linebreak.c.
22269         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
22270         lib/linebreak.c.
22271         * modules/unilbrk/base: New file.
22272         * modules/unilbrk/tables: New file.
22273         * modules/unilbrk/u8-possible-linebreaks: New file.
22274         * modules/unilbrk/u16-possible-linebreaks: New file.
22275         * modules/unilbrk/u32-possible-linebreaks: New file.
22276         * modules/unilbrk/ulc-common: New file.
22277         * modules/unilbrk/ulc-possible-linebreaks: New file.
22278         * modules/unilbrk/u8-width-linebreaks: New file.
22279         * modules/unilbrk/u16-width-linebreaks: New file.
22280         * modules/unilbrk/u32-width-linebreaks: New file.
22281         * modules/unilbrk/ulc-width-linebreaks: New file.
22282         * lib/linebreak.h: Remove file.
22283         * lib/linebreak.c: Remove file.
22284         * m4/linebreak.m4: Remove file.
22285         * modules/linebreak: Remove file.
22286         * NEWS: Mention the changes.
22287
22288 2008-05-09  Eric Blake  <ebb9@byu.net>
22289
22290         Add xmemdup0.
22291         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
22292         implementation.
22293         * lib/xmalloc.c (xmemdup0): New C implementation.
22294
22295 2008-05-08  Bruno Haible  <bruno@clisp.org>
22296
22297         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
22298
22299 2008-05-07  Eric Blake  <ebb9@byu.net>
22300
22301         Support cross-compilation of <wctype.h>.
22302         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
22303         AC_CACHE_CHECK.
22304
22305 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
22306
22307         * build-aux/vc-list-files: Add support for bzr.
22308
22309 2008-05-03  Jim Meyering  <meyering@redhat.com>
22310
22311         avoid failed assertion with tight malloc
22312         * tests/test-getndelim2.c: Correct an off-by-one assertion.
22313
22314 2008-05-03  Simon Josefsson  <simon@josefsson.org>
22315
22316         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
22317         are needed from arpa/inet.h.
22318         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
22319         Reported by Bruno Haible.
22320
22321 2008-05-02  Jim Meyering  <meyering@redhat.com>
22322
22323         avoid compilation error on FreeBSD 6
22324         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
22325
22326 2008-05-01  Jim Meyering  <meyering@redhat.com>
22327
22328         useless-if-before-free: correct --help's exit status description
22329         * build-aux/useless-if-before-free (usage): Like grep, exit 0
22330         for one or more matches, etc.  Reported by Bruno Haible.
22331
22332         vc-list-files: make the stand-alone gnulib test work
22333         * modules/vc-list-files-tests (configure.ac):
22334         Define and AC_SUBST abs_aux_dir.
22335         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
22336         $(abs_top_srcdir) to each script and having each of them
22337         duplicate the work of setting PATH, set PATH here, using
22338         the new variable, abs_aux_dir instead.
22339         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
22340         * tests/test-vc-list-files-git.sh: Likewise.
22341         Reported by Bruno Haible.
22342
22343 2008-05-01  Bruno Haible  <bruno@clisp.org>
22344
22345         * lib/getndelim2.c (getndelim2): Fix newsize computation during
22346         reallocation. Rename 'done' to 'found_delimiter'.
22347
22348 2008-05-01  Jim Meyering  <meyering@redhat.com>
22349
22350         vc-list-files: accommodate /bin/sh like the one from Solaris 10
22351         * build-aux/vc-list-files: Use `...`, not $(...).
22352
22353 2008-04-30  Jim Meyering  <meyering@redhat.com>
22354
22355         add tests for vc-list-files
22356         * modules/vc-list-files-tests: New module.
22357         * tests/test-vc-list-files-cvs.sh: New file.
22358         * tests/test-vc-list-files-git.sh: New file.
22359
22360         avoid a warning from gcc
22361         * lib/getndelim2.c (IF_LINT): Define.
22362         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
22363
22364         vc-list-files: work properly with build-aux/cvsu, too
22365         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
22366         to all cvs-based clauses.
22367
22368         vc-list-files: work properly in the CVS+awk case, too
22369         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
22370
22371         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
22372         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
22373         take more than one file argument, so .  Add quotes, just in case $dir
22374         ever contains a shell meta-character.  Prompted by Soren Hansen in
22375         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
22376
22377 2008-04-29  Eric Blake  <ebb9@byu.net>
22378
22379         Optimize getndelim2 to use block operations when possible.
22380         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
22381         freadseek, and memchr2.
22382         * lib/getndelim2.c (getndelim2): Use them for block reads.
22383
22384 2008-04-29  Bruno Haible  <bruno@clisp.org>
22385
22386         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
22387         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22388         * modules/inet_ntop (Depends-on): Add extensions.
22389         * modules/inet_pton (Depends-on): Likewise.
22390         Reported by Simon Josefsson.
22391
22392 2008-04-29  Jim Meyering  <meyering@redhat.com>
22393
22394         When the is more than one match in a block, match all of them.
22395         * build-aux/useless-if-before-free: Iterate through each block
22396         until there are no more matches.
22397
22398         Fix broken useless-if-before-free script.
22399         * build-aux/useless-if-before-free: Fix typo: missing "?" after
22400         the expression to match cast of argument to free-like function.
22401
22402 2008-04-29  Eric Blake  <ebb9@byu.net>
22403
22404         Use new header.
22405         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
22406
22407 2008-04-29  Jim Meyering  <meyering@redhat.com>
22408
22409         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
22410         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
22411         by gnulib to exist and to declare e.g., inet_ntop.
22412         Don't include "inet_ntop.h", now removed.
22413
22414         * m4/arpa_inet_h.m4: Remove trailing blanks.
22415
22416 2008-04-29  Eric Blake  <ebb9@byu.net>
22417
22418         Silence valgrind on safe reads beyond potential array bounds.
22419         * lib/rawmemchr.valgrind: New file.
22420         * lib/strchrnul.valgrind: Likewise.
22421         * modules/rawmemchr (Files): Distribute new file.
22422         * modules/strchrnul (Files): Likewise.
22423         Suggested by Bruno Haible.
22424
22425 2008-04-29  Bruno Haible  <bruno@clisp.org>
22426
22427         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
22428         (inet_ntop, inet_pton): Change portability warning's wording.
22429         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
22430         Invoke gl_CHECK_NEXT_HEADERS.
22431         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
22432         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
22433         set ARPA_INET_H.
22434         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22435         * modules/arpa_inet (Description): No longer only for systems that
22436         lack it.
22437         (Depends-on): Add include_next.
22438         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
22439         HAVE_ARPA_INET_H.
22440
22441 2008-04-29  Jim Meyering  <meyering@redhat.com>
22442
22443         * modules/mkdir (License): Re-license as LGPLv2+.
22444
22445 2008-04-29  Bruno Haible  <bruno@clisp.org>
22446
22447         * modules/rawmemchr (Maintainer): Set to Eric.
22448         * modules/strchrnul (Maintainer): Likewise.
22449
22450 2008-04-29  Simon Josefsson  <simon@josefsson.org>
22451
22452         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
22453         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
22454
22455         * modules/arpa_inet (arpa/inet.h): Use them.
22456
22457 2008-04-28  Eric Blake  <ebb9@byu.net>
22458
22459         Test getndelim2.
22460         * modules/getndelim2-tests: New file.
22461         * tests/test-getndelim2.c: Likewise.
22462         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
22463         stream.
22464         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
22465
22466         * MODULES.html.sh: Document new module.
22467
22468 2008-04-20  Bruno Haible  <bruno@clisp.org>
22469
22470         * lib/c-stack.c (die): Use raise.
22471         * modules/c-stack (Depends-on): Add raise.
22472
22473 2008-04-28  Bruno Haible  <bruno@clisp.org>
22474
22475         Expect rpmatch to be declared.
22476         * lib/yesno.c (rpmatch): Remove declaration.
22477
22478         Declare rpmatch.
22479         * lib/stdlib.in.h (rpmatch): New declaration.
22480         * lib/rpmatch.c: Include <stdlib.h> first.
22481         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
22482         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
22483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
22484         HAVE_RPMATCH.
22485         * modules/rpmatch (Depends-on): Add stdlib, extensions.
22486         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22487         (Include): Set to <stdlib.h>.
22488         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
22489         HAVE_RPMATCH.
22490         * NEWS: Document the change.
22491
22492 2008-04-28  Bruno Haible  <bruno@clisp.org>
22493
22494         Change rpmatch to use nl_langinfo when appropriate.
22495         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
22496         (N_): New macro.
22497         (localized_pattern): New function/macro.
22498         (try): Remove match, nomatch arguments. Copy the pattern into safe
22499         memory before caching it.
22500         (rpmatch): Use localized_pattern. Add translator comments.
22501         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
22502         Suggested by Eric Blake.
22503         * modules/rpmatch (Depends-on): Add stdbool.
22504
22505 2008-04-28  Eric Blake  <ebb9@byu.net>
22506
22507         Add rawmemchr module, matching glibc.
22508         * modules/string (Makefile.am): New indicator.
22509         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
22510         * lib/string.in.h (rawmemchr): Declare when appropriate.
22511         * modules/rawmemchr: New file.
22512         * m4/rawmemchr.m4: Likewise.
22513         * lib/rawmemchr.c: Likewise.
22514         * modules/rawmemchr-tests: Likewise.
22515         * tests/test-rawmemchr.c: Likewise.
22516         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
22517         module.
22518         * modules/strchrnul (Depends-on): Add rawmemchr.
22519         * lib/strchrnul.c (strchrnul): Optimize a corner case.
22520
22521         Whitespace cleanup.
22522         * tests/test-strchrnul.c: Reindent.
22523         * lib/strchrnul.c: Likewise.
22524
22525         Optimize and test strchrnul.
22526         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
22527         * modules/strchrnul-tests: New file.
22528         * tests/test-strchrnul.c: Likewise.
22529
22530         Remove intprops dependency.
22531         * modules/memchr (Depends-on): Remove intprops.
22532         * modules/memrchr (Depends-on): Likewise.
22533         * modules/memchr2 (Depends-on): Likewise.
22534         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
22535         * lib/memrchr.c (__memrchr): Likewise.
22536         * lib/memrchr2.c (memchr2): Likewise.
22537         Reported by Simon Josefsson.
22538
22539 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22540
22541         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
22542         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22543
22544 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22545
22546         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
22547
22548         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
22549
22550         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
22551
22552         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
22553         declarations.
22554         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
22555
22556         * m4/inet_pton.m4: Don't check for header files.
22557
22558         * m4/inet_ntop.m4: Don't check for header files.
22559
22560 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22561
22562         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
22563         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
22564         trigger for cygwin).
22565         Reported by Bruno Haible  <bruno@clisp.org>.
22566
22567 2008-04-28  Bruno Haible  <bruno@clisp.org>
22568
22569         * doc/posix-functions/strdup.texi: Mention mingw problem.
22570
22571 2008-04-27  Bruno Haible  <bruno@clisp.org>
22572
22573         * modules/stat-time-tests (Depends-on): Add sleep.
22574         * tests/test-stat-time.c (force_unlink): New function.
22575         (cleanup): Use it.
22576         (test_mtime): Remove the ctime related tests.
22577         (test_ctime): New function, containing the ctime related tests.
22578         (main): Call test_ctime, except on native Windows platforms.
22579
22580 2008-04-27  Bruno Haible  <bruno@clisp.org>
22581
22582         * lib/rpmatch.c (rpmatch): Add some comments.
22583         Reported by James Youngman <jay@gnu.org>.
22584
22585 2008-04-27  Bruno Haible  <bruno@clisp.org>
22586
22587         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
22588         quiet NaNs.
22589
22590 2008-04-27  Bruno Haible  <bruno@clisp.org>
22591
22592         Make test-yesno.sh work on mingw.
22593         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
22594         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
22595         (main): Set stdin to binary mode.
22596         * modules/yesno-tests (Depends-on): Add binary-io.
22597
22598 2008-04-27  Bruno Haible  <bruno@clisp.org>
22599
22600         Fix 'isfinite' on x86, x86_64, ia64 platforms.
22601         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
22602         argument that lie outside the IEEE 854 domain.
22603         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
22604         (gl_ISFINITE): Use it.
22605         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
22606
22607 2008-04-27  Bruno Haible  <bruno@clisp.org>
22608
22609         Allow local renaming in config.h.
22610         * lib/memrchr.c (memrchr): Don't undefine outside libc.
22611
22612 2008-04-27  Bruno Haible  <bruno@clisp.org>
22613
22614         * lib/memchr.c (__memchr): Change type of 'i'.
22615         * lib/memchr2.c (memchr2): Likewise.
22616
22617 2008-04-26  Eric Blake  <ebb9@byu.net>
22618         and Bruno Haible  <bruno@clisp.org>
22619
22620         Optimize and test memrchr.
22621         * modules/memrchr (Depends-on): Add intprops.
22622         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
22623         * modules/memrchr-tests: New file.
22624         * tests/test-memrchr.c: New file.
22625
22626 2008-04-26  Bruno Haible  <bruno@clisp.org>
22627
22628         Add tentative support for DragonFly BSD.
22629         * lib/stdio-impl.h: Add macros for DragonFly BSD.
22630         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
22631         fp.
22632         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
22633         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
22634         * lib/fpurge.c (fpurge): Likewise.
22635         * lib/freadable.c (freaadable): Likewise.
22636         * lib/freadahead.c (freadahead): Likewise.
22637         * lib/freading.c (freading): Likewise.
22638         * lib/freadptr.c (freadptr): Likewise.
22639         * lib/freadseek.c (freadptrinc): Likewise.
22640         * lib/fseeko.c (fseeko): Likewise.
22641         * lib/fseterr.c (fseterr): Likewise.
22642         * lib/fwritable.c (fwritable): Likewise.
22643         * lib/fwriting.c (fwriting): Likewise.
22644
22645 2008-04-26  Bruno Haible  <bruno@clisp.org>
22646
22647         * lib/stdio-impl.h: New file.
22648         * lib/fbufmode.c: Include stdio-impl.h.
22649         (fbufmode): Use fp_, remove redundant #defines.
22650         * lib/fflush.c: Include stdio-impl.h.
22651         (clear_ungetc_buffer): Remove redundant #defines.
22652         * lib/fpurge.c: Include stdio-impl.h.
22653         (fpurge): Remove redundant #defines.
22654         * lib/freadable.c: Include stdio-impl.h.
22655         (freadable): Remove redundant #defines.
22656         * lib/freadahead.c: Include stdio-impl.h.
22657         (freadahead): Remove redundant #defines.
22658         * lib/freading.c: Include stdio-impl.h.
22659         (freading): Remove redundant #defines.
22660         * lib/freadptr.c: Include stdio-impl.h.
22661         (freadptr): Remove redundant #defines.
22662         * lib/freadseek.c: Include stdio-impl.h.
22663         (freadptrinc): Remove redundant #defines.
22664         * lib/fseeko.c: Include stdio-impl.h.
22665         (rpl_fseeko): Remove redundant #defines.
22666         * lib/fseterr.c: Include stdio-impl.h.
22667         (fseterr): Remove redundant #defines.
22668         * lib/fwritable.c: Include stdio-impl.h.
22669         (fwritable: Remove redundant #defines.
22670         * lib/fwriting.c: Include stdio-impl.h.
22671         (fwriting): Remove redundant #defines.
22672         * modules/fbufmode (Files): Add lib/stdio-impl.h.
22673         * modules/fflush (Files): Likewise.
22674         * modules/fpurge (Files): Likewise.
22675         * modules/freadable (Files): Likewise.
22676         * modules/freadahead (Files): Likewise.
22677         * modules/freading (Files): Likewise.
22678         * modules/freadptr (Files): Likewise.
22679         * modules/freadseek (Files): Likewise.
22680         * modules/fseeko (Files): Likewise.
22681         * modules/fseterr (Files): Likewise.
22682         * modules/fwritable (Files): Likewise.
22683         * modules/fwriting (Files): Likewise.
22684
22685 2008-04-26  Bruno Haible  <bruno@clisp.org>
22686
22687         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
22688         restore_seek_optimization, update_fpos_cache): New functions, extracted
22689         from rpl_fflush.
22690         (rpl_fflush): Use them.
22691         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
22692         (gl_REPLACE_FFLUSH): Use it.
22693
22694 2008-04-26  Bruno Haible  <bruno@clisp.org>
22695
22696         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
22697         on Solaris.
22698         * tests/test-xstrtoimax.sh: Likewise.
22699         * tests/test-xstrtoumax.sh: Likewise.
22700         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22701
22702 2008-04-26  Bruno Haible  <bruno@clisp.org>
22703
22704         * modules/memchr-tests: New file.
22705         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
22706
22707 2008-04-26  Eric Blake  <ebb9@byu.net>
22708             Bruno Haible  <bruno@clisp.org>
22709
22710         * lib/memchr.c: Include intprops.h.
22711         (__memchr): Optimize parallel detection of matching bytes. Rename local
22712         variables. Add explanatory comments.
22713
22714 2008-04-26  Bruno Haible  <bruno@clisp.org>
22715
22716         Fix module 'memchr', broken since 2000-10-28.
22717         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
22718
22719 2008-04-26  Bruno Haible  <bruno@clisp.org>
22720
22721         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
22722         comments.
22723
22724 2008-04-25  Eric Blake  <ebb9@byu.net>
22725
22726         Use native fstatat on cygwin 1.7.0.
22727         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
22728         first.
22729
22730 2008-04-23  Eric Blake  <ebb9@byu.net>
22731
22732         Improve memchr2 performance.
22733         * lib/memchr2.c (memchr2): Further optimize parallel detection of
22734         NUL bytes.
22735         * modules/memchr2 (Depends-on): Use intprops.h.
22736
22737 2008-04-23  Simon Josefsson  <simon@josefsson.org>
22738
22739         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
22740         an inline function instead of a CPP macro.  Patch by Ben Pfaff
22741         <blp@cs.stanford.edu>.
22742
22743 2008-04-23  Simon Josefsson  <simon@josefsson.org>
22744
22745         * lib/arpa_inet.in.h: New file.
22746
22747         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
22748         (Makefile.am): Sed in substitute header file.
22749
22750         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
22751         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
22752
22753         * modules/inet_ntop (configure.ac): Use
22754         gl_ARPA_INET_MODULE_INDICATOR.
22755
22756         * modules/inet_pton (configure.ac): Use
22757         gl_ARPA_INET_MODULE_INDICATOR.
22758
22759 2008-04-22  Jim Meyering  <meyering@redhat.com>
22760
22761         * modules/verify (License): Re-license as LGPLv2+.
22762
22763 2008-04-22  Simon Josefsson  <simon@josefsson.org>
22764
22765         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
22766         parameter to void* as per POSIX standard (MinGW uses char*).
22767
22768 2008-04-21  Bruno Haible  <bruno@clisp.org>
22769
22770         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22771         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
22772         Define to replacements if REPLACE_ISWCNTRL is 1.
22773         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
22774         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
22775         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
22776         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
22777         what it fixes.
22778         * doc/posix-functions/iswalpha.texi: Likewise.
22779         * doc/posix-functions/iswblank.texi: Likewise.
22780         * doc/posix-functions/iswcntrl.texi: Likewise.
22781         * doc/posix-functions/iswdigit.texi: Likewise.
22782         * doc/posix-functions/iswgraph.texi: Likewise.
22783         * doc/posix-functions/iswlower.texi: Likewise.
22784         * doc/posix-functions/iswprint.texi: Likewise.
22785         * doc/posix-functions/iswpunct.texi: Likewise.
22786         * doc/posix-functions/iswspace.texi: Likewise.
22787         * doc/posix-functions/iswupper.texi: Likewise.
22788         * doc/posix-functions/iswxdigit.texi: Likewise.
22789         Reported by Alain Guibert.
22790
22791 2008-04-21  Bruno Haible  <bruno@clisp.org>
22792
22793         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
22794         Patch by Alain Guibert.
22795
22796 2008-04-21  Bruno Haible  <bruno@clisp.org>
22797
22798         Fix test failures on mingw.
22799         * tests/test-xstrtol.c (print_no_progname): New function.
22800         (main): Install it in error_print_progname hook.
22801         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
22802         * tests/test-xstrtoimax.sh: Likewise.
22803         * tests/test-xstrtoumax.sh: Likewise.
22804
22805 2008-04-21  Bruno Haible  <bruno@clisp.org>
22806
22807         Fix test failure on mingw.
22808         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
22809
22810 2008-04-21  Bruno Haible  <bruno@clisp.org>
22811
22812         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
22813         Actually assign a value.
22814
22815 2008-04-20  Bruno Haible  <bruno@clisp.org>
22816
22817         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
22818         take 2.
22819         * lib/canonicalize.c (canonicalize_file_name): Elide if the
22820         'canonicalize-lgpl' module is also used.
22821         * lib/canonicalize-lgpl.c: Undo last change.
22822         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
22823
22824 2008-04-20  Bruno Haible  <bruno@clisp.org>
22825
22826         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
22827         config.h. Provide _mkdir based fallback for mingw.
22828         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
22829         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
22830         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
22831         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
22832         rather than defining mkdir in config.h.
22833         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
22834         (gl_SYS_STAT_H_DEFAULTS): New macro.
22835         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
22836         HAVE_IO_H any more.
22837         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
22838         HAVE_DECL_MKDIR and HAVE_IO_H.
22839
22840 2008-04-20  Bruno Haible  <bruno@clisp.org>
22841
22842         * lib/isapipe.c: Port to native Windows platforms.
22843
22844 2008-04-20  Bruno Haible  <bruno@clisp.org>
22845
22846         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
22847
22848 2008-04-21  Eric Blake  <ebb9@byu.net>
22849
22850         Work around preprocessors that don't handle UINTMAX_MAX.
22851         * lib/memchr2.c (memchr2): Avoid embedded #if.
22852         Reported by Alain Guibert, fix suggested by Bruno Haible.
22853
22854 2008-04-21  Simon Josefsson  <simon@josefsson.org>
22855
22856         * doc/posix-functions/strftime.texi (strftime): Explain better
22857         Windows incompatibility.  Suggested by Micah Cowan
22858         <micah@cowan.name>.
22859
22860 2008-04-20  Bruno Haible  <bruno@clisp.org>
22861
22862         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
22863         unistr/u8-mblen.
22864
22865 2008-04-20  Bruno Haible  <bruno@clisp.org>
22866
22867         Fix test failure on platforms with non-GNU iconv.
22868         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
22869         (U_TO_U8): Use it, rather than u16_to_u8.
22870         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
22871         units at the end of the input string.
22872         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
22873
22874 2008-04-20  Bruno Haible  <bruno@clisp.org>
22875
22876         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
22877         when the resulting length is 0.
22878         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
22879
22880 2008-04-20  Bruno Haible  <bruno@clisp.org>
22881
22882         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
22883         works.
22884         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
22885
22886 2008-04-20  Bruno Haible  <bruno@clisp.org>
22887
22888         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
22889         * modules/tsearch-tests (configure.ac): Test for initstate function.
22890
22891 2008-04-20  Bruno Haible  <bruno@clisp.org>
22892
22893         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
22894         for nlink_t if missing.
22895         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
22896
22897 2008-04-19  Bruno Haible  <bruno@clisp.org>
22898
22899         Work around snprintf bug on Linux libc5.
22900         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
22901         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22902         gl_SNPRINTF_SIZE1.
22903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22904         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
22905         that test failed.
22906         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
22907         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
22908         * modules/snprintf (Files): Add m4/printf.m4.
22909         * modules/vsnprintf (Files): Likewise.
22910         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
22911         * doc/posix-functions/vsnprintf.texi: Likewise.
22912
22913 2008-04-19  Bruno Haible  <bruno@clisp.org>
22914
22915         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
22916         from 0.0058 to less than 10^-7.
22917
22918 2008-04-19  Bruno Haible  <bruno@clisp.org>
22919
22920         Fix rounding when a precision is given.
22921         * lib/vasnprintf.c (is_borderline): New function.
22922         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
22923         9...9x.
22924         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
22925         %e, %g.
22926         * tests/test-vasprintf-posix.c (test_function): Likewise.
22927         * tests/test-snprintf-posix.h (test_function): Likewise.
22928         * tests/test-sprintf-posix.h (test_function): Likewise.
22929         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
22930         * tests/test-printf-posix.h (test_function): Likewise.
22931         * tests/test-printf-posix.output: Update.
22932         Reported by John Darrington <john@darrington.wattle.id.au> via
22933         Ben Pfaff <blp@cs.stanford.edu>.
22934
22935 2008-04-18  Simon Josefsson  <simon@josefsson.org>
22936
22937         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
22938         Suggested by Bruno Haible <bruno@clisp.org>.
22939
22940 2008-04-17  Bruno Haible  <bruno@clisp.org>
22941
22942         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
22943         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
22944         implementation.
22945         Patch by Bruce Merry <bmerry@gmail.com>.
22946
22947 2008-04-17  Simon Josefsson  <simon@josefsson.org>
22948
22949         * doc/posix-functions/strftime.texi (strftime): Mention that %e
22950         doesn't work under Windows.
22951
22952 2008-04-16  Bruno Haible  <bruno@clisp.org>
22953
22954         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
22955         New macros.
22956         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
22957         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
22958         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
22959         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
22960         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
22961         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
22962         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
22963         macros.
22964         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
22965         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
22966         Northern Sotho, Uighur.
22967
22968 2008-04-16  Bruno Haible  <bruno@clisp.org>
22969
22970         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
22971         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
22972         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
22973         Reported by Daniel Bergström <daniel@octocode.com>.
22974
22975 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
22976             Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
22979         function.
22980         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
22981         New functions, mostly extracted from gl_locale_name_default.
22982         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
22983
22984 2008-04-16  Eric Blake  <ebb9@byu.net>
22985
22986         Adjust strtod detection to catch glibc 2.7 bug.
22987         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
22988         Reported by John Gatewood Ham.
22989
22990 2008-04-16  Bruno Haible  <bruno@clisp.org>
22991
22992         Add tentative support for Linux libc5.
22993         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
22994         * lib/fpurge.c (fpurge): Likewise.
22995         * lib/freadable.c (freadable): Likewise.
22996         * lib/freadahead.c (freadahead): Likewise.
22997         * lib/freading.c (freading): Likewise.
22998         * lib/freadptr.c (freadptr): Likewise.
22999         * lib/freadseek.c (freadptrinc): Likewise.
23000         * lib/fseeko.c (rpl_fseeko): Likewise.
23001         * lib/fseterr.c (fseterr): Likewise.
23002         * lib/fwritable.c (fwritable): Likewise.
23003         * lib/fwriting.c (fwriting): Likewise.
23004         Reported by Alain Guibert <alguibert+bts@free.fr>.
23005
23006 2008-04-15  Bruno Haible  <bruno@clisp.org>
23007
23008         * modules/mathl (configure.ac): Define module indicator.
23009
23010 2008-04-15  Bruno Haible  <bruno@clisp.org>
23011
23012         * lib/logl.c (logl): Remove unused variables.
23013
23014 2008-04-15  Bruno Haible  <bruno@clisp.org>
23015
23016         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
23017         fails.
23018
23019 2008-04-15  Bruno Haible  <bruno@clisp.org>
23020
23021         * lib/trim.c (trim2): Fix argument of isspace() macro.
23022
23023 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
23024
23025         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
23026         to 0.
23027         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
23028
23029 2008-04-14  Bruno Haible  <bruno@clisp.org>
23030
23031         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
23032         AC_LANG_PROGRAM argument.
23033         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
23034         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
23035         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23036         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23037         * m4/math_h.m4 (gl_MATH_H): Likewise.
23038         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23039         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23040         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23041         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23042         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23043         * m4/regex.m4 (gl_REGEX): Likewise.
23044         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
23045         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
23046         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23047         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
23048         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23049         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23050         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23051         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23052
23053 2008-04-14  Jim Meyering  <meyering@redhat.com>
23054
23055         test-strtod: fix typos: s/abs/fabs/
23056         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
23057
23058 2008-04-13  Bruno Haible  <bruno@clisp.org>
23059
23060         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
23061         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
23062         module is also used and while not building the reloc-wrapper.
23063
23064 2008-04-13  Bruno Haible  <bruno@clisp.org>
23065
23066         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
23067
23068 2008-04-13  Bruno Haible  <bruno@clisp.org>
23069
23070         Fix AIX compilation failure introduced on 2008-04-02.
23071         * tests/test-frexp.c (exp): Undefine before redefining.
23072         * tests/test-frexpl.c (exp): Likewise.
23073
23074 2008-04-13  Bruno Haible  <bruno@clisp.org>
23075
23076         Work around a HP-UX stdio bug.
23077         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
23078         * tests/test-ftello.c (main): Likewise.
23079         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
23080         * doc/posix-functions/ftello.texi: Likewise.
23081
23082 2008-04-13  Bruno Haible  <bruno@clisp.org>
23083
23084         Make test-signbit pass on HP-UX/hppa.
23085         * tests/test-signbit.c (minus_zerol): New variable.
23086         (test_signbitl): Use it.
23087
23088 2008-04-13  Bruno Haible  <bruno@clisp.org>
23089
23090         Make truncl work on OSF/1 4.0.
23091         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
23092         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23093         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
23095         HAVE_DECL_TRUNCL.
23096         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
23097         HAVE_DECL_TRUNCL.
23098         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
23099
23100 2008-04-13  Bruno Haible  <bruno@clisp.org>
23101
23102         * lib/unictype.h: Remove trailing comma from enumeration definitions.
23103
23104 2008-04-13  Bruno Haible  <bruno@clisp.org>
23105
23106         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
23107         expression, so as to avoid HP-UX 11 cc compiler bug.
23108
23109 2008-04-13  Bruno Haible  <bruno@clisp.org>
23110
23111         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
23112
23113 2008-04-13  Bruno Haible  <bruno@clisp.org>
23114
23115         * lib/git-merge-changelog.c: Remove empty declaration outside of
23116         functions.
23117
23118 2008-04-13  Bruno Haible  <bruno@clisp.org>
23119
23120         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
23121
23122 2008-04-13  Bruno Haible  <bruno@clisp.org>
23123
23124         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
23125         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
23126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
23127         also if it exists but lacks definitions of the SHUT_* macros.
23128         * modules/sys_socket (Description): Update.
23129         Reported by Elbert Pol <e.pol@chello.nl>.
23130
23131 2008-04-13  Bruno Haible  <bruno@clisp.org>
23132
23133         * lib/localcharset.c (OS2): Don't redefine if already defined.
23134         Reported by Elbert Pol <e.pol@chello.nl>.
23135
23136 2008-04-13  Bruno Haible  <bruno@clisp.org>
23137
23138         * lib/binary-io.h [__EMX__]: Include <io.h>.
23139         Reported by Elbert Pol <e.pol@chello.nl>.
23140
23141 2008-04-12  Bruno Haible  <bruno@clisp.org>
23142
23143         * lib/fpucw.h: Enable the definitions also for x86_64.
23144         Needed for NetBSD/x86_64.
23145         Reported by Thomas Klausner <tk@giga.or.at>.
23146
23147 2008-04-12  Bruno Haible  <bruno@clisp.org>
23148
23149         * tests/test-strtod.c: Include isnand.h.
23150         (main): Use isnand instead of isnan.
23151         Reported by Jim Meyering.
23152
23153 2008-04-12  Bruno Haible  <bruno@clisp.org>
23154
23155         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
23156         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23157
23158 2008-04-12  Jim Meyering  <meyering@redhat.com>
23159
23160         * m4/math_h.m4 (gl_MATH_H): Fix typos.
23161
23162 2008-04-12  Bruno Haible  <bruno@clisp.org>
23163
23164         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
23165         Reported by Elbert Pol <e.pol@chello.nl>.
23166
23167 2008-04-12  Eric Blake  <ebb9@byu.net>
23168
23169         Work around Solaris 10 math.h bug.
23170         * m4/math_h.m4 (gl_MATH_H): Check for bug.
23171         (gl_MATH_H_DEFAULTS): Set up default.
23172         * modules/math (Makefile.am): Replace new indicators.
23173         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
23174         * tests/test-math.c (main): Test this.
23175         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
23176         * doc/posix-headers/math.texi (math.h): Mention bug.
23177         Reported by Nelson H. F. Beebe and Jim Meyering.
23178
23179 2008-04-11  Bruno Haible  <bruno@clisp.org>
23180
23181         Adapt to future versions of Apple GCC.
23182         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
23183         Reported by Peter O'Gorman <peter@pogma.com>.
23184
23185 2008-04-11  Bruno Haible  <bruno@clisp.org>
23186
23187         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
23188
23189 2008-04-11  Bruno Haible  <bruno@clisp.org>
23190
23191         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
23192
23193         * modules/getaddrinfo-tests (Makefile.am): Define
23194         test_getaddrinfo_LDADD.
23195
23196 2008-04-11  Bruno Haible  <bruno@clisp.org>
23197
23198         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
23199         (init): Fix syntax error.
23200         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
23201         is declared.
23202
23203 2008-04-11  Bruno Haible  <bruno@clisp.org>
23204
23205         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
23206         * modules/glob (Depends-on): Add stdbool.
23207
23208 2008-04-11  Bruno Haible  <bruno@clisp.org>
23209
23210         * lib/trim.c: Include <string.h>.
23211
23212 2008-04-11  Eric Blake  <ebb9@byu.net>
23213
23214         Avoid compile failure on OS/2.
23215         * lib/regex_internal.h (internal_function): Disable optimization
23216         on OS/2 (__EMX__), where it caused compiler error.
23217         Reported by Elbert Pol.
23218
23219 2008-04-11  Bruno Haible  <bruno@clisp.org>
23220
23221         Flush the standard error stream before aborting. Needed on mingw.
23222         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
23223         * tests/test-array_list.c (ASSERT): Likewise.
23224         * tests/test-array_oset.c (ASSERT): Likewise.
23225         * tests/test-avltree_list.c (ASSERT): Likewise.
23226         * tests/test-avltree_oset.c (ASSERT): Likewise.
23227         * tests/test-avltreehash_list.c (ASSERT): Likewise.
23228         * tests/test-binary-io.c (ASSERT): Likewise.
23229         * tests/test-byteswap.c (ASSERT): Likewise.
23230         * tests/test-c-ctype.c (ASSERT): Likewise.
23231         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
23232         * tests/test-c-strcasestr.c (ASSERT): Likewise.
23233         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
23234         * tests/test-c-strstr.c (ASSERT): Likewise.
23235         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
23236         * tests/test-canonicalize.c (ASSERT): Likewise.
23237         * tests/test-carray_list.c (ASSERT): Likewise.
23238         * tests/test-ceilf1.c (ASSERT): Likewise.
23239         * tests/test-ceilf2.c (ASSERT): Likewise.
23240         * tests/test-ceill.c (ASSERT): Likewise.
23241         * tests/test-count-one-bits.c (ASSERT): Likewise.
23242         * tests/test-fbufmode.c (ASSERT): Likewise.
23243         * tests/test-fflush2.c (ASSERT): Likewise.
23244         * tests/test-floorf1.c (ASSERT): Likewise.
23245         * tests/test-floorf2.c (ASSERT): Likewise.
23246         * tests/test-floorl.c (ASSERT): Likewise.
23247         * tests/test-fopen.c (ASSERT): Likewise.
23248         * tests/test-fpending.c (ASSERT): Likewise.
23249         * tests/test-fprintf-posix.c (ASSERT): Likewise.
23250         * tests/test-fpurge.c (ASSERT): Likewise.
23251         * tests/test-freadable.c (ASSERT): Likewise.
23252         * tests/test-freadahead.c (ASSERT): Likewise.
23253         * tests/test-freading.c (ASSERT): Likewise.
23254         * tests/test-freadptr.c (ASSERT): Likewise.
23255         * tests/test-freadptr2.c (ASSERT): Likewise.
23256         * tests/test-freadseek.c (ASSERT): Likewise.
23257         * tests/test-freopen.c (ASSERT): Likewise.
23258         * tests/test-frexp.c (ASSERT): Likewise.
23259         * tests/test-frexpl.c (ASSERT): Likewise.
23260         * tests/test-fseek.c (ASSERT): Likewise.
23261         * tests/test-fseeko.c (ASSERT): Likewise.
23262         * tests/test-fstrcmp.c (ASSERT): Likewise.
23263         * tests/test-ftell.c (ASSERT): Likewise.
23264         * tests/test-ftello.c (ASSERT): Likewise.
23265         * tests/test-func.c (ASSERT): Likewise.
23266         * tests/test-fwritable.c (ASSERT): Likewise.
23267         * tests/test-fwriting.c (ASSERT): Likewise.
23268         * tests/test-getdelim.c (ASSERT): Likewise.
23269         * tests/test-getline.c (ASSERT): Likewise.
23270         * tests/test-i-ring.c (ASSERT): Likewise.
23271         * tests/test-iconv-utf.c (ASSERT): Likewise.
23272         * tests/test-iconv.c (ASSERT): Likewise.
23273         * tests/test-isfinite.c (ASSERT): Likewise.
23274         * tests/test-isnand.c (ASSERT): Likewise.
23275         * tests/test-isnanf.c (ASSERT): Likewise.
23276         * tests/test-isnanl.h (ASSERT): Likewise.
23277         * tests/test-ldexpl.c (ASSERT): Likewise.
23278         * tests/test-linked_list.c (ASSERT): Likewise.
23279         * tests/test-linkedhash_list.c (ASSERT): Likewise.
23280         * tests/test-localename.c (ASSERT): Likewise.
23281         * tests/test-lseek.c (ASSERT): Likewise.
23282         * tests/test-mbscasecmp.c (ASSERT): Likewise.
23283         * tests/test-mbscasestr1.c (ASSERT): Likewise.
23284         * tests/test-mbscasestr2.c (ASSERT): Likewise.
23285         * tests/test-mbscasestr3.c (ASSERT): Likewise.
23286         * tests/test-mbscasestr4.c (ASSERT): Likewise.
23287         * tests/test-mbschr.c (ASSERT): Likewise.
23288         * tests/test-mbscspn.c (ASSERT): Likewise.
23289         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
23290         * tests/test-mbspbrk.c (ASSERT): Likewise.
23291         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
23292         * tests/test-mbsrchr.c (ASSERT): Likewise.
23293         * tests/test-mbsspn.c (ASSERT): Likewise.
23294         * tests/test-mbsstr1.c (ASSERT): Likewise.
23295         * tests/test-mbsstr2.c (ASSERT): Likewise.
23296         * tests/test-mbsstr3.c (ASSERT): Likewise.
23297         * tests/test-memchr2.c (ASSERT): Likewise.
23298         * tests/test-memmem.c (ASSERT): Likewise.
23299         * tests/test-open.c (ASSERT): Likewise.
23300         * tests/test-printf-frexp.c (ASSERT): Likewise.
23301         * tests/test-printf-frexpl.c (ASSERT): Likewise.
23302         * tests/test-printf-posix.c (ASSERT): Likewise.
23303         * tests/test-quotearg.c (ASSERT): Likewise.
23304         * tests/test-rbtree_list.c (ASSERT): Likewise.
23305         * tests/test-rbtree_oset.c (ASSERT): Likewise.
23306         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
23307         * tests/test-round1.c (ASSERT): Likewise.
23308         * tests/test-roundf1.c (ASSERT): Likewise.
23309         * tests/test-roundl.c (ASSERT): Likewise.
23310         * tests/test-signbit.c (ASSERT): Likewise.
23311         * tests/test-sleep.c (ASSERT): Likewise.
23312         * tests/test-snprintf-posix.c (ASSERT): Likewise.
23313         * tests/test-snprintf.c (ASSERT): Likewise.
23314         * tests/test-sprintf-posix.c (ASSERT): Likewise.
23315         * tests/test-stat-time.c (ASSERT): Likewise.
23316         * tests/test-strcasestr.c (ASSERT): Likewise.
23317         * tests/test-strerror.c (ASSERT): Likewise.
23318         * tests/test-striconv.c (ASSERT): Likewise.
23319         * tests/test-striconveh.c (ASSERT): Likewise.
23320         * tests/test-striconveha.c (ASSERT): Likewise.
23321         * tests/test-strsignal.c (ASSERT): Likewise.
23322         * tests/test-strstr.c (ASSERT): Likewise.
23323         * tests/test-strtod.c (ASSERT): Likewise.
23324         * tests/test-trunc1.c (ASSERT): Likewise.
23325         * tests/test-trunc2.c (ASSERT): Likewise.
23326         * tests/test-truncf1.c (ASSERT): Likewise.
23327         * tests/test-truncf2.c (ASSERT): Likewise.
23328         * tests/test-truncl.c (ASSERT): Likewise.
23329         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
23330         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
23331         * tests/test-vasnprintf.c (ASSERT): Likewise.
23332         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
23333         * tests/test-vasprintf.c (ASSERT): Likewise.
23334         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
23335         * tests/test-vprintf-posix.c (ASSERT): Likewise.
23336         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
23337         * tests/test-vsnprintf.c (ASSERT): Likewise.
23338         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
23339         * tests/test-wcwidth.c (ASSERT): Likewise.
23340         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
23341         * tests/test-xprintf-posix.c (ASSERT): Likewise.
23342         * tests/test-xvasprintf.c (ASSERT): Likewise.
23343         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
23344         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
23345         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
23346         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
23347         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
23348         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
23349         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
23350         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
23351         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
23352         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
23353         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
23354         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
23355         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
23356         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
23357         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
23358         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
23359         * tests/unictype/test-block_list.c (ASSERT): Likewise.
23360         * tests/unictype/test-block_of.c (ASSERT): Likewise.
23361         * tests/unictype/test-block_test.c (ASSERT): Likewise.
23362         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
23363         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
23364         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
23365         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
23366         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
23367         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
23368         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
23369         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
23370         * tests/unictype/test-combining.c (ASSERT): Likewise.
23371         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
23372         * tests/unictype/test-digit.c (ASSERT): Likewise.
23373         * tests/unictype/test-mirror.c (ASSERT): Likewise.
23374         * tests/unictype/test-numeric.c (ASSERT): Likewise.
23375         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
23376         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
23377         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
23378         * tests/unictype/test-scripts.c (ASSERT): Likewise.
23379         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
23380         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
23381         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
23382         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
23383         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
23384         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
23385         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
23386         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
23387         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
23388         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
23389         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
23390         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
23391         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
23392         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
23393         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
23394         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
23395         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
23396         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
23397         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
23398         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
23399         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
23400         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
23401         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
23402         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
23403         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
23404         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
23405         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
23406         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
23407         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
23408         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
23409         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
23410         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
23411         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
23412         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
23413         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
23414         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
23415         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
23416         Reported by Eric Blake.
23417
23418 2008-04-11  Bruno Haible  <bruno@clisp.org>
23419
23420         * lib/wchar.in.h: Tweak comment.
23421
23422 2008-04-11  Bruno Haible  <bruno@clisp.org>
23423
23424         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
23425         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
23426         gl_COMMON.
23427         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
23428
23429 2008-04-11  Bruno Haible  <bruno@clisp.org>
23430
23431         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
23432
23433 2008-04-11  Simon Josefsson  <simon@josefsson.org>
23434
23435         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
23436         of attempting to use non-existing /dev/*random.  Based on patch
23437         from Adam Strzelecki <ono@java.pl> in
23438         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
23439
23440 2008-04-08  Bruno Haible  <bruno@clisp.org>
23441
23442         Add tentative support for emx+gcc.
23443         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
23444         * lib/fpurge.c (fpurge): Likewise.
23445         * lib/freadable.c (freadable): Likewise.
23446         * lib/freadahead.c (freadahead): Likewise.
23447         * lib/freading.c (freading): Likewise.
23448         * lib/freadptr.c (freadptr): Likewise.
23449         * lib/freadseek.c (freadptrinc): Likewise.
23450         * lib/fseeko.c (rpl_fseeko): Likewise.
23451         * lib/fseterr.c (fseterr): Likewise.
23452         * lib/fwritable.c (fwritable): Likewise.
23453         * lib/fwriting.c (fwriting): Likewise.
23454         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
23455
23456 2008-04-09  Eric Blake  <ebb9@byu.net>
23457
23458         Avoid some autoconf warnings.
23459         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
23460         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
23461         * m4/afs.m4 (gl_AFS): Likewise.
23462         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
23463         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
23464         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23465         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
23466         (gl_INTEGER_TYPE_SUFFIX): Likewise.
23467         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
23468         (AC_CHECK_DECLS_ONCE): Likewise.
23469         Rename file...
23470         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
23471         gnulib-tool requires autoconf 2.59 or better.
23472         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
23473
23474 2008-04-08  Eric Blake  <ebb9@byu.net>
23475
23476         Use 'git describe --match' if present (added in git 1.5.5).
23477         * build-aux/git-version-gen: Limit result to tags that match 'v*'
23478         if possible.
23479
23480 2008-04-08  Bruno Haible  <bruno@clisp.org>
23481
23482         Add tentative support for OpenServer.
23483         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
23484         _ptr, _cnt.
23485         * lib/fpurge.c (fpurge): Likewise.
23486         * lib/freadable.c (freadable): Likewise.
23487         * lib/freadahead.c (freadahead): Likewise.
23488         * lib/freading.c (freading): Likewise.
23489         * lib/freadptr.c (freadptr): Likewise.
23490         * lib/freadseek.c (freadptrinc): Likewise.
23491         * lib/fseeko.c (rpl_fseeko): Likewise.
23492         * lib/fseterr.c (fseterr): Likewise.
23493         * lib/fwritable.c (fwritable): Likewise.
23494         * lib/fwriting.c (fwriting): Likewise.
23495         Reported by Roger Cornelius <rac@tenzing.org> and
23496         Brian K. White <brian@aljex.com>.
23497
23498 2008-04-06  Jim Meyering  <meyering@redhat.com>
23499
23500         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
23501
23502 2008-04-06  Bruno Haible  <bruno@clisp.org>
23503
23504         Avoid possible error with non-ASCII bytes in UTF-8 locales.
23505         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
23506         * tests/test-printf-posix.sh: Likewise.
23507         * tests/test-vfprintf-posix.sh: Likewise.
23508         * tests/test-vprintf-posix.sh: Likewise.
23509         * tests/test-xprintf-posix.sh: Likewise.
23510
23511 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23512
23513         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
23514         hide error from 'ls', needed on OS/2.
23515         Report by Elbert Pol <elbert.pol@gmail.com>.
23516
23517 2008-04-04  Eric Blake  <ebb9@byu.net>
23518
23519         Make test-fseeko.c failures meaningful.
23520         * tests/test-fseeko.c: Print line number on failure.
23521         * tests/test-fseek.c: Likewise.
23522         Reported by Nelson H. F. Beebe.
23523
23524         Improve strtod bug detection check.
23525         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
23526         required for Solaris 10.
23527         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
23528
23529 2008-04-04  Bruno Haible  <bruno@clisp.org>
23530
23531         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
23532         by m4/setenv.m4.
23533
23534 2008-04-03  Eric Blake  <ebb9@byu.net>
23535
23536         Ensure sane .version contents.
23537         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
23538         version string.
23539         * build-aux/git-version-gen: Improve documentation.
23540
23541         Make GNU make output nicer.
23542         * top/GNUmakefile [!_have-Makefile]: Add dependency on
23543         MAKECMDGOALS to enforce message for all command line targets.  Set
23544         srcdir for use in maint.mk.
23545
23546         Another maintainer tweak.
23547         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
23548         a target that regenerates version.
23549
23550 2008-04-03  Jim Meyering  <meyering@redhat.com>
23551
23552         vc-list-files: don't cause coreutils "make po-check" failure
23553         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
23554
23555 2008-04-03  Eric Blake  <ebb9@byu.net>
23556
23557         Allow VPATH usage of vc-list-files.
23558         * build-aux/vc-list-files (scriptversion): Add timestamp.
23559         (options): Add --help, --version, -C.
23560         (CVS): Support installed cvsu.
23561
23562 2008-04-02  Bruno Haible  <bruno@clisp.org>
23563
23564         Avoid some "statement with no effect" warnings from gcc.
23565         * tests/test-wctype.c (main): Explicitly ignore unused values.
23566         Reported by Jim Meyering.
23567
23568 2008-04-02  Jim Meyering  <meyering@redhat.com>
23569
23570         Avoid some warnings from "gcc -Wshadow".
23571         * tests/test-frexp.c (exp): Define to a different identifier.
23572         * tests/test-frexpl.c (exp): Likewise.
23573
23574 2008-04-03  Jim Meyering  <meyering@redhat.com>
23575
23576         bootstrap: remove dangling *.[ch] symlinks from lib
23577         * build-aux/bootstrap [dangling symlink removal]: Move find's
23578         -depth option to precede all others, to avoid a warning.
23579         Remove *.[ch] files too, and from "$source_base" (usually lib/).
23580
23581 2008-04-02  Bruno Haible  <bruno@clisp.org>
23582
23583         Avoid some warnings from "gcc -Wshadow".
23584         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
23585         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
23586         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
23587         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
23588         Reported by Jim Meyering.
23589
23590 2008-04-01  Bruno Haible  <bruno@clisp.org>
23591
23592         Fix test to work on IRIX 6.5 with cc.
23593         * tests/test-math.c (numeric_equal): New function.
23594         (main): Use it.
23595
23596 2008-04-01  Bruno Haible  <bruno@clisp.org>
23597
23598         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
23599
23600 2008-04-01  Bruno Haible  <bruno@clisp.org>
23601
23602         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
23603         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23604         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
23605         (Depends-on): Remove math.
23606
23607         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
23608         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23609         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
23610         (Depends-on): Remove math.
23611
23612         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
23613         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23614         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
23615         (Depends-on): Remove math.
23616         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
23617         (Depends-on): Remove math.
23618
23619         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
23620         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23621         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
23622         (Depends-on): Remove math.
23623         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
23624         (Depends-on): Remove math.
23625
23626         * tests/test-round1.c: Include nan.h.
23627         (main): Use NaNd instead of NAN.
23628         * modules/round-tests (Files): Add tests/nan.h.
23629
23630         * tests/test-trunc1.c: Include nan.h.
23631         (main): Use NaNd instead of NAN.
23632         * modules/trunc-tests (Files): Add tests/nan.h.
23633
23634         * tests/test-roundf1.c: Include nan.h.
23635         (main): Use NaNf instead of NAN.
23636         * modules/roundf-tests (Files): Add tests/nan.h.
23637
23638         * tests/test-truncf1.c: Include nan.h.
23639         (main): Use NaNf instead of NAN.
23640         * modules/truncf-tests (Files): Add tests/nan.h.
23641
23642         * tests/test-ceilf1.c: Include nan.h.
23643         (main): Use NaNf instead of NAN.
23644         * modules/ceilf-tests (Files): Add tests/nan.h.
23645
23646         * tests/test-floorf1.c: Include nan.h.
23647         (main): Use NaNf instead of NAN.
23648         * modules/floorf-tests (Files): Add tests/nan.h.
23649
23650         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
23651         (main): Use NaNf instead of NAN.
23652         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
23653
23654         * tests/test-isnand.c: Include nan.h instead of <math.h>.
23655         (main): Use NaNd instead of NAN.
23656         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
23657
23658         * tests/test-frexp.c: Include nan.h.
23659         (main): Use NaNd instead of NAN.
23660         * modules/frexp-tests (Files): Add tests/nan.h.
23661
23662         * lib/isnan.c: Don't include <math.h>.
23663         (FUNC): Don't use NAN macro.
23664         * modules/isnand-nolibm (Depends-on): Remove math.
23665         * modules/isnanf-nolibm (Depends-on): Remove math.
23666         * modules/isnanl (Depends-on): Remove math.
23667         * modules/isnanl-nolibm (Depends-on): Remove math.
23668
23669         * tests/nan.h: New file.
23670
23671 2008-04-01  Eric Blake  <ebb9@byu.net>
23672
23673         Fix typos.
23674         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
23675         values to be the right type.
23676
23677         For now, cater to gnulib strtod inaccuracies.
23678         * tests/test-strtod.c (main): Allow 1-ulp error on expected
23679         fractional results.  While not as nice from a QoI perspective, it
23680         is a quicker patch than correctly implementing decimal to binary
23681         rounding.
23682
23683 2008-03-31  Eric Blake  <ebb9@byu.net>
23684
23685         Guarantee a definition of NAN.
23686         * lib/math.in.h (NAN): Define if missing.
23687         * tests/test-math.c (main): Test it.
23688         * doc/posix-headers/math.texi (math.h): Document this.
23689         * lib/isnan.c (rpl_isnand): Use it.
23690         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
23691         * tests/test-floorf1.c (NaN): Likewise.
23692         * tests/test-frexp.c (NaN): Likewise.
23693         * tests/test-isnand.c (NaN): Likewise.
23694         * tests/test-isnanf.c (NaN): Likewise.
23695         * tests/test-round1.c (NaN): Likewise.
23696         * tests/test-roundf1.c (NaN): Likewise.
23697         * tests/test-snprintf-posix.h (NaN): Likewise.
23698         * tests/test-sprintf-posix.h (NaN): Likewise.
23699         * tests/test-trunc1.c (NaN): Likewise.
23700         * tests/test-truncf1.c (NaN): Likewise.
23701         * tests/test-vasnprintf-posix.c (NaN): Likewise.
23702         * tests/test-vasprintf-posix.c (NaN): Likewise.
23703         * modules/isnand-nolibm (Depends-on): Add math.
23704         * modules/isnanf-nolibm (Depends-on): Likewise.
23705         * modules/isnanl (Depends-on): Likewise.
23706         * modules/isnanl-nolibm (Depends-on): Likewise.
23707         * modules/snprintf-posix-tests (Depends-on): Likewise.
23708         * modules/sprintf-posix-tests (Depends-on): Likewise.
23709         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
23710         * modules/vsprintf-posix-tests (Depends-on): Likewise.
23711         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
23712         * modules/vasprintf-posix-tests (Depends-on): Likewise.
23713
23714 2008-03-31  Bruno Haible  <bruno@clisp.org>
23715
23716         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
23717         * doc/posix-functions/strtod.texi: Likewise.
23718
23719 2008-03-31  Bruno Haible  <bruno@clisp.org>
23720
23721         * tests/test-strtod.c (main): Don't use C99 syntax.
23722
23723 2008-03-31  Bruno Haible  <bruno@clisp.org>
23724
23725         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
23726         Reported by Eric Blake.
23727
23728 2008-03-31  Jim Meyering  <meyering@redhat.com>
23729
23730         Don't compare actual signbit return values.
23731         * tests/test-strtod.c (main): Rather, compare only their
23732         zero/non-zero nature.
23733
23734 2008-03-31  Eric Blake  <ebb9@byu.net>
23735
23736         More strtod documentation.
23737         * doc/posix-functions/strtod.texi (strtod): Interpret more test
23738         failures as distinct bugs.
23739
23740 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23741
23742         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
23743         Problem reported by Erik Benada in
23744         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
23745
23746 2008-03-30  Bruno Haible  <bruno@clisp.org>
23747
23748         * tests/test-strtod.c: Add comments about which assertion fails on which
23749         platform.
23750         * doc/posix-functions/strtod.texi: Add info about many more platforms.
23751
23752 2008-03-30  Eric Blake  <ebb9@byu.net>
23753
23754         Test signbit behavior on zeros.
23755         * tests/test-signbit.c (test_signbitf): Add tests for zero.
23756         (test_signbitd, test_signbitl): Likewise.
23757
23758         More strtod touchups.
23759         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
23760         sign of negative underflow, for now.  Use .5, not .1.
23761         * doc/posix-functions/strtod.texi (strtod): Mention these
23762         limitations.
23763         Reported by Jim Meyering.
23764
23765 2008-03-30  Bruno Haible  <bruno@clisp.org>
23766
23767         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
23768         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
23769
23770 2008-03-30  Bruno Haible  <bruno@clisp.org>
23771
23772         Avoid failure when attempting to return empty iconv results on some
23773         platforms.
23774         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
23775         allocation, don't report ENOMEM when the resulting string is empty.
23776
23777 2008-03-30  Bruno Haible  <bruno@clisp.org>
23778
23779         Fix buffer overrun.
23780         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
23781         Don't consider the width for tmp_length. Check count against tmp_length
23782         before doing the padding. Ensure enough allocation during padding.
23783
23784 2008-03-30  Eric Blake  <ebb9@byu.net>
23785
23786         strtod touchups.
23787         * lib/strtod.c (strtod): Avoid compiler warnings.
23788         Reported by Jim Meyering.
23789
23790 2008-03-30  Bruno Haible  <bruno@clisp.org>
23791
23792         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
23793         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
23794         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
23795         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
23796         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
23797         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
23798         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
23799         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
23800
23801         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
23802         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
23803         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
23804         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
23805         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
23806         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
23807         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
23808         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
23809
23810         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
23811         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
23812         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
23813         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
23814         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
23815         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
23816         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
23817         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
23818
23819         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
23820         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
23821
23822         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
23823         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
23824
23825         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
23826         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
23827
23828         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
23829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
23830         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
23831
23832         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
23833         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
23834         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
23835
23836         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
23837         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
23838         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
23839
23840         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
23841         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
23842         * modules/vasprintf (Depends-on): Add EOVERFLOW.
23843
23844         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
23845         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
23846         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
23847         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
23848         (Depends-on): Add EOVERFLOW.
23849         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
23850         (Depends-on): Add EOVERFLOW.
23851         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
23852         (Depends-on): Add EOVERFLOW.
23853         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
23854         (Depends-on): Add EOVERFLOW.
23855         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
23856         (Depends-on): Add EOVERFLOW.
23857         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
23858         (Depends-on): Add EOVERFLOW.
23859         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
23860         (Depends-on): Add EOVERFLOW.
23861         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
23862         (Depends-on): Add EOVERFLOW.
23863
23864         * lib/sprintf.c (EOVERFLOW): Remove fallback.
23865         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
23866         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
23867
23868         * lib/snprintf.c (EOVERFLOW): Remove fallback.
23869         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
23870         * modules/snprintf (Depends-on): Add EOVERFLOW.
23871
23872         * lib/poll.c (EOVERFLOW): Remove fallback.
23873         * modules/poll (Depends-on): Add EOVERFLOW.
23874
23875         * lib/getugroups.c (EOVERFLOW): Remove fallback.
23876         * modules/getugroups (Depends-on): Add EOVERFLOW.
23877
23878         * lib/getdelim.c (EOVERFLOW): Remove fallback.
23879         * modules/getdelim (Depends-on): Add EOVERFLOW.
23880
23881         * lib/ftell.c (EOVERFLOW): Remove fallback.
23882         * modules/ftell (Depends-on): Add EOVERFLOW.
23883
23884         * lib/fprintf.c (EOVERFLOW): Remove fallback.
23885         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
23886         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
23887
23888         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
23889
23890         * modules/EOVERFLOW-tests: New file.
23891         * tests/test-EOVERFLOW.c: New file.
23892
23893         * modules/EOVERFLOW: New file.
23894         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
23895
23896 2008-03-30  Bruno Haible  <bruno@clisp.org>
23897
23898         Fix bug introduced on 2007-06-10.
23899         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
23900         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
23901
23902 2008-03-30  Bruno Haible  <bruno@clisp.org>
23903
23904         Improve freadseek's efficiency after ungetc.
23905         * lib/freadseek.c: Include freadahead.h.
23906         (freadptrinc): New function, extracted from freadseek.
23907         (freadseek): Use it in a loop. Use freadahead to determine the number
23908         of loop iterations.
23909         * modules/freadseek (Depends-on): Add freadahead.
23910         (configure.ac): Require AC_C_INLINE.
23911
23912 2008-03-30  Bruno Haible  <bruno@clisp.org>
23913
23914         * lib/freadseek.c (freadseek): Don't ignore the return value of
23915         freadptr.
23916
23917 2008-03-29  Eric Blake  <ebb9@byu.net>
23918
23919         Add hex float support.
23920         * modules/strtod (Depends-on): Add c-ctype.
23921         (Link): Mention POW_LIB.
23922         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
23923         whitespace between 'e' and exponent.
23924         * tests/test-strtod.c (main): Enable hex float tests.
23925         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
23926         now provides.
23927
23928         Document various strtod bugs, with some fixes.
23929         * doc/posix-functions/strtod.texi (strtod): Document bugs with
23930         "-0x", "inf", "nan", and hex constants.
23931         * doc/posix-functions/atof.texi (atof): Likewise.
23932         * modules/stdlib (Makefile.am): Support strtod.
23933         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23934         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
23935         detect additional strtod bugs.
23936         * lib/stdlib.in.h (rpl_strtod): Add declarations.
23937         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
23938         bool where appropriate.  Parse 'inf' and 'nan'.
23939         * tests/test-strtod.c: New file.
23940         * modules/strtod (Depends-on): Add stdbool, stdlib.
23941         (configure.ac): Turn on module indicator.
23942         * modules/strtod-tests: New module.
23943
23944 2008-03-29  Eric Blake  <ebb9@byu.net>
23945
23946         Fix ftell on mingw.
23947         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
23948         * modules/ftell-tests (Depends-on): Add binary-io.
23949         * modules/ftello-tests (Depends-on): Likewise.
23950         * tests/test-ftell.c (main): Enhance test to cover behavior after
23951         ungetc.  Enforce binary mode.
23952         * tests/test-ftello.c (main): Likewise.
23953
23954         Pass test-freadseek on cygwin.
23955         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
23956         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
23957         ungetc buffer.
23958
23959         * tests/test-fflush2.c (main): Fix typo.
23960
23961 2008-03-29  Bruno Haible  <bruno@clisp.org>
23962
23963         * tests/test-fflush2.c (main): Temporarily disable the contents of
23964         this test.
23965         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
23966         Reported by Eric Blake.
23967
23968 2008-03-28  Simon Josefsson  <simon@josefsson.org>
23969
23970         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
23971         (GC_SHA224_DIGEST_SIZE): Add.
23972
23973         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
23974         (gc_hash_digest_length): Likewise.
23975         (gc_hash_buffer): Likewise.
23976
23977 2008-03-25  Bruno Haible  <bruno@clisp.org>
23978
23979         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
23980         detail which gettext release to use.
23981         Reported by Simon Josefsson.
23982
23983 2008-03-26  Jim Meyering  <meyering@redhat.com>
23984
23985         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
23986         * modules/gnumakefile (clean-GNUmakefile): Also, use
23987         test ... && ... || : syntax rather than if-then ... fi.
23988
23989         gnumakefile: Don't double-quote-expand $(VPATH) value.
23990         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
23991
23992 2008-03-24  Eric Blake  <ebb9@byu.net>
23993
23994         Alter GNUmakefile to install into top directory.
23995         * modules/maintainer-makefile: Split, and add dependency...
23996         * modules/gnumakefile: to this new module.
23997         * build-aux/GNUmakefile: Move...
23998         * top/GNUmakefile: ...here.
23999         * build-aux/maint.mk: Move...
24000         * top/maint.mk: ...here.
24001         * MODULES.html.sh (Support for maintaining...): Document new
24002         module.
24003
24004 2008-03-23  Bruno Haible  <bruno@clisp.org>
24005
24006         * gnulib-tool: New options --vc-files, --no-vc-files.
24007         (func_usage): Document them.
24008         (vc_files): New variable.
24009         (func_import): Consider vc_files.
24010         (func_create_testdir): Set vc_files to empty.
24011         Suggested by Jim Meyering and Karl Berry.
24012
24013 2008-03-23  Bruno Haible  <bruno@clisp.org>
24014
24015         Fix regex compilation error on HP-UX 11.
24016         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
24017         * modules/regex (Files): Add m4/mbstate_t.m4.
24018         Reported by Ton Voon <ton.voon@altinity.com>.
24019
24020 2008-03-23  Bruno Haible  <bruno@clisp.org>
24021
24022         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
24023
24024 2008-03-23  Eric Blake  <ebb9@byu.net>
24025             Bruno Haible  <bruno@clisp.org>
24026
24027         Install files from top/ in the destination directory.
24028         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24029         augmentation also for the files from top/.
24030         (func_import, func_create_testdir): Rewrite file names:
24031         top/filename -> filename.
24032
24033 2008-03-23  Bruno Haible  <bruno@clisp.org>
24034
24035         Tweak "gnulib --version" output.
24036         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
24037
24038 2008-03-23  Bruno Haible  <bruno@clisp.org>
24039
24040         Tweak "gnulib --version" output.
24041         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
24042         rather than contents of ChangeLog, when possible.
24043
24044 2008-03-21  Eric Blake  <ebb9@byu.net>
24045
24046         More --version tweaks.
24047         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
24048         date of last ChangeLog entry.
24049
24050 2008-03-21  Jim Meyering  <meyering@redhat.com>
24051
24052         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
24053
24054 2008-03-20  Eric Blake  <ebb9@byu.net>
24055
24056         VPATH fix.
24057         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
24058
24059 2008-03-20  Simon Josefsson  <simon@josefsson.org>
24060
24061         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
24062         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
24063
24064 2008-03-20  Eric Blake  <ebb9@byu.net>
24065
24066         Sync GNUmakefile with coreutils.
24067         * build-aux/GNUmakefile (have-Makefile): Rename...
24068         (_have-Makefile): ...to this, for namespace consideration.
24069         (GNUmakefile.cfg): Include, if present.
24070         (_autoreconf): Define a default.
24071         (_is-dist-target): New rule for rebuilds to pick up intra-release
24072         version.
24073         (maint-cfg.mk): Rename...
24074         (cfg.mk): ...to this.
24075
24076 2008-03-18  Jim Meyering  <meyering@redhat.com>
24077
24078         New script and module: mktempd
24079         * MODULES.html.sh (maint+release support): Add mktempd.
24080         * build-aux/mktempd: New file.
24081         * modules/mktempd: New file.
24082
24083 2008-03-15  Jim Meyering  <meyering@redhat.com>
24084
24085         Undo last change.
24086         * lib/sha1.c, lib/md5.c: 63 != ~63.
24087         Reported by Andreas Schwab.
24088
24089         sha1.c, md5.c: Hoist a redundant expression.
24090         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
24091         "ctx->buflen" only once, before calling *_process_block.
24092         * lib/md5.c (md5_process_bytes): Likewise.
24093
24094 2008-03-14  Eric Blake  <ebb9@byu.net>
24095
24096         Bump copyright year in files generated by gnulib-tool.
24097         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
24098         gnulib-tool, rather than hard-coding it.
24099
24100         Fix 'gnulib-tool --version' output to work with git.
24101         * gnulib-tool (func_gnulib_dir): New function, extracted from...
24102         (startup): ...here.
24103         (func_version): Use it to invoke git-version-gen, rather than
24104         relying on CVS keyword expansion.  Modernize wording.
24105         (cvsdatestamp, last_checkin_date, version): Kill unused
24106         variables.
24107
24108 2008-03-12  Jim Meyering  <meyering@redhat.com>
24109
24110         Recognize optional cast of the argument to free.
24111         * build-aux/useless-if-before-free: Update regexps.
24112
24113         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
24114
24115 2008-03-11  Bruno Haible  <bruno@clisp.org>
24116
24117         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
24118         by a single package.
24119         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
24120         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
24121         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
24122         Reported by Sam Steingold <sds@gnu.org>.
24123
24124 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24125
24126         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
24127         repositories.
24128
24129 2008-03-11  Bruno Haible  <bruno@clisp.org>
24130
24131         Avoid conflicts between local macro definitions.
24132         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24133         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
24134
24135 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
24136             Bruno Haible  <bruno@clisp.org>
24137
24138         Make va_copy work with some version of xlc on AIX 5.1.
24139         * lib/stdarg.in.h: New file.
24140         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
24141         On AIX, use a <stdarg.h> file substitute.
24142         * modules/stdarg (Files): Add lib/stdarg.in.h.
24143         (Depends-on): Add include_next.
24144         (Makefile.am): Build a stdarg.h substitute if requested.
24145         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
24146
24147 2008-03-10  Bruno Haible  <bruno@clisp.org>
24148
24149         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
24150         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24151         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24152
24153 2008-03-10  Bruno Haible  <bruno@clisp.org>
24154
24155         * modules/stdlib (Depends-on): Add include_next, remove
24156         absolute-header.
24157
24158 2008-03-09  Bruno Haible  <bruno@clisp.org>
24159
24160         * lib/freadahead.h (freadahead): Document more precisely.
24161         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
24162         the sum of both buffer sizes.
24163         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
24164         * NEWS: Document the change.
24165
24166 2008-03-09  Bruno Haible  <bruno@clisp.org>
24167
24168         Extend freadptr to return also the buffer size.
24169         * lib/freadptr.h (freadptr): Add sizep argument.
24170         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
24171         (freadptr): Add sizep argument. Determine buffer size like freadahead
24172         does.
24173         * tests/test-freadptr.c: Don't include freadahead.h.
24174         (main): Adapt for new calling convention of freadptr.
24175         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
24176         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
24177         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
24178         tests/test-freadptr2.sh.
24179         (Depends): Remove freadahead.
24180         (TESTS): Add test-freadptr2.sh.
24181         (check_PROGRAMS): Add test-freadptr2.
24182
24183 2008-03-09  Bruno Haible  <bruno@clisp.org>
24184
24185         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
24186         Report and solution by Simon Josefsson.
24187
24188 2008-03-06  Bruno Haible  <bruno@clisp.org>
24189
24190         Make fflush after ungetc work on BSD platforms.
24191         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
24192         * tests/test-fflush2.c: New file.
24193         * tests/test-fflush2.sh: New file.
24194         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
24195         tests/test-fflush2.c.
24196         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
24197         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
24198
24199 2008-03-06  Eric Blake  <ebb9@byu.net>
24200
24201         Likewise for ftello.
24202         * modules/ftello (Dependencies): Add extensions.
24203         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
24204
24205 2008-03-06  Bruno Haible  <bruno@clisp.org>
24206
24207         * modules/fseeko (Dependencies): Add extensions.
24208         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
24209         Needed on glibc systems.
24210
24211 2008-03-06  Bruno Haible  <bruno@clisp.org>
24212
24213         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
24214         email address.
24215         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24216
24217 2008-03-06  Bruno Haible  <bruno@clisp.org>
24218
24219         * users.txt: Add libgnupdf.
24220
24221 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24222
24223         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
24224         (Header File Substitutes, Function Substitutes,
24225         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
24226         (Build robot for gnulib): Fix typo.
24227
24228 2008-03-06  Bruno Haible  <bruno@clisp.org>
24229
24230         * doc/gnulib-tool.texi (VCS Issues): Small updates.
24231         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24232
24233 2008-03-06  Bruno Haible  <bruno@clisp.org>
24234
24235         * doc/func.texi: New file, extracted from doc/gnulib.texi.
24236         * doc/gnulib.texi: Include it.
24237
24238 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24239
24240         * modules/func (License): Change license to unlimited; there was
24241         no LGPL parts in the module anyway.
24242
24243 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24244
24245         * modules/__func__: Renamed to modules/func.
24246         * modules/__func__-tests: Renamed to modules/func-tests.
24247         * tests/test-__func__.c: Renamed to tests/test-func.c.
24248         * m4/__func__.m4: Renamed to m4/func.m4.
24249         * doc/gnulib.texi (__func__): Section renamed to func.
24250         Suggested by Eric Blake <ebb9@byu.net>.
24251
24252 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24253
24254         * doc/gnulib.texi (__func__): Use C99 terminology when talking
24255         about __func__.  Make example self-contained.  Suggested by Eric
24256         Blake <ebb9@byu.net>.
24257
24258         * tests/test-__func__.c (main): Avoid extraneous () around __func.
24259         Suggested by Eric Blake <ebb9@byu.net>.
24260
24261 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24262
24263         * modules/__func__: New file.
24264         * modules/__func__-tests: New file.
24265         * tests/test-__func__.c: New file.
24266         * m4/__func__.m4: New file.
24267         * doc/gnulib.texi (__func__): Document __func__ module.
24268
24269 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24270
24271         * modules/byteswap (License): Re-license as LGPLv2+.
24272
24273 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24274
24275         * doc/Makefile: Add pdf target.
24276
24277 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24278
24279         * modules/inline (License): Use 'unlimited', since there are only
24280         *.m4 files in this module.
24281
24282 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24283             Bruno Haible  <bruno@clisp.org>
24284
24285         Add support for HP C 7.1 on OpenVMS 8.3.
24286         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
24287
24288 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24289
24290         Update VMS specifics.
24291         * lib/getopt.c [VMS]: Remove include of unixlib.h.
24292
24293 2008-03-02  Jim Meyering  <meyering@redhat.com>
24294
24295         Remove the last dependency on the "free" module.
24296         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
24297         Reported by Bob Proulx.
24298
24299         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
24300
24301         Remove useless "if" tests before free.  Deprecate "free" module.
24302         * doc/posix-functions/free.texi: Mention that this
24303         module is no longer useful.
24304         * modules/free (Notice): Say this module is obsolete.
24305         * modules/readutmp (Depends-on): Remove free.
24306         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
24307         * lib/putenv.c (putenv): Likewise.
24308         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
24309         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
24310         * tests/test-c-strcasestr.c (main): Likewise.
24311         * tests/test-c-strstr.c (main): Likewise.
24312         * tests/test-mbscasestr1.c (main): Likewise.
24313         * tests/test-mbscasestr2.c (main): Likewise.
24314         * tests/test-mbsstr1.c (main): Likewise.
24315         * tests/test-mbsstr2.c (main): Likewise.
24316         * tests/test-memmem.c (main): Likewise.
24317         * tests/test-strcasestr.c (main): Likewise.
24318         * tests/test-striconv.c (main): Likewise.
24319         * tests/test-striconveh.c (main): Likewise.
24320         * tests/test-striconveha.c (main): Likewise.
24321         * tests/test-strstr.c (main): Likewise.
24322
24323         * build-aux/git-version-gen: Adjust a comment and the Usage string.
24324
24325         bootstrap: sync from coreutils again
24326         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
24327
24328 2008-03-01  Jim Meyering  <meyering@redhat.com>
24329
24330         bootstrap: sync from coreutils
24331         * build-aux/bootstrap (update_po_files): Copy a .po file into place
24332         also when the target doesn't exist.
24333
24334 2008-03-01  Eric Blake  <ebb9@byu.net>
24335
24336         Fix bugs in last patch.
24337         * lib/memchr2.c (memchr2): Fix typo.
24338         * tests/test-memchr2.c: Test previous bug, and don't use GNU
24339         extension.
24340         Reported by Bruce Korb.
24341
24342         New module 'memchr2'.
24343         * modules/memchr2: New file.
24344         * modules/memchr2-tests: Likewise.
24345         * lib/memchr2.h: Likewise.
24346         * lib/memchr2.c: Likewise, based on memchr.c.
24347         * tests/test-memchr2.c: New test.
24348         * MODULES.html.sh (String handling): Add memchr2.
24349
24350 2008-02-29  Bruno Haible  <bruno@clisp.org>
24351
24352         * modules/freadseek-tests: New file.
24353         * tests/test-freadseek.sh: New file.
24354         * tests/test-freadseek.c: New file.
24355
24356         New module 'freadseek'.
24357         * modules/freadseek: New file.
24358         * lib/freadseek.h: New file.
24359         * lib/freadseek.c: New file.
24360         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
24361
24362 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
24363
24364         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
24365         wydawca.
24366
24367         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
24368         program_invocation_name and program_invocation_short_name are
24369         present.
24370
24371 2008-02-28  Bruno Haible  <bruno@clisp.org>
24372
24373         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
24374         * tests/test-freadptr.sh: Also test non-seekable stdin.
24375
24376 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
24377
24378         * build-aux/bootstrap (source_base, m4_base)
24379         (doc_base, tests_base): New variables.
24380         (gnulib_tool_options): Do not hardcode base directories, use
24381         the above variables instead.
24382
24383 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
24384
24385         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
24386
24387 2008-02-28  Bruno Haible  <bruno@clisp.org>
24388
24389         * modules/freadptr-tests: New file.
24390         * tests/test-freadptr.sh: New file.
24391         * tests/test-freadptr.c: New file.
24392
24393         New module 'freadptr'.
24394         * modules/freadptr: New file.
24395         * lib/freadptr.h: New file.
24396         * lib/freadptr.c: New file.
24397         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
24398
24399 2008-02-26  Karl Berry  <karl@freefriends.org>
24400
24401         Sync from Libtool:
24402         * libltdl/argz.c (argz_add, argz_count): New functions.
24403         * libltdl/argz.in.h: Declare them.
24404         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
24405
24406 2008-02-22  Bruno Haible  <bruno@clisp.org>
24407
24408         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
24409         is a pointer type.  Needed for HP-UX 10.
24410         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
24411         * doc/posix-functions/gmtime_r.texi: Likewise.
24412         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24413
24414 2008-02-24  Bruno Haible  <bruno@clisp.org>
24415
24416         * modules/environ-tests: New file.
24417         * tests/test-environ.c: New file.
24418
24419         New module 'environ'.
24420         * modules/environ: New file.
24421         * lib/unistd.in.h (environ): New declaration.
24422         * m4/environ.m4: New file.
24423         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
24424         after use.
24425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
24426         HAVE_DECL_ENVIRON.
24427         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
24428         HAVE_DECL_ENVIRON.
24429         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
24430         wrong claim that 'environ' is missing on some systems.
24431         * modules/execute (Depends-on): Add environ.
24432         * lib/execute.c (environ): Remove fallback declaration.
24433         * modules/pipe (Depends-on): Add environ.
24434         * lib/pipe.c (environ): Remove fallback declaration.
24435         * modules/setenv (Depends-on): Add environ.
24436         * lib/setenv.c (environ): Remove fallback declaration.
24437         * modules/unsetenv (Depends-on): Add environ.
24438         * lib/unsetenv.c (environ): Remove fallback declaration.
24439         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
24440         m4/environ.m4.
24441         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
24442         (gl_PREREQ_UNSETENV): Likewise.
24443
24444 2008-02-24  Bruno Haible  <bruno@clisp.org>
24445
24446         * doc/posix-functions/environ.texi: Document the MacOS X problem.
24447
24448 2008-02-20  Bob Proulx  <bob@proulx.com>
24449
24450         Enable use of older two part flavor 'git describe'.
24451         * build-aux/git-version-gen: If using the older two part flavor of
24452         git version then recreate the third part now present in the
24453         newer three part flavor of git describe.
24454
24455 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
24456
24457         * lib/fts.c (fts_build): Typo correction to comment.
24458
24459 2008-02-17  Bruno Haible  <bruno@clisp.org>
24460
24461         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
24462         generating no-op conflicts.
24463
24464 2008-02-17  Bruno Haible  <bruno@clisp.org>
24465
24466         Speed up by 10%.
24467         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
24468         result_entries, rather than an index-based loop.
24469
24470 2008-02-17  Bruno Haible  <bruno@clisp.org>
24471
24472         Speed up by 25%.
24473         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
24474         'hashcode_cached'.
24475         (entry_create): New function.
24476         (entry_hashcode): Use the cached hashcode if possible.
24477         (read_changelog_file, try_split_merged_entry): Use entry_create.
24478
24479 2008-02-17  Bruno Haible  <bruno@clisp.org>
24480
24481         Speed up from O(n^2) to O(n) for long ChangeLog files.
24482         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
24483         (read_changelog_file): Change implementation of entries_reversed list
24484         to rbtreehash.
24485         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
24486
24487 2008-02-17  Bruno Haible  <bruno@clisp.org>
24488
24489         New option --split-merged-entry.
24490         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
24491         (find_paragraph_end, try_split_merged_entry): New functions.
24492         (long_options): Add option --split-merged-entry.
24493         (usage): Document option --split-merged-entry.
24494         (main): Implement option --split-merged-entry.
24495         Reported by Eric Blake.
24496
24497 2008-02-17  Bruno Haible  <bruno@clisp.org>
24498
24499         * lib/git-merge-changelog.c: Include c-strstr.h.
24500         (main): Support the "git pull --rebase" situation.
24501         * modules/git-merge-changelog (Depends-on): Add c-strstr.
24502         Reported by Eric Blake.
24503
24504 2008-02-16  Eric Blake  <ebb9@byu.net>
24505
24506         Avoid doubling \ in common case of "c-maybe" quoting style.
24507         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
24508         eliding outer quotes.
24509         * lib/quotearg.h: Document this.
24510         * tests/test-quotearg.c (result_strings, inputs, results_g)
24511         (flag_results, locale_results): Test it by adding a new string to
24512         each test group.
24513         (compare_strings): Test new string.
24514
24515 2008-02-13  Eric Blake  <ebb9@byu.net>
24516
24517         Avoid trigraph quoting in default output.
24518         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
24519         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
24520         unless explicitly requested.
24521         * tests/test-quotearg.c (flag_results, main): Add additional tests.
24522
24523 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
24524
24525         Don't rely on signed integer overflowing to negative value.
24526         * lib/getugroups.c (getugroups): Include <limits.h>.
24527         Instead, compare against INT_MAX, and increment only if the test passes.
24528
24529 2008-02-13  Jim Meyering  <meyering@redhat.com>
24530         and Eric Blake  <ebb9@byu.net>
24531
24532         Avoid shadowing warning and compile errors on Linux.
24533         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
24534         forwarding macros on Linux.
24535         (dcgettext): Define a stub, for Linux.
24536         (results_g, main): Avoid warnings.
24537
24538 2008-02-12  Eric Blake  <ebb9@byu.net>
24539
24540         Silence warning in last patch.
24541         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
24542
24543         Quotearg part 4: add tests, fix c-maybe colon quoting.
24544         * lib/quotearg.h: Improve documentation.
24545         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
24546         escapes when adding outer quotes.  When quoting trigraphs, use
24547         valid C notation.  When quoting NUL, omit extra characters if next
24548         character is not digit.  Alter prototype.
24549         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
24550         callers.
24551         * modules/quotearg-tests: New module.
24552         * tests/test-quotearg.c: New test.
24553
24554 2008-02-07  Eric Blake  <ebb9@byu.net>
24555
24556         Quotearg part 3: add flag to control outer quote elision.
24557         * lib/quotearg.h (c_maybe_quoting_style): New style.
24558         (enum quoting_flags): Better documentation of flags.
24559         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
24560         c-maybe style.
24561         (quotearg_buffer_restyled): Handle new flag to elide outer
24562         quotes.
24563
24564         Quotearg part 2: add flag that can control NUL elision.
24565         * lib/quotearg.h (set_quoting_flags): New prototype.
24566         * lib/quotearg.c (struct quoting_options): Add flag field.
24567         (set_quoting_flags): New function.
24568         (quotearg_buffer_restyled): Add flags parameter.
24569         (quotearg_alloc_mem): Set the flag if length cannot be returned.
24570         (quotearg_n_options): Set the flag, since length cannot be
24571         returned.
24572         (quoting_options_from_style): Default flags correctly.
24573
24574         Quotearg part 1: more wrappers, restore quotearg_char state.
24575         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
24576         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
24577         (quotearg_colon_mem): New wrappers.
24578         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
24579         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
24580         functions.
24581         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
24582         (quotearg_colon_mem): New functions.
24583
24584 2008-02-11  Bruno Haible  <bruno@clisp.org>
24585
24586         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
24587         library in the current directory: it does not work with parallel make.
24588         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24589
24590 2008-02-11  Bruno Haible  <bruno@clisp.org>
24591
24592         * .gitattributes: New file.
24593
24594 2008-02-11  Jim Meyering  <meyering@redhat.com>
24595
24596         useless-if-before-free: Fix reversed exit values.
24597         * build-aux/useless-if-before-free: Use correct values
24598         for EXIT_MATCH and EXIT_NO_MATCH.
24599
24600         * build-aux/useless-if-before-free: Close stdout carefully.
24601
24602 2008-02-10  Bruno Haible  <bruno@clisp.org>
24603
24604         New module 'git-merge-changelog'.
24605         * modules/git-merge-changelog: New file.
24606         * lib/git-merge-changelog.c: New file.
24607
24608 2008-02-10  Jim Meyering  <meyering@redhat.com>
24609
24610         useless-if-before-free: New option: --list (-l).
24611
24612         useless-if-before-free: Don't exit immediately upon open failure.
24613         * build-aux/useless-if-before-free: Exit 2 for errors.
24614         Upon failure to open a file, don't exit immediately.
24615         Rather, just warn and continue with any remaining files.
24616
24617 2008-02-10  Bruno Haible  <bruno@clisp.org>
24618
24619         New abstract list operation 'node_set_value'.
24620         * lib/gl_list.h (gl_list_node_set_value): New function.
24621         (struct gl_list_implementation): New field node_set_value.
24622         * lib/gl_list.c (gl_list_node_set_value): New function.
24623         * lib/gl_array_list.c (gl_array_node_set_value): New function.
24624         (gl_array_list_implementation): Update.
24625         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
24626         (gl_carray_list_implementation): Update.
24627         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
24628         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
24629         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
24630         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
24631         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
24632         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
24633         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
24634         Update.
24635         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
24636         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
24637         (gl_sublist_list_implementation): Update.
24638
24639 2008-02-10  Bruno Haible  <bruno@clisp.org>
24640
24641         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
24642         Needed when ELEMENT is #defined to 'some_type *'.
24643
24644 2008-02-10  Jim Meyering  <meyering@redhat.com>
24645
24646         New script and module: useless-if-before-free
24647         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
24648         * build-aux/useless-if-before-free: New file.
24649         * modules/useless-if-before-free: New file.
24650
24651         * build-aux/gitlog-to-changelog: Use committer date, not author date.
24652
24653         xstrtol_error: Fix typo.
24654         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
24655         s/exit_failure/exit_status/.
24656
24657 2008-02-09  Jim Meyering  <meyering@redhat.com>
24658
24659         New script and module: gitlog-to-changelog
24660         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
24661         * modules/gitlog-to-changelog: New file.
24662         * build-aux/gitlog-to-changelog: New file.
24663
24664 2008-02-08  Jim Meyering  <meyering@redhat.com>
24665
24666         Avoid two "parameter unused" warnings.
24667         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
24668         Mark "st" as used.
24669
24670         Use "git COMMAND", not "git-COMMAND".
24671         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
24672         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
24673         * build-aux/git-version-gen: Use "git status", not "git-status".
24674
24675 2008-02-07  Bruno Haible  <bruno@clisp.org>
24676
24677         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
24678         Avoids a crash on Windows Vista.
24679         Reported by Adam Strzelecki <ono@java.pl> via
24680         Simon Josefsson <simon@josefsson.org>.
24681
24682 2008-02-06  Bruno Haible  <bruno@clisp.org>
24683
24684         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
24685         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
24686         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
24687         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
24688         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24689         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24690         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
24691         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
24692         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24693         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24694         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24695         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24696         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24697         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24698         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24699         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
24700         left-adjust flag.
24701         * tests/test-snprintf-posix.h (test_function): Likewise.
24702         * tests/test-sprintf-posix.h (test_function): Likewise.
24703         * tests/test-vasprintf-posix.c (test_function): Likewise.
24704         * doc/posix-functions/fprintf.texi: Update.
24705         * doc/posix-functions/printf.texi: Update.
24706         * doc/posix-functions/snprintf.texi: Update.
24707         * doc/posix-functions/sprintf.texi: Update.
24708         * doc/posix-functions/vfprintf.texi: Update.
24709         * doc/posix-functions/vprintf.texi: Update.
24710         * doc/posix-functions/vsnprintf.texi: Update.
24711         * doc/posix-functions/vsprintf.texi: Update.
24712         Reported by Peter Fales <psfales@alcatel-lucent.com>.
24713
24714 2008-02-06  Bruno Haible  <bruno@clisp.org>
24715
24716         Fix bug introduced on 2008-01-26.
24717         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
24718
24719 2008-02-06  Bruno Haible  <bruno@clisp.org>
24720
24721         Fix bug introduced on 2007-06-10.
24722         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
24723         !NEED_PRINTF_FLAG_ZERO.
24724
24725 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
24726
24727         getloadavg: use libperfstat on AIX5
24728         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
24729
24730 2008-02-03  Bruno Haible  <bruno@clisp.org>
24731
24732         * lib/diffseq.h: Add comments about required #includes.
24733         Reported by Michael Biggs <gnulib@doubleplum.net>.
24734
24735 2008-02-01  Bruno Haible  <bruno@clisp.org>
24736
24737         * users.txt: Add gnuit.
24738
24739 2008-01-31  Bruno Haible  <bruno@clisp.org>
24740
24741         * lib/md4.c (set_uint32): Mark as inline.
24742         * lib/md5.c (set_uint32): Likewise.
24743         * lib/sha1.c (set_uint32): Likewise.
24744         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
24745         * m4/md5.m4 (gl_MD5): Likewise.
24746         * m4/sha1.m4 (gl_SHA1): Likewise.
24747
24748 2008-01-31  Jim Meyering  <meyering@redhat.com>
24749
24750         Use "sizeof VAR", rather than a literal "4".
24751         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
24752         * lib/md4.c (md4_read_ctx): Likewise.
24753         * lib/sha1.c (sha1_read_ctx): Likewise.
24754
24755 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24756
24757         * tests/test-sha1.c: New file, based on test-md5.c.
24758
24759         * modules/crypto/sha1-tests: New file.
24760
24761 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24762
24763         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
24764
24765 2008-01-31  Jim Meyering  <meyering@redhat.com>
24766
24767         Prefer "sizeof v" over the equivalent "4".
24768         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
24769         * lib/md5.c (set_uint32): Likewise.
24770         * lib/sha1.c (set_uint32): Likewise.
24771
24772 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24773
24774         * lib/sha1.c (set_uint32): Mark function as static.
24775
24776 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24777
24778         md2: clarify comments to say that alignment is not required.
24779         * lib/md2.h: Remove warning about alignment in comment.
24780         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
24781         never been required.
24782
24783 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24784
24785         md4: adapt alignment constraint fix from sha1.
24786         * lib/md4.c (set_uint32): New function, from sha1.c
24787         (md4_read_ctx): Use it.
24788         (md4_finish_ctx): Doc fix.
24789         * lib/md4.h: Doc fix.
24790
24791 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24792
24793         md5: adapt alignment constraint fix from sha1.
24794         * lib/md5.c (set_uint32): New function, from sha1.c
24795         (md5_read_ctx): Use it.
24796         (md5_finish_ctx): Doc fix.
24797         * lib/md5.h: Doc fix.
24798
24799 2008-01-30  Peter Palfrader  <weasel@debian.org>
24800
24801         sha1: remove the result buffer alignment constraint
24802         * lib/sha1.c (set_uint32): New function.
24803         (sha1_read_ctx): Rewrite to remove the result buffer alignment
24804         constraint.
24805         (sha1_finish_ctx): Remove comment warning about alignment constraint.
24806         * lib/sha1.h: Likewise.
24807
24808 2008-01-30  Andreas Schwab  <schwab@suse.de>
24809             Bruno Haible  <bruno@clisp.org>
24810
24811         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
24812         correct definition of LDBL_MIN_EXP.
24813
24814 2008-01-30  Karl Berry  <karl@gnu.org>
24815
24816         * config/srclist-update: try to preserve x bit on updates.
24817         * config/srclistvars.sh: update for karl.
24818
24819 2008-01-29  Jim Meyering  <meyering@redhat.com>
24820
24821         vasnprintf.c: Avoid warning about unused label
24822         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
24823         "overflow" label definition and associated code with the
24824         same cpp condition that guards the sole use of that label.
24825
24826 2008-01-26  Bruno Haible  <bruno@clisp.org>
24827
24828         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
24829         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
24830         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
24831         * lib/isnanl-nolibm.h (isnanl): Likewise.
24832         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24833
24834 2008-01-26  Bruno Haible  <bruno@clisp.org>
24835
24836         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
24837         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
24838
24839 2008-01-26  Bruno Haible  <bruno@clisp.org>
24840
24841         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
24842         GCC >= 4.0 built-in.
24843         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
24844
24845 2008-01-26  Bruno Haible  <bruno@clisp.org>
24846
24847         Rename isnan, applicable to 'double' only, to isnand.
24848         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
24849         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
24850         (configure.ac): Update.
24851         (Include): Replace "isnan.h" with "isnand.h".
24852         * m4/isnand.m4: Renamed from m4/isnan.m4.
24853         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
24854         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
24855         instead of isnan.c.
24856         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
24857         instead of HAVE_ISNAN_IN_LIBC.
24858         (isnand): Renamed from isnan.
24859         * lib/isnand.c: New file.
24860         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
24861         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
24862         (Makefile.am): Update.
24863         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
24864         Include isnand.h instead of isnan.h.
24865         (main): Test isnand instead of isnan.
24866         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
24867         isnan-nolibm.
24868         * modules/frexp (Depends-on): Likewise.
24869         * modules/frexp-tests (Depends-on): Likewise.
24870         * modules/frexp-nolibm (Depends-on): Likewise.
24871         * modules/frexp-nolibm-tests (Depends-on): Likewise.
24872         * modules/isfinite (Depends-on): Likewise.
24873         * modules/round-tests (Depends-on): Likewise.
24874         * modules/signbit (Depends-on): Likewise.
24875         * modules/signbit-tests (Depends-on): Likewise.
24876         * modules/snprintf-posix (Depends-on): Likewise.
24877         * modules/sprintf-posix (Depends-on): Likewise.
24878         * modules/trunc-tests (Depends-on): Likewise.
24879         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24880         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24881         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24882         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24883         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24884         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24885         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24886         * modules/vasnprintf-posix (Depends-on): Likewise.
24887         * modules/vasprintf-posix (Depends-on): Likewise.
24888         * modules/vfprintf-posix (Depends-on): Likewise.
24889         * modules/vsnprintf-posix (Depends-on): Likewise.
24890         * modules/vsprintf-posix (Depends-on): Likewise.
24891         * lib/frexp.c: Include isnand.h instead of isnan.h.
24892         (ISNAN): Set to isnand instead of isnan.
24893         * lib/isfinite.c: Include isnand.h instead of isnan.h.
24894         (gl_isfinited): Use isnand instead of isnan.
24895         * lib/signbitd.c: Include isnand.h instead of isnan.h.
24896         (gl_signbitd): Use isnand instead of isnan.
24897         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
24898         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
24899         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
24900         (main): Use isnand instead of isnan.
24901         * tests/test-round1.c: Include isnand.h.
24902         (main): Use isnand instead of isnan.
24903         * tests/test-round2.c: Include isnand.h instead of isnan.h.
24904         (ISNAN): Set to isnand instead of isnan.
24905         * tests/test-trunc1.c: Include isnand.h.
24906         (main): Use isnand instead of isnan.
24907         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
24908         (equal): Use isnand instead of isnan.
24909         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
24910         isnand-nolibm.
24911         * NEWS: Mention the change.
24912
24913 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
24914             Bruno Haible  <bruno@clisp.org>
24915
24916         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
24917         the GCC builtins for signbits are present and set
24918         REPLACE_SIGNBIT_USING_GCC if so.
24919         * lib/math.in.h (signbit): Define using GCC builtins if
24920         REPLACE_SIGNBIT_USING_GCC is set.
24921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
24922         REPLACE_SIGNBIT_USING_GCC.
24923         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
24924
24925 2008-01-25  Jim Meyering  <meyering@redhat.com>
24926
24927         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
24928         * lib/poll.c: Include <config.h>, not "config.h".
24929         * tests/test-getaddrinfo.c: Likewise.
24930
24931 2008-01-25  Simon Josefsson  <simon@josefsson.org>
24932
24933         * modules/sockets-tests: New file.
24934
24935 2008-01-24  Simon Josefsson  <simon@josefsson.org>
24936
24937         * modules/sockets: New module, can be used to call WSA_Startup and
24938         WSA_Cleanup when needed.
24939
24940         * lib/sockets.h, lib/sockets.c: New files.
24941
24942         * m4/sockets.m4: New file.
24943
24944         * tests/test-sockets.c: New file.
24945
24946 2008-01-19  Bruno Haible  <bruno@clisp.org>
24947
24948         * doc/posix-headers: Renamed from doc/headers.
24949         * doc/posix-functions: Renamed from doc/functions.
24950         * doc/gnulib.texi: Update.
24951
24952 2008-01-19  Bruno Haible  <bruno@clisp.org>
24953
24954         * doc/glibc-functions/strcasestr.texi: Include contents of
24955         doc/functions/strcasestr.texi, fixing the list of platforms.
24956         * doc/functions/strcasestr.texi: Remove file.
24957
24958 2008-01-19  Bruno Haible  <bruno@clisp.org>
24959
24960         * doc/glibc-functions/memmem.texi: Include contents of
24961         doc/functions/memmem.texi.
24962         * doc/functions/memmem.texi: Remove file.
24963
24964 2008-01-18  Bruno Haible  <bruno@clisp.org>
24965
24966         * doc/glibc-functions/*.texi: New files.
24967         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
24968         to use the new files.
24969
24970 2008-01-17  Bruno Haible  <bruno@clisp.org>
24971
24972         * tests/test-gethostname.c (main): Fix printf statement.
24973
24974 2008-01-17  Simon Josefsson  <simon@josefsson.org>
24975
24976         * modules/gethostname-tests: New file.
24977
24978         * tests/test-gethostname.c: New file.
24979
24980 2008-01-17  Simon Josefsson  <simon@josefsson.org>
24981
24982         * lib/gethostname.c: Include string.h unconditionally, strncpy is
24983         used by the UNAME case.  Reported by Bruno Haible
24984         <bruno@clisp.org>.
24985
24986 2008-01-17  Eric Blake  <ebb9@byu.net>
24987
24988         Convert c-strcasestr to be more efficient.
24989         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
24990         (Depends-on): Add c-strcase, remove malloca, strnlen.
24991         * tests/test-c-strcasestr.c (main): Enhance test.
24992         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
24993
24994 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
24995
24996         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
24997         Use it in creating po/Makevars.
24998
24999 2008-01-15  Simon Josefsson  <simon@josefsson.org>
25000
25001         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
25002         Applications that requires it should initialize libgcrypt
25003         manually.
25004
25005 2008-01-16  Simon Josefsson  <simon@josefsson.org>
25006
25007         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
25008
25009 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25010
25011         Fix problem with getdate on mingw32 reported by Simon Josefsson
25012         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
25013         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
25014         tzname", when deciding whether to declare tzname.
25015         * lib/strftime.c (tzname): Likewise.
25016
25017 2008-01-15  Bruno Haible  <bruno@clisp.org>
25018
25019         Work around a MacOS X 10.5 bug in frexpl().
25020         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
25021         * doc/functions/frexpl.texi: Document the bug.
25022         Reported by Elias Pipping <pipping@gentoo.org>.
25023
25024 2008-01-14  Eric Blake  <ebb9@byu.net>
25025
25026         Touch up previous patch.
25027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
25028         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
25029
25030         Convert strcasestr module to use Two-Way algorithm.
25031         * modules/strcasestr-simple: New module, based on the old
25032         strcasestr, but with Two-Way rather than KMP.
25033         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
25034         * lib/string.in.h (rpl_strcasestr): Declare.
25035         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
25036         performance.
25037         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
25038         * modules/string (Makefile.am): Support strcasestr.
25039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25040         * modules/strcasestr-tests (Depends-on): Check for alarm.
25041         * tests/test-strcasestr.c: Augment test.
25042         * lib/str-two-way.h: Clean up stray macro.
25043         * NEWS: Document new module.
25044         * MODULES.html.sh (string handling): Likewise.
25045         * doc/functions/strcasestr.texi: New file.
25046         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
25047         here, since it is not a POSIX function.
25048
25049 2008-01-14  Colin Watson  <cjwatson@debian.org>
25050             Bruno Haible  <bruno@clisp.org>
25051
25052         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
25053         works fine; if not, set REPLACE_STRSIGNAL.
25054         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
25055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25056         REPLACE_STRSIGNAL.
25057         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
25058         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
25059         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
25060
25061 2008-01-14  Bruno Haible  <bruno@clisp.org>
25062
25063         * modules/strsignal (Include): Change to <string.h>.
25064
25065 2008-01-14  Colin Watson  <cjwatson@debian.org>
25066
25067         * modules/argp (Notice): Add a notice recommending to change
25068         XGETTEXT_OPTIONS.
25069         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
25070
25071 2008-01-13  Colin Watson  <cjwatson@debian.org>
25072
25073         * modules/strsignal-tests: New file.
25074         * tests/test-strsignal.c: New file.
25075
25076         * lib/strsignal.c: New file, from glibc with modifications.
25077         * lib/siglist.h: New file, from glibc with modifications.
25078         * lib/string.in.h (strsignal): New declaration.
25079         * m4/strsignal.m4: New file.
25080         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25081         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
25082         * modules/strsignal: New file.
25083         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
25084         HAVE_DECL_STRSIGNAL.
25085
25086 2008-01-13  Bruno Haible  <bruno@clisp.org>
25087
25088         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
25089         locale encoding is not ASCII. Needed for OpenBSD 4.0.
25090         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25091         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25092
25093 2008-01-13  Bruno Haible  <bruno@clisp.org>
25094
25095         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
25096         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
25097         * lib/argp.h (__attribute__): Likewise.
25098         * lib/c-stack.c (__attribute__): Likewise.
25099         * lib/error.h (__attribute__): Likewise.
25100         * lib/fts.c (__attribute__): Likewise.
25101         * lib/openat.h (__attribute__): Likewise.
25102         * lib/stdio.in.h (__attribute__): Likewise.
25103         * lib/string.in.h (__attribute__): Likewise.
25104         * lib/utimens.c (__attribute__): Likewise.
25105         * lib/vasnprintf.h (__attribute__): Likewise.
25106         * lib/xalloc.h (__attribute__): Likewise.
25107         * lib/xprintf.h (__attribute__): Likewise.
25108         * lib/xstrtol.h (__attribute__): Likewise.
25109         * lib/xvasprintf.h (__attribute__): Likewise.
25110
25111 2008-01-12  Bruno Haible  <bruno@clisp.org>
25112
25113         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
25114         * doc/glibc-headers/a.out.texi: New file.
25115         * doc/glibc-headers/aliases.texi: New file.
25116         * doc/glibc-headers/alloca.texi: New file.
25117         * doc/glibc-headers/ar.texi: New file.
25118         * doc/glibc-headers/argp.texi: New file.
25119         * doc/glibc-headers/argz.texi: New file.
25120         * doc/glibc-headers/byteswap.texi: New file.
25121         * doc/glibc-headers/crypt.texi: New file.
25122         * doc/glibc-headers/endian.texi: New file.
25123         * doc/glibc-headers/envz.texi: New file.
25124         * doc/glibc-headers/err.texi: New file.
25125         * doc/glibc-headers/error.texi: New file.
25126         * doc/glibc-headers/execinfo.texi: New file.
25127         * doc/glibc-headers/fpu_control.texi: New file.
25128         * doc/glibc-headers/fstab.texi: New file.
25129         * doc/glibc-headers/fts.texi: New file.
25130         * doc/glibc-headers/getopt.texi: New file.
25131         * doc/glibc-headers/ieee754.texi: New file.
25132         * doc/glibc-headers/ifaddrs.texi: New file.
25133         * doc/glibc-headers/libintl.texi: New file.
25134         * doc/glibc-headers/mcheck.texi: New file.
25135         * doc/glibc-headers/mntent.texi: New file.
25136         * doc/glibc-headers/obstack.texi: New file.
25137         * doc/glibc-headers/paths.texi: New file.
25138         * doc/glibc-headers/printf.texi: New file.
25139         * doc/glibc-headers/pty.texi: New file.
25140         * doc/glibc-headers/resolv.texi: New file.
25141         * doc/glibc-headers/shadow.texi: New file.
25142         * doc/glibc-headers/sysexits.texi: New file.
25143         * doc/glibc-headers/ttyent.texi: New file.
25144
25145 2008-01-12  Jim Meyering  <meyering@redhat.com>
25146
25147         announce-gen: emit Gnulib's git-based version string.
25148         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
25149         New option --gnulib-version=V, where V is expected to be
25150         the output of running git describe in the gnulib directory.
25151         (get_tool_versions): Request feedback on xdelta.  I suspect it's
25152         not useful, and plan to stop publishing an xdelta file with each
25153         coreutils release.
25154
25155         * build-aux/announce-gen: Also check for lzma-compressed files.
25156
25157 2008-01-11  Bruno Haible  <bruno@clisp.org>
25158
25159         * tests/test-memmem.c (main): Increase maximum allowed time.
25160         * tests/test-strstr.c (main): Likewise.
25161
25162 2008-01-11  Bruno Haible  <bruno@clisp.org>
25163
25164         * doc/functions/memmem.texi: Add more precisions about platforms.
25165         * doc/functions/strstr.texi: Likewise.
25166
25167 2008-01-10  Eric Blake  <ebb9@byu.net>
25168
25169         * m4/strstr.m4: Delete cruft from copy-n-paste.
25170         Reported by Bruno Haible.
25171
25172 2008-01-10  Bruno Haible  <bruno@clisp.org>
25173
25174         Make c-strstr rely on strstr.
25175         * lib/c-strstr.c: Don't include str-kmp.h.
25176         (c_strstr): Define in terms of strstr.
25177         * modules/c-strstr (Files): Remove lib/str-kmp.h.
25178         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
25179
25180 2008-01-10  Bruno Haible  <bruno@clisp.org>
25181
25182         * doc/gnulib.texi (String Functions in C Locale): New section.
25183         * doc/c-ctype.texi: New file.
25184         * doc/c-strcase.texi: New file.
25185         * doc/c-strcaseeq.texi: New file.
25186         * doc/c-strcasestr.texi: New file.
25187         * doc/c-strstr.texi: New file.
25188         * doc/c-strtod.texi: New file.
25189         * doc/c-strtold.texi: New file.
25190
25191 2008-01-10  Eric Blake  <ebb9@byu.net>
25192
25193         * lib/relocatable.h: Fix a comment.
25194
25195 2008-01-10  Eric Blake  <ebb9@byu.net>
25196
25197         Share two-way algorithm.
25198         * lib/str-two-way.h: New file, merged from...
25199         * lib/memmem.c: ...here...
25200         * lib/strstr.c: ...and here.
25201         * modules/memmem (Files): Use it.
25202         * modules/strstr (Files): Likewise.
25203
25204         Avoid quadratic strstr implementations.
25205         * lib/strstr.c: New file.
25206         * m4/strstr.m4: Likewise.
25207         * modules/strstr: Likewise.
25208         * modules/strstr-tests: Likewise.
25209         * tests/test-strstr.c: Likewise.
25210         * lib/string.in.h (rpl_strstr): Declare.
25211         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
25212         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
25213         * modules/string (Makefile.am): Likewise.
25214         * MODULES.html.sh (string handling): Mention new module.
25215         * doc/functions/strstr.texi (strstr): Document the bug.
25216
25217 2008-01-10  Bruno Haible  <bruno@clisp.org>
25218
25219         * lib/relocatable.h (relocate): State whether result is freshly
25220         allocated or not.
25221         * lib/relocatable.c (relocate): Return a freshly allocated string
25222         instead of a pointer to a privately held string.
25223         Reported by Sylvain Beucler <beuc@gnu.org>.
25224
25225 2008-01-10  Colin Watson  <cjwatson@debian.org>
25226
25227         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
25228         s/S_ISNLK/S_ISLNK/.
25229
25230 2008-01-09  Bruno Haible  <bruno@clisp.org>
25231
25232         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
25233         and other files.
25234         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
25235         if it's only a guess.
25236         * modules/memmem: Simplify by depending on memmem-simple.
25237
25238 2008-01-09  Bruno Haible  <bruno@clisp.org>
25239
25240         Work around OpenBSD 4.0 tdelete() bug.
25241         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
25242         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
25243         macros and don't redefine the enum values.
25244         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
25245         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
25246         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
25247
25248 2008-01-09  Bruno Haible  <bruno@clisp.org>
25249
25250         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
25251         (main): Don't perform the tests if setlocale did not install a UTF-8
25252         locale. Needed on OpenBSD 4.0.
25253         * modules/wcwidth-tests (Depends-on): Add localcharset.
25254
25255 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25256
25257         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
25258         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
25259         * NEWS: announce this.
25260         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
25261
25262 2008-01-09  Simon Josefsson  <simon@josefsson.org>
25263         and Eric Blake  <ebb9@byu.net>
25264
25265         Add memmem-simple module.
25266         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
25267         (gl_FUNC_MEMMEM): Separate performance from presence checks.
25268         * modules/memmem-simple: New file.
25269         * modules/memmem (Description): Tweak.
25270         * MODULES.html.sh (string handling): Mention new module.
25271         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
25272         addressed by memmem-simple.
25273         * NEWS: Document the difference.
25274
25275 2008-01-09  Eric Blake  <ebb9@byu.net>
25276
25277         Give gcc some memmem optimization hints.
25278         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
25279         (strcasestr): Declare as pure.
25280         * modules/memmem (Maintainer): Claim my implementation.
25281
25282 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25283
25284         Support AIX 6.1 and higher.
25285         * build-aux/config.libpath: Likewise.
25286         * build-aux/config.rpath: Likewise.
25287
25288 2008-01-08  Jim Meyering  <meyering@redhat.com>
25289             Bruno Haible  <bruno@clisp.org>
25290
25291         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
25292         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
25293         Reported by Peter Fales in
25294         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
25295
25296 2008-01-08  Bruno Haible  <bruno@clisp.org>
25297
25298         * modules/unictype/category-of (Depends-on): Add
25299         unictype/category-none.
25300         * modules/unictype/category-and-tests (Depends-on): Add
25301         unictype/category-{L,N,Lu,Nd}.
25302         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
25303         * modules/unictype/category-or-tests (Depends-on): Add
25304         unictype/category-{L,N}.
25305         * modules/unictype/category-name-tests (Depends-on): Add
25306         unictype/category-{Z,Nl}.
25307         Reported by Simon Josefsson.
25308
25309 2008-01-08  Bruno Haible  <bruno@clisp.org>
25310
25311         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
25312         convention better.
25313         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
25314         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
25315         Reported by Peter Miller <millerp@canb.auug.org.au>.
25316
25317 2008-01-08  Eric Blake  <ebb9@byu.net>
25318
25319         Rewrite memmem to guarantee linear complexity without malloc.
25320         * lib/memmem.c (memmem): Use Two-Way rather than
25321         Knuth-Morris-Pratt, to allow O(1) space usage.
25322         (critical_factorization, two_way_short_needle)
25323         (two_way_long_needle): New functions.
25324         (knuth_morris_pratt): Delete.
25325         * modules/memmem (Depends-on): No longer need malloca or stdbool.
25326         Add stdint.
25327         * tests/test-memmem.c (main): Add tests for periodic needle and
25328         sublinear performance.
25329         * doc/functions/memmem.texi (memmem): Document other deficiencies
25330         in cygwin and older glibc.
25331
25332 2008-01-08  Bruno Haible  <bruno@clisp.org>
25333
25334         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
25335         augmentation.
25336
25337 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
25338
25339         Add a configure time option: --disable-acl.
25340         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
25341         AC_ARG_ENABLE(acl).
25342
25343 2008-01-06  Simon Josefsson  <simon@josefsson.org>
25344
25345         * tests/test-localename.c: Don't include obsolete "setenv.h".
25346
25347         * modules/localename-tests (Depends-on): Need unsetenv.
25348
25349 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25350
25351         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
25352
25353 2008-01-06  Colin Watson  <cjwatson@debian.org>
25354
25355         * users.txt: Add man-db.
25356
25357 2008-01-07  Bruno Haible  <bruno@clisp.org>
25358
25359         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
25360         previous section name.
25361
25362 2008-01-07  Bruno Haible  <bruno@clisp.org>
25363
25364         * lib/progname.c (set_program_name): Don't strip off a leading
25365         "lt-" prefix outside a .libs directory.
25366         Suggested by Paul Eggert.
25367
25368 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
25369             Bruno Haible  <bruno@clisp.org>
25370
25371         Improve memory cleanup in 'relocatable' module.
25372         * lib/relocatable.h (compute_curr_prefix): Change return type to
25373         'char *'.
25374         * lib/relocatable.c (compute_curr_prefix): Change return type to
25375         'char *'. Free curr_installdir after use.
25376         (relocate): Free curr_prefix_better after use.
25377         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
25378
25379 2008-01-01  Bruno Haible  <bruno@clisp.org>
25380
25381         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
25382         failure on older glibc systems.
25383         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25384
25385 2008-01-05  Eric Blake  <ebb9@byu.net>
25386
25387         Avoid quadratic system memmem.
25388         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
25389         Reported by Ralf Wildenhues.
25390
25391         Fix memmem test for mingw.
25392         * modules/memmem-tests (configure.ac): Check for alarm.
25393         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
25394         it.
25395         * doc/functions/memmem.texi: New file.
25396         * doc/gnulib.texi (Function Substitutes): Add memmem.
25397         Reported by Bruno Haible.
25398
25399 2008-01-04  Bruno Haible  <bruno@clisp.org>
25400
25401         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
25402         Require gl_HEADER_STRINGS_H_DEFAULTS, not
25403         gl_HEADER_STRING_H_DEFAULTS.
25404
25405 2008-01-04  Eric Blake  <ebb9@byu.net>
25406
25407         Shorten duration of memmem test.
25408         * tests/test-memmem.c (main): Use alarm to declare failure if test
25409         is taking too long.
25410         Reported by Ralf Wildenhues.
25411
25412 2007-12-21  Simon Josefsson  <simon@josefsson.org>
25413
25414         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
25415         string, needed by strerror.
25416
25417 2008-01-03  Colin Watson  <cjwatson@debian.org>
25418             Bruno Haible  <bruno@clisp.org>
25419
25420         * doc/gnulib-tool.texi (Localization): New section.
25421
25422 2008-01-02  Bruno Haible  <bruno@clisp.org>
25423
25424         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
25425         variables to 'unsigned char *' type.
25426         Reported by Paul Eggert.
25427
25428 2008-01-02  Jim Meyering  <jim@meyering.net>
25429
25430         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
25431
25432 2007-12-31  Jim Meyering  <jim@meyering.net>
25433
25434         Avoid use of private FTS type name.
25435         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
25436
25437 2007-12-30  Karl Berry  <karl@gnu.org>
25438
25439         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
25440         work around defect in Texinfo and/or the standalone Info browser.
25441
25442 2007-12-30  Bruno Haible  <bruno@clisp.org>
25443
25444         Unify 5 copies of the KMP code.
25445         * lib/str-kmp.h: New file.
25446         * lib/c-strcasestr.c: Include str-kmp.h.
25447         (knuth_morris_pratt): Remove function.
25448         (c_strcasestr): Update.
25449         * lib/c-strstr.c: Include str-kmp.h.
25450         (knuth_morris_pratt): Remove function.
25451         (c_strcasestr): Update.
25452         * lib/mbscasestr.c: Include str-kmp.h.
25453         (knuth_morris_pratt_unibyte): Remove function.
25454         * lib/mbsstr.c: Include str-kmp.h.
25455         (knuth_morris_pratt_unibyte): Remove function.
25456         * lib/strcasestr.c: Include str-kmp.h.
25457         (knuth_morris_pratt): Remove function.
25458         (strcasestr): Update.
25459         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
25460         * modules/c-strstr (Files): Likewise.
25461         * modules/mbscasestr (Files): Likewise.
25462         * modules/mbsstr (Files): Likewise.
25463         * modules/strcasestr (Files): Likewise.
25464         Suggested by Paul Eggert.
25465
25466 2007-12-30  Bruno Haible  <bruno@clisp.org>
25467
25468         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
25469         defined.
25470
25471 2007-12-30  Bruno Haible  <bruno@clisp.org>
25472
25473         * lib/xmalloca.h: Include xalloc.h.
25474         (xnmalloca): New macro.
25475
25476 2007-12-30  Bruno Haible  <bruno@clisp.org>
25477
25478         * lib/malloca.h (nmalloca): New macro.
25479         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
25480         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
25481         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
25482         knuth_morris_pratt_multibyte): Likewise.
25483         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
25484         knuth_morris_pratt_multibyte): Likewise.
25485         * lib/memmem.c (knuth_morris_pratt): Likewise.
25486         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
25487
25488 2007-12-25  Bruno Haible  <bruno@clisp.org>
25489
25490         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
25491         * lib/glob.c: Don't include openat.h.
25492         (link_exists2_p): Add back the code that deals with the
25493         !GLOB_ALTDIRFUNC case.
25494         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
25495         let it do the filename concatenation.
25496         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
25497         * modules/glob (Depends-on): Remove openat.
25498
25499 2007-12-31  Bruno Haible  <bruno@clisp.org>
25500
25501         * modules/dirfd (License): Change to LGPLv2+.
25502         Approved by Jim Meyering.
25503
25504 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25505
25506         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
25507         when multiplying M by sizeof (size_t).
25508
25509 2007-12-10  Martin Lambers  <marlam@marlam.de>
25510
25511         Override getpagesize on mingw.
25512         * lib/getpagesize.c: New file.
25513         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
25514         * modules/getpagesize (Files): Add lib/getpagesize.c.
25515         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
25516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25517         REPLACE_GETPAGESIZE.
25518         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
25519
25520 2007-12-25  Bruno Haible  <bruno@clisp.org>
25521
25522         * modules/localcharset (Notice): New field.
25523         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
25524         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
25525
25526 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25527             Bruno Haible  <bruno@clisp.org>
25528
25529         Avoid using the syntax symbol() in formatted documentation.
25530         * MODULES.html.sh (func_module): When replacing symbol() with a
25531         hyperlink, remove the parentheses. Show an error if some remain.
25532         Recognize and render the '...' syntax.
25533         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
25534         Rework. Add paragraph about GCC's inlining.
25535         * doc/alloca.texi: Likewise.
25536         * doc/error.texi: Remove parentheses from symbol reference.
25537         * doc/gnulib-intro.texi: Likewise.
25538         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
25539         * modules/fnmatch (Description): Reword to say "the ... function".
25540         * modules/full-read (Description): Likewise.
25541         * modules/full-write (Description): Likewise.
25542         * modules/safe-read (Description): Likewise.
25543         * modules/safe-write (Description): Likewise.
25544         * modules/strchrnul (Description): Likewise.
25545         * modules/trim (Description): Likewise.
25546         * modules/error (Description): Remove parentheses from symbol
25547         references.
25548         * modules/verror (Description): Likewise.
25549         Reported by Karl Berry.
25550
25551 2007-12-25  Bruno Haible  <bruno@clisp.org>
25552
25553         Fixup after 2007-10-16 commit.
25554         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
25555
25556 2007-12-24  Bruno Haible  <bruno@clisp.org>
25557
25558         Make --enable-relocatable work with DESTDIR.
25559         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
25560         to compute installdir from destprog.
25561         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
25562         also set the RELOC_DESTDIR variable.
25563         Reported by Левашев Иван <octagram@bluebottle.com>.
25564
25565 2007-12-24  Bruno Haible  <bruno@clisp.org>
25566
25567         Fix link error due to xalloc_die().
25568         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
25569         of xreadlink.
25570         * lib/relocwrapper.c: Update comments.
25571         * build-aux/install-reloc: Remove xreadlink.c from file list.
25572         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
25573         xreadlink.c.
25574         Reported by Левашев Иван <octagram@bluebottle.com>.
25575
25576 2007-12-24  Bruno Haible  <bruno@clisp.org>
25577
25578         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
25579         * lib/setenv.h: Remove file.
25580         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
25581         lib/setenv.h.
25582         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
25583         (Depends-on): Add stdlib.
25584         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
25585         gl_FUNC_UNSETENV.
25586         (Include): Replace setenv.h with <stdlib.h>.
25587         * modules/unsetenv: New file.
25588         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
25589         * lib/unsetenv.c: Include <stdlib.h> first.
25590         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
25591         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
25592         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
25593         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
25594         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
25595         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
25596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
25597         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
25598         * doc/functions/unsetenv.texi: Update.
25599         * modules/xsetenv (Depends-on): Add unsetenv.
25600         * modules/getdate (Depends-on): Likewise.
25601         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
25602         * lib/xsetenv.c: Don't include setenv.h.
25603         * lib/getdate.y: Likewise.
25604         * lib/relocwrapper.c: Likewise.
25605         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
25606         (Depends-on): Add stdlib.
25607         * NEWS: Mention the changes.
25608         Reported by Левашев Иван <octagram@bluebottle.com>.
25609
25610 2007-12-23  Bruno Haible  <bruno@clisp.org>
25611
25612         * lib/memmem.c (memmem): Use lowercase variable names. Tab
25613         indentation.
25614
25615 2007-12-23  Bruno Haible  <bruno@clisp.org>
25616
25617         * lib/c-strcasestr.c: Add more comments.
25618         * lib/c-strstr.c: Likewise.
25619         * lib/mbscasestr.c: Likewise.
25620         * lib/mbsstr.c: Likewise.
25621         * lib/strcasestr.c: Likewise.
25622         * lib/memmem.c: Likewise.
25623
25624 2007-12-23  Bruno Haible  <bruno@clisp.org>
25625
25626         * tests/test-memmem.c: Include <string.h> first.
25627
25628 2007-12-22  Bruno Haible  <bruno@clisp.org>
25629
25630         * gnulib-tool (func_create_testdir): Change $auxdir while generating
25631         the contents of $testsbase.
25632         Reported by Ralf Wildenhues.
25633
25634 2007-12-22  Bruno Haible  <bruno@clisp.org>
25635
25636         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
25637         two variables local_ldadd_before, local_ldadd_last.
25638
25639 2007-12-20  Eric Blake  <ebb9@byu.net>
25640
25641         Work around circular library issue when cross-compiling.
25642         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
25643         that progname.o does not need to pull in rpl_memcmp.
25644
25645 2007-12-19  Eric Blake  <ebb9@byu.net>
25646
25647         Fix memmem to avoid O(n^2) worst-case complexity.
25648         * lib/memmem.c (knuth_morris_pratt): New function.
25649         (memmem): Use it if first few naive iterations fail.
25650         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
25651         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
25652         * modules/memchr (License): Likewise.
25653         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
25654         malloca.
25655         * tests/test-memmem.c: Rewrite, borrowing ideas from
25656         test-mbsstr1.c; the old version wouldn't even compile!
25657         * modules/memmem-tests: New file.
25658         * lib/string.in.h (rpl_memmem): Add declaration.
25659         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
25660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
25661         REPLACE_MEMMEM.
25662
25663 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25664
25665         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
25666         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
25667         before any system include files, and undef after them all.  This
25668         should fix a problem on VMS reported by John E. Malmberg in
25669         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
25670
25671 2007-12-17  Eric Blake  <ebb9@byu.net>
25672
25673         Revert addition of verify, for BSD/OS.
25674         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
25675         can't handle large files, for the sake of obsolete platforms.
25676         * modules/fseeko (Depends-on): Remove verify.
25677         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
25678         * doc/functions/ftello.texi (ftello): Likewise.
25679         * doc/functions/fgetpos.texi (fgetpos): Likewise.
25680         Reported by Larry Jones.
25681
25682 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
25683
25684         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
25685         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
25686
25687 2007-12-17  Jim Meyering  <meyering@redhat.com>
25688
25689         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
25690         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
25691         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
25692         * modules/getcwd (Depends-on): Add openat.
25693         Reported by Petr Salinger.
25694
25695 2007-12-17  Bruno Haible  <bruno@clisp.org>
25696
25697         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
25698         avoid a segmentation fault of the configure test on x86_64 systems.
25699
25700 2007-12-15  Jim Meyering  <meyering@redhat.com>
25701
25702         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
25703
25704 2007-12-13  Eric Blake  <ebb9@byu.net>
25705
25706         Another fseek test.
25707         * tests/test-fseek.c (main): Also test ungetc handling.
25708         * tests/test-fseeko.c (main): Likewise.
25709         * modules/fseeko (Depends-on): Add verify.
25710         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
25711         large.
25712         Reported by Larry Jones.
25713
25714         Fix fseeko on mingw.
25715         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
25716         seek.
25717
25718         Beef up fseek tests.
25719         * tests/test-fseek.c (main): Also test eof handling.
25720         * tests/test-fseeko.c (main): Likewise.
25721         Reported by Larry Jones.
25722
25723 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
25724
25725         Fix fseeko on BSD-based platforms.
25726         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
25727         successful seek.
25728
25729 2007-12-12  Eric Blake  <ebb9@byu.net>
25730
25731         Allow circular dependency of separate libtests.a
25732         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
25733         when use_libtests.
25734
25735 2007-12-11  Eric Blake  <ebb9@byu.net>
25736
25737         Fix bug with -0.0L in previous patch.
25738         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
25739         * tests/test-isnan.c (main): Also test on zeroes.
25740         * tests/test-isnanf.c (main): Likewise.
25741         * tests/test-isnanl.h (main): Likewise.
25742
25743         Detect pseudo-denormals on x86 even when cross-compiling.
25744         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
25745         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
25746         invalid bit patterns that happen to satisfy ==.
25747
25748         Avoid link failures with separate libtests.a.
25749         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
25750         last, to satisfy circular dependencies.
25751
25752 2007-12-11  Eric Blake  <ebb9@byu.net>
25753         and Bruno Haible  <bruno@clisp.org>
25754
25755         Fix OpenBSD 4.0 <float.h> handling of long double.
25756         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
25757         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
25758         * doc/headers/float.texi (float.h): Document OpenBSD bug.
25759
25760 2007-12-11  Jim Meyering  <meyering@redhat.com>
25761
25762         * users.txt: Add libvirt.
25763
25764         Support versions of autoconf prior to 2.59c.
25765         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
25766         if it is not already defined.
25767
25768 2007-12-09  Bruno Haible  <bruno@clisp.org>
25769
25770         Let 'gnulib-tool --import' collect sources needed for the tests in
25771         tests/ rather than in lib/.
25772         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
25773         argument. If true, add rules to generate libtests.a, and put libtests.a
25774         into $(LDADD). Consider source files in subdirectories and set
25775         uses_subdirs.
25776         (func_emit_initmacro_start, func_emit_initmacro_end,
25777         func_emit_initmacro_done): Pass all arguments explicitly.
25778         (func_import): Determine two module lists main_modules,
25779         testsrelated_modules. Determine use_libtests. Determine two variables
25780         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
25781         instead of just sed_transform_lib_file. Determine two variables
25782         main_files and testsrelated_files. Compute 'files' as the union of
25783         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
25784         func_add_or_update. In the generated gnulib-comp.m4, collect the
25785         object files for tests/ in different variables than those for lib/.
25786         Substitute LIBTESTS_LIBDEPS.
25787         (func_create_testdir): Combine the uses_subdirs results from
25788         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
25789
25790 2007-12-09  Bruno Haible  <bruno@clisp.org>
25791
25792         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
25793         the build-aux directory.
25794
25795 2007-12-09  Bruno Haible  <bruno@clisp.org>
25796
25797         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
25798         introduced on 2006-09-09.
25799
25800 2007-12-07  Jim Meyering  <meyering@redhat.com>
25801
25802         Let these macros work also with autoconf-2.59.
25803         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
25804         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
25805         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25806
25807 2007-12-06  Jim Meyering  <meyering@redhat.com>
25808
25809         Avoid a configure-time syntax error in gl_FUNC_ACL.
25810         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
25811         function in each branch, before testing the cache variable.
25812
25813 2007-12-04  Eric Blake  <ebb9@byu.net>
25814
25815         Make scripts executable.
25816         * build-aux/config.guess: Add execute permissions.
25817         * build-aux/config.sub: Likewise.
25818         * build-aux/gendocs.sh: Likewise.
25819
25820         Fix frexp on mingw.
25821         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
25822         cross-compiling.
25823         * doc/functions/frexp.texi (frexp): Document the bug.
25824
25825         Make cygwin fseeko check more reliable.
25826         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
25827         version numbers, rather than unrelated feature check.
25828         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
25829         * doc/functions/ftello.texi (ftello): Likewise.
25830         Reported by Bruno Haible.
25831
25832         * m4/strerror.m4: Bump version number.
25833
25834 2007-12-03  Bruno Haible  <bruno@clisp.org>
25835
25836         * doc/functions/mprotect.texi: Mention the mingw problem.
25837
25838 2007-12-03  Eric Blake  <ebb9@byu.net>
25839
25840         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
25841         REPLACE_STRERROR is initialized before this macro.
25842
25843 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
25844
25845         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
25846         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
25847         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
25848         put -lsec in even for programs other than 'ls'.  This fixes a problem
25849         for gettext reported by Bruno Haible in
25850         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
25851         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
25852         Add support for Solaris 10.  This isn't efficient, but should get the
25853         job done for now.
25854
25855 2007-12-03  James Youngman  <jay@gnu.org>
25856
25857         * doc/regexprops-generic.texi: change "an close-group" to "a
25858         close-group" and "illegal" to "not allowed".
25859
25860 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25861
25862         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
25863         pr_byname.h. Needed for the rare case when the maintainer has done
25864         "make maintainer-clean" in the source directory and then attempts a
25865         build outside the source directory.
25866         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
25867         scripts_byname.h.
25868
25869 2007-12-02  Martin Lambers <marlam@marlam.de>
25870             Bruno Haible  <bruno@clisp.org>
25871
25872         * lib/getpagesize.h: Remove file.
25873         * lib/unistd.in.h: Include declaration of getpagesize here.
25874         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
25875         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
25876         HAVE_SYS_PARAM_H.
25877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
25878         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
25879         * modules/getpagesize (Files): Remove lib/getpagesize.h.
25880         (Depends-on): Add unistd.
25881         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25882         (Include): Use <unistd.h> instead of getpagesize.h.
25883         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
25884         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
25885         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
25886         gl_GETPAGESIZE invocation, already handled by module dependency.
25887         * lib/pagealign_alloc.c: Don't include getpagesize.h.
25888
25889 2007-12-02  Bruno Haible  <bruno@clisp.org>
25890
25891         * modules/strings-tests: New file.
25892         * tests/test-strings.c: New file.
25893
25894         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
25895         * lib/strings.in.h: New file.
25896         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
25897         * m4/strings_h.m4: New file.
25898         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
25899         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
25900         * modules/strings: New file.
25901         * modules/string (Makefile.am): Update.
25902         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
25903         Reported by Karl Berry.
25904
25905 2007-12-01  Eric Blake  <ebb9@byu.net>
25906
25907         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
25908         accomodate fix in cygwin 1.5.25.
25909
25910 2007-12-01  Jim Meyering  <meyering@redhat.com>
25911
25912         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
25913         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
25914         that would inhibit utf8-optimization of a regexp containing line-
25915         or buffer-anchors, e.g., `^', `$'.
25916
25917 2007-11-30  Bruno Haible  <bruno@clisp.org>
25918
25919         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
25920         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
25921         glthread_recursive_lock_init.
25922         * lib/lock.c (glthread_recursive_lock_init)
25923         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
25924         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25925
25926 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
25927
25928         New function qset_acl, like set_acl but with syscall semantics.
25929         * lib/acl.h (qset_acl): New decl.
25930         * lib/acl.c (qset_acl): New function.
25931         (set_acl): Use new function.  Use more-consistent diagnostics.
25932
25933 2007-11-28  Jim Meyering  <meyering@redhat.com>
25934
25935         * modules/physmem (License): Change from GPL to LGPLv2+.
25936
25937 2007-11-26  Bruno Haible  <bruno@clisp.org>
25938
25939         * lib/vasnprintf.c (decode_long_double): Don't abort if the
25940         'long double' type has excess precision.
25941         Reported by Jim Meyering in
25942         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
25943
25944 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25945
25946         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
25947         Sync from <http://gnu.org/licenses>.
25948         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
25949         with license text from same location.
25950         * doc/maintain.texi, doc/standards.texi:  Sync from
25951         <http://savannah.gnu.org/projects/gnustandards>.
25952
25953 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
25954         and Jim Meyering  <meyering@redhat.com>
25955
25956         Adjust getdate' grammar to accept a slightly more regular language.
25957         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
25958         Before, the former was rejected.
25959         * lib/getdate.y (digits_to_date_time): New function, factored
25960         out of ...
25961         (number): ...here.  Just call digits_to_date_time.
25962         (hybrid): New non-terminal to handle an <unsigned number,
25963         signed relative offset> sequence consistently.
25964
25965 2007-11-18  Jim Meyering  <meyering@redhat.com>
25966
25967         Pull my changes from coreutils:
25968         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
25969         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
25970         use of $gnulib_tool_option_extras, so that it's separated from the
25971         preceding argument.
25972
25973         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
25974         * build-aux/bootstrap (cp_mark_as_generated): Create any required
25975         parent destination directories before copying a file into place.
25976
25977 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
25978
25979         bootstrap: work also with 4-argument variant of AC_INIT
25980         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
25981
25982 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
25983
25984         Port test-getaddrinfo to Solaris.
25985         Problem reported by Bruno Haible in
25986         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
25987         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
25988         explanation of setting 'hints'.
25989         Don't reject an implementation merely because it returns EAI_SERVICE.
25990         (EAI_SERVICE): Define to 0 if not defined.
25991
25992 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25993
25994         The license of gnu-make and posix-shell is now "GPLed build tool".
25995         * modules/gnu-make (License): Likewise.
25996         * modules/posix-shell (License): Likewise.
25997
25998         New module posix-shell, for determining a POSIX shell
25999         or perhaps something that is close enough to a POSIX shell.
26000         * m4/posix-shell.m4: New file.
26001         * modules/posix-shell: New file.
26002
26003         * MODULES.html.sh: Mention new module.
26004
26005         New module gnu-make, for determining whether we're using GNU Make.
26006         * m4/gnu-make.m4: New file.
26007         * modules/gnu-make: New file.
26008         * MODULES.html.sh: Mention new module.
26009
26010 2007-11-14  Jim Meyering  <meyering@redhat.com>
26011
26012         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
26013         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
26014         use this macro to create a function _definition_.
26015         Remove useless "#undef ARGMATCH_DIE".
26016
26017 2007-11-14  Bruno Haible  <bruno@clisp.org>
26018
26019         * lib/config.charset: Update for OpenBSD 4.1.
26020         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
26021
26022 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26023
26024         Document 64-bit #if problems in stdint.texi.
26025         * doc/headers/stdint.texi (stdint.h): Mention problems with
26026         64-bit-#if, and how to work around them.
26027
26028         Don't insist on 'long long int' support in the preprocessor.  It
26029         breaks too many things.  For example, PRIdMAX still uses a 'long
26030         long int' format with the latest Sun compiler, even though
26031         HAVE_LONG_LONG_INT isn't defined due to that compiler's
26032         preprocessor problem.  This causes the latest coreutils to dump
26033         core on Solaris 10 sparc with the Sun C compiler.
26034         Instead, fix the 2007-10-16 problem in a different way, by evaluating
26035         the troublesome expressions at configure-time, not at #if-time.
26036         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
26037         preprocessor.
26038         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
26039         compile-time C checks, done at 'configure'-time.
26040         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
26041         * modules/inttypes (Makefile): Substitute the new symbols that
26042         gl_INTTYPES_H now generates.
26043         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
26044
26045 2007-11-12  Bruno Haible  <bruno@clisp.org>
26046
26047         Tests for Unicode character classification functions.
26048
26049         * modules/unictype/bidicategory-byname-tests: New file.
26050         * modules/unictype/bidicategory-name-tests: New file.
26051         * modules/unictype/bidicategory-of-tests: New file.
26052         * modules/unictype/bidicategory-test-tests: New file.
26053         * modules/unictype/block-list-tests: New file.
26054         * modules/unictype/block-of-tests: New file.
26055         * modules/unictype/block-test-tests: New file.
26056         * modules/unictype/category-C-tests: New file.
26057         * modules/unictype/category-Cc-tests: New file.
26058         * modules/unictype/category-Cf-tests: New file.
26059         * modules/unictype/category-Cn-tests: New file.
26060         * modules/unictype/category-Co-tests: New file.
26061         * modules/unictype/category-Cs-tests: New file.
26062         * modules/unictype/category-L-tests: New file.
26063         * modules/unictype/category-Ll-tests: New file.
26064         * modules/unictype/category-Lm-tests: New file.
26065         * modules/unictype/category-Lo-tests: New file.
26066         * modules/unictype/category-Lt-tests: New file.
26067         * modules/unictype/category-Lu-tests: New file.
26068         * modules/unictype/category-M-tests: New file.
26069         * modules/unictype/category-Mc-tests: New file.
26070         * modules/unictype/category-Me-tests: New file.
26071         * modules/unictype/category-Mn-tests: New file.
26072         * modules/unictype/category-N-tests: New file.
26073         * modules/unictype/category-Nd-tests: New file.
26074         * modules/unictype/category-Nl-tests: New file.
26075         * modules/unictype/category-No-tests: New file.
26076         * modules/unictype/category-P-tests: New file.
26077         * modules/unictype/category-Pc-tests: New file.
26078         * modules/unictype/category-Pd-tests: New file.
26079         * modules/unictype/category-Pe-tests: New file.
26080         * modules/unictype/category-Pf-tests: New file.
26081         * modules/unictype/category-Pi-tests: New file.
26082         * modules/unictype/category-Po-tests: New file.
26083         * modules/unictype/category-Ps-tests: New file.
26084         * modules/unictype/category-S-tests: New file.
26085         * modules/unictype/category-Sc-tests: New file.
26086         * modules/unictype/category-Sk-tests: New file.
26087         * modules/unictype/category-Sm-tests: New file.
26088         * modules/unictype/category-So-tests: New file.
26089         * modules/unictype/category-Z-tests: New file.
26090         * modules/unictype/category-Zl-tests: New file.
26091         * modules/unictype/category-Zp-tests: New file.
26092         * modules/unictype/category-Zs-tests: New file.
26093         * modules/unictype/category-and-not-tests: New file.
26094         * modules/unictype/category-and-tests: New file.
26095         * modules/unictype/category-byname-tests: New file.
26096         * modules/unictype/category-name-tests: New file.
26097         * modules/unictype/category-none-tests: New file.
26098         * modules/unictype/category-of-tests: New file.
26099         * modules/unictype/category-or-tests: New file.
26100         * modules/unictype/category-test-withtable-tests: New file.
26101         * modules/unictype/combining-class-tests: New file.
26102         * modules/unictype/ctype-alnum-tests: New file.
26103         * modules/unictype/ctype-alpha-tests: New file.
26104         * modules/unictype/ctype-blank-tests: New file.
26105         * modules/unictype/ctype-cntrl-tests: New file.
26106         * modules/unictype/ctype-digit-tests: New file.
26107         * modules/unictype/ctype-graph-tests: New file.
26108         * modules/unictype/ctype-lower-tests: New file.
26109         * modules/unictype/ctype-print-tests: New file.
26110         * modules/unictype/ctype-punct-tests: New file.
26111         * modules/unictype/ctype-space-tests: New file.
26112         * modules/unictype/ctype-upper-tests: New file.
26113         * modules/unictype/ctype-xdigit-tests: New file.
26114         * modules/unictype/decimal-digit-tests: New file.
26115         * modules/unictype/digit-tests: New file.
26116         * modules/unictype/mirror-tests: New file.
26117         * modules/unictype/numeric-tests: New file.
26118         * modules/unictype/property-alphabetic-tests: New file.
26119         * modules/unictype/property-ascii-hex-digit-tests: New file.
26120         * modules/unictype/property-bidi-arabic-digit-tests: New file.
26121         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
26122         * modules/unictype/property-bidi-block-separator-tests: New file.
26123         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
26124         * modules/unictype/property-bidi-common-separator-tests: New file.
26125         * modules/unictype/property-bidi-control-tests: New file.
26126         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
26127         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
26128         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
26129         * modules/unictype/property-bidi-european-digit-tests: New file.
26130         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
26131         * modules/unictype/property-bidi-left-to-right-tests: New file.
26132         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
26133         * modules/unictype/property-bidi-other-neutral-tests: New file.
26134         * modules/unictype/property-bidi-pdf-tests: New file.
26135         * modules/unictype/property-bidi-segment-separator-tests: New file.
26136         * modules/unictype/property-bidi-whitespace-tests: New file.
26137         * modules/unictype/property-byname-tests: New file.
26138         * modules/unictype/property-combining-tests: New file.
26139         * modules/unictype/property-composite-tests: New file.
26140         * modules/unictype/property-currency-symbol-tests: New file.
26141         * modules/unictype/property-dash-tests: New file.
26142         * modules/unictype/property-decimal-digit-tests: New file.
26143         * modules/unictype/property-default-ignorable-code-point-tests: New file.
26144         * modules/unictype/property-deprecated-tests: New file.
26145         * modules/unictype/property-diacritic-tests: New file.
26146         * modules/unictype/property-extender-tests: New file.
26147         * modules/unictype/property-format-control-tests: New file.
26148         * modules/unictype/property-grapheme-base-tests: New file.
26149         * modules/unictype/property-grapheme-extend-tests: New file.
26150         * modules/unictype/property-grapheme-link-tests: New file.
26151         * modules/unictype/property-hex-digit-tests: New file.
26152         * modules/unictype/property-hyphen-tests: New file.
26153         * modules/unictype/property-id-continue-tests: New file.
26154         * modules/unictype/property-id-start-tests: New file.
26155         * modules/unictype/property-ideographic-tests: New file.
26156         * modules/unictype/property-ids-binary-operator-tests: New file.
26157         * modules/unictype/property-ids-trinary-operator-tests: New file.
26158         * modules/unictype/property-ignorable-control-tests: New file.
26159         * modules/unictype/property-iso-control-tests: New file.
26160         * modules/unictype/property-join-control-tests: New file.
26161         * modules/unictype/property-left-of-pair-tests: New file.
26162         * modules/unictype/property-line-separator-tests: New file.
26163         * modules/unictype/property-logical-order-exception-tests: New file.
26164         * modules/unictype/property-lowercase-tests: New file.
26165         * modules/unictype/property-math-tests: New file.
26166         * modules/unictype/property-non-break-tests: New file.
26167         * modules/unictype/property-not-a-character-tests: New file.
26168         * modules/unictype/property-numeric-tests: New file.
26169         * modules/unictype/property-other-alphabetic-tests: New file.
26170         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
26171         * modules/unictype/property-other-grapheme-extend-tests: New file.
26172         * modules/unictype/property-other-id-continue-tests: New file.
26173         * modules/unictype/property-other-id-start-tests: New file.
26174         * modules/unictype/property-other-lowercase-tests: New file.
26175         * modules/unictype/property-other-math-tests: New file.
26176         * modules/unictype/property-other-uppercase-tests: New file.
26177         * modules/unictype/property-paired-punctuation-tests: New file.
26178         * modules/unictype/property-paragraph-separator-tests: New file.
26179         * modules/unictype/property-pattern-syntax-tests: New file.
26180         * modules/unictype/property-pattern-white-space-tests: New file.
26181         * modules/unictype/property-private-use-tests: New file.
26182         * modules/unictype/property-punctuation-tests: New file.
26183         * modules/unictype/property-quotation-mark-tests: New file.
26184         * modules/unictype/property-radical-tests: New file.
26185         * modules/unictype/property-sentence-terminal-tests: New file.
26186         * modules/unictype/property-soft-dotted-tests: New file.
26187         * modules/unictype/property-space-tests: New file.
26188         * modules/unictype/property-terminal-punctuation-tests: New file.
26189         * modules/unictype/property-test-tests: New file.
26190         * modules/unictype/property-titlecase-tests: New file.
26191         * modules/unictype/property-unassigned-code-value-tests: New file.
26192         * modules/unictype/property-unified-ideograph-tests: New file.
26193         * modules/unictype/property-uppercase-tests: New file.
26194         * modules/unictype/property-variation-selector-tests: New file.
26195         * modules/unictype/property-white-space-tests: New file.
26196         * modules/unictype/property-xid-continue-tests: New file.
26197         * modules/unictype/property-xid-start-tests: New file.
26198         * modules/unictype/property-zero-width-tests: New file.
26199         * modules/unictype/scripts-tests: New file.
26200         * modules/unictype/syntax-c-ident-tests: New file.
26201         * modules/unictype/syntax-c-whitespace-tests: New file.
26202         * modules/unictype/syntax-java-ident-tests: New file.
26203         * modules/unictype/syntax-java-whitespace-tests: New file.
26204         * tests/unictype/test-bidi_byname.c: New file.
26205         * tests/unictype/test-bidi_name.c: New file.
26206         * tests/unictype/test-bidi_of.c: New file.
26207         * tests/unictype/test-bidi_test.c: New file.
26208         * tests/unictype/test-block_list.c: New file.
26209         * tests/unictype/test-block_of.c: New file.
26210         * tests/unictype/test-block_test.c: New file.
26211         * tests/unictype/test-categ_and.c: New file.
26212         * tests/unictype/test-categ_and_not.c: New file.
26213         * tests/unictype/test-categ_byname.c: New file.
26214         * tests/unictype/test-categ_name.c: New file.
26215         * tests/unictype/test-categ_none.c: New file.
26216         * tests/unictype/test-categ_of.c: New file.
26217         * tests/unictype/test-categ_or.c: New file.
26218         * tests/unictype/test-categ_test_withtable.c: New file.
26219         * tests/unictype/test-combining.c: New file.
26220         * tests/unictype/test-decdigit.c: New file.
26221         * tests/unictype/test-digit.c: New file.
26222         * tests/unictype/test-mirror.c: New file.
26223         * tests/unictype/test-numeric.c: New file.
26224         * tests/unictype/test-pr_byname.c: New file.
26225         * tests/unictype/test-pr_test.c: New file.
26226         * tests/unictype/test-predicate-part1.h: New file.
26227         * tests/unictype/test-predicate-part2.h: New file.
26228         * tests/unictype/test-scripts.c: New file.
26229         * tests/unictype/test-sy_c_ident.c: New file.
26230         * tests/unictype/test-sy_java_ident.c: New file.
26231
26232         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
26233         for Unicode 5.0.0.
26234         * tests/unictype/test-categ_Cc.c: Likewise.
26235         * tests/unictype/test-categ_Cf.c: Likewise.
26236         * tests/unictype/test-categ_Cn.c: Likewise.
26237         * tests/unictype/test-categ_Co.c: Likewise.
26238         * tests/unictype/test-categ_Cs.c: Likewise.
26239         * tests/unictype/test-categ_L.c: Likewise.
26240         * tests/unictype/test-categ_Ll.c: Likewise.
26241         * tests/unictype/test-categ_Lm.c: Likewise.
26242         * tests/unictype/test-categ_Lo.c: Likewise.
26243         * tests/unictype/test-categ_Lt.c: Likewise.
26244         * tests/unictype/test-categ_Lu.c: Likewise.
26245         * tests/unictype/test-categ_M.c: Likewise.
26246         * tests/unictype/test-categ_Mc.c: Likewise.
26247         * tests/unictype/test-categ_Me.c: Likewise.
26248         * tests/unictype/test-categ_Mn.c: Likewise.
26249         * tests/unictype/test-categ_N.c: Likewise.
26250         * tests/unictype/test-categ_Nd.c: Likewise.
26251         * tests/unictype/test-categ_Nl.c: Likewise.
26252         * tests/unictype/test-categ_No.c: Likewise.
26253         * tests/unictype/test-categ_P.c: Likewise.
26254         * tests/unictype/test-categ_Pc.c: Likewise.
26255         * tests/unictype/test-categ_Pd.c: Likewise.
26256         * tests/unictype/test-categ_Pe.c: Likewise.
26257         * tests/unictype/test-categ_Pf.c: Likewise.
26258         * tests/unictype/test-categ_Pi.c: Likewise.
26259         * tests/unictype/test-categ_Po.c: Likewise.
26260         * tests/unictype/test-categ_Ps.c: Likewise.
26261         * tests/unictype/test-categ_S.c: Likewise.
26262         * tests/unictype/test-categ_Sc.c: Likewise.
26263         * tests/unictype/test-categ_Sk.c: Likewise.
26264         * tests/unictype/test-categ_Sm.c: Likewise.
26265         * tests/unictype/test-categ_So.c: Likewise.
26266         * tests/unictype/test-categ_Z.c: Likewise.
26267         * tests/unictype/test-categ_Zl.c: Likewise.
26268         * tests/unictype/test-categ_Zp.c: Likewise.
26269         * tests/unictype/test-categ_Zs.c: Likewise.
26270         * tests/unictype/test-ctype_alnum.c: Likewise.
26271         * tests/unictype/test-ctype_alpha.c: Likewise.
26272         * tests/unictype/test-ctype_blank.c: Likewise.
26273         * tests/unictype/test-ctype_cntrl.c: Likewise.
26274         * tests/unictype/test-ctype_digit.c: Likewise.
26275         * tests/unictype/test-ctype_graph.c: Likewise.
26276         * tests/unictype/test-ctype_lower.c: Likewise.
26277         * tests/unictype/test-ctype_print.c: Likewise.
26278         * tests/unictype/test-ctype_punct.c: Likewise.
26279         * tests/unictype/test-ctype_space.c: Likewise.
26280         * tests/unictype/test-ctype_upper.c: Likewise.
26281         * tests/unictype/test-ctype_xdigit.c: Likewise.
26282         * tests/unictype/test-decdigit.h: Likewise.
26283         * tests/unictype/test-digit.h: Likewise.
26284         * tests/unictype/test-numeric.h: Likewise.
26285         * tests/unictype/test-pr_alphabetic.c: Likewise.
26286         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
26287         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26288         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26289         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
26290         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26291         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
26292         * tests/unictype/test-pr_bidi_control.c: Likewise.
26293         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
26294         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
26295         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26296         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26297         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26298         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26299         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26300         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26301         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
26302         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
26303         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
26304         * tests/unictype/test-pr_combining.c: Likewise.
26305         * tests/unictype/test-pr_composite.c: Likewise.
26306         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26307         * tests/unictype/test-pr_dash.c: Likewise.
26308         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26309         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
26310         * tests/unictype/test-pr_deprecated.c: Likewise.
26311         * tests/unictype/test-pr_diacritic.c: Likewise.
26312         * tests/unictype/test-pr_extender.c: Likewise.
26313         * tests/unictype/test-pr_format_control.c: Likewise.
26314         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26315         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26316         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26317         * tests/unictype/test-pr_hex_digit.c: Likewise.
26318         * tests/unictype/test-pr_hyphen.c: Likewise.
26319         * tests/unictype/test-pr_id_continue.c: Likewise.
26320         * tests/unictype/test-pr_id_start.c: Likewise.
26321         * tests/unictype/test-pr_ideographic.c: Likewise.
26322         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
26323         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
26324         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26325         * tests/unictype/test-pr_iso_control.c: Likewise.
26326         * tests/unictype/test-pr_join_control.c: Likewise.
26327         * tests/unictype/test-pr_left_of_pair.c: Likewise.
26328         * tests/unictype/test-pr_line_separator.c: Likewise.
26329         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26330         * tests/unictype/test-pr_lowercase.c: Likewise.
26331         * tests/unictype/test-pr_math.c: Likewise.
26332         * tests/unictype/test-pr_non_break.c: Likewise.
26333         * tests/unictype/test-pr_not_a_character.c: Likewise.
26334         * tests/unictype/test-pr_numeric.c: Likewise.
26335         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26336         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
26337         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
26338         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26339         * tests/unictype/test-pr_other_id_start.c: Likewise.
26340         * tests/unictype/test-pr_other_lowercase.c: Likewise.
26341         * tests/unictype/test-pr_other_math.c: Likewise.
26342         * tests/unictype/test-pr_other_uppercase.c: Likewise.
26343         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
26344         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
26345         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
26346         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
26347         * tests/unictype/test-pr_private_use.c: Likewise.
26348         * tests/unictype/test-pr_punctuation.c: Likewise.
26349         * tests/unictype/test-pr_quotation_mark.c: Likewise.
26350         * tests/unictype/test-pr_radical.c: Likewise.
26351         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26352         * tests/unictype/test-pr_soft_dotted.c: Likewise.
26353         * tests/unictype/test-pr_space.c: Likewise.
26354         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26355         * tests/unictype/test-pr_titlecase.c: Likewise.
26356         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26357         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26358         * tests/unictype/test-pr_uppercase.c: Likewise.
26359         * tests/unictype/test-pr_variation_selector.c: Likewise.
26360         * tests/unictype/test-pr_white_space.c: Likewise.
26361         * tests/unictype/test-pr_xid_continue.c: Likewise.
26362         * tests/unictype/test-pr_xid_start.c: Likewise.
26363         * tests/unictype/test-pr_zero_width.c: Likewise.
26364         * tests/unictype/test-sy_c_whitespace.c: Likewise.
26365         * tests/unictype/test-sy_java_whitespace.c: Likewise.
26366
26367 2007-11-12  Bruno Haible  <bruno@clisp.org>
26368
26369         Unicode character classification functions.
26370         * lib/unictype.h: New file.
26371         * modules/unictype/base: New file.
26372         * modules/unictype/category-L: New file.
26373         * modules/unictype/category-Lu: New file.
26374         * modules/unictype/category-Ll: New file.
26375         * modules/unictype/category-Lt: New file.
26376         * modules/unictype/category-Lm: New file.
26377         * modules/unictype/category-Lo: New file.
26378         * modules/unictype/category-M: New file.
26379         * modules/unictype/category-Mn: New file.
26380         * modules/unictype/category-Mc: New file.
26381         * modules/unictype/category-Me: New file.
26382         * modules/unictype/category-N: New file.
26383         * modules/unictype/category-Nd: New file.
26384         * modules/unictype/category-Nl: New file.
26385         * modules/unictype/category-No: New file.
26386         * modules/unictype/category-P: New file.
26387         * modules/unictype/category-Pc: New file.
26388         * modules/unictype/category-Pd: New file.
26389         * modules/unictype/category-Ps: New file.
26390         * modules/unictype/category-Pe: New file.
26391         * modules/unictype/category-Pi: New file.
26392         * modules/unictype/category-Pf: New file.
26393         * modules/unictype/category-Po: New file.
26394         * modules/unictype/category-S: New file.
26395         * modules/unictype/category-Sm: New file.
26396         * modules/unictype/category-Sc: New file.
26397         * modules/unictype/category-Sk: New file.
26398         * modules/unictype/category-So: New file.
26399         * modules/unictype/category-Z: New file.
26400         * modules/unictype/category-Zs: New file.
26401         * modules/unictype/category-Zl: New file.
26402         * modules/unictype/category-Zp: New file.
26403         * modules/unictype/category-C: New file.
26404         * modules/unictype/category-Cc: New file.
26405         * modules/unictype/category-Cf: New file.
26406         * modules/unictype/category-Cs: New file.
26407         * modules/unictype/category-Co: New file.
26408         * modules/unictype/category-Cn: New file.
26409         * modules/unictype/category-or: New file.
26410         * modules/unictype/category-of: New file.
26411         * modules/unictype/category-test: New file.
26412         * modules/unictype/category-test-withtable: New file.
26413         * modules/unictype/category-byname: New file.
26414         * modules/unictype/category-none: New file.
26415         * modules/unictype/category-and: New file.
26416         * modules/unictype/category-and-not: New file.
26417         * modules/unictype/category-name: New file.
26418         * modules/unictype/combining-class: New file.
26419         * modules/unictype/category-all: New file.
26420         * modules/unictype/bidicategory-all: New file.
26421         * modules/unictype/bidicategory-byname: New file.
26422         * modules/unictype/bidicategory-name: New file.
26423         * modules/unictype/bidicategory-of: New file.
26424         * modules/unictype/bidicategory-test: New file.
26425         * modules/unictype/decimal-digit: New file.
26426         * modules/unictype/digit: New file.
26427         * modules/unictype/numeric: New file.
26428         * modules/unictype/mirror: New file.
26429         * modules/unictype/property-white-space: New file.
26430         * modules/unictype/property-alphabetic: New file.
26431         * modules/unictype/property-other-alphabetic: New file.
26432         * modules/unictype/property-not-a-character: New file.
26433         * modules/unictype/property-default-ignorable-code-point: New file.
26434         * modules/unictype/property-other-default-ignorable-code-point: New
26435         file.
26436         * modules/unictype/property-deprecated: New file.
26437         * modules/unictype/property-logical-order-exception: New file.
26438         * modules/unictype/property-variation-selector: New file.
26439         * modules/unictype/property-private-use: New file.
26440         * modules/unictype/property-unassigned-code-value: New file.
26441         * modules/unictype/property-uppercase: New file.
26442         * modules/unictype/property-other-uppercase: New file.
26443         * modules/unictype/property-lowercase: New file.
26444         * modules/unictype/property-other-lowercase: New file.
26445         * modules/unictype/property-titlecase: New file.
26446         * modules/unictype/property-soft-dotted: New file.
26447         * modules/unictype/property-id-start: New file.
26448         * modules/unictype/property-other-id-start: New file.
26449         * modules/unictype/property-id-continue: New file.
26450         * modules/unictype/property-other-id-continue: New file.
26451         * modules/unictype/property-xid-start: New file.
26452         * modules/unictype/property-xid-continue: New file.
26453         * modules/unictype/property-pattern-white-space: New file.
26454         * modules/unictype/property-pattern-syntax: New file.
26455         * modules/unictype/property-join-control: New file.
26456         * modules/unictype/property-grapheme-base: New file.
26457         * modules/unictype/property-grapheme-extend: New file.
26458         * modules/unictype/property-other-grapheme-extend: New file.
26459         * modules/unictype/property-grapheme-link: New file.
26460         * modules/unictype/property-bidi-control: New file.
26461         * modules/unictype/property-bidi-left-to-right: New file.
26462         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
26463         * modules/unictype/property-bidi-arabic-right-to-left: New file.
26464         * modules/unictype/property-bidi-european-digit: New file.
26465         * modules/unictype/property-bidi-eur-num-separator: New file.
26466         * modules/unictype/property-bidi-eur-num-terminator: New file.
26467         * modules/unictype/property-bidi-arabic-digit: New file.
26468         * modules/unictype/property-bidi-common-separator: New file.
26469         * modules/unictype/property-bidi-block-separator: New file.
26470         * modules/unictype/property-bidi-segment-separator: New file.
26471         * modules/unictype/property-bidi-whitespace: New file.
26472         * modules/unictype/property-bidi-non-spacing-mark: New file.
26473         * modules/unictype/property-bidi-boundary-neutral: New file.
26474         * modules/unictype/property-bidi-pdf: New file.
26475         * modules/unictype/property-bidi-embedding-or-override: New file.
26476         * modules/unictype/property-bidi-other-neutral: New file.
26477         * modules/unictype/property-hex-digit: New file.
26478         * modules/unictype/property-ascii-hex-digit: New file.
26479         * modules/unictype/property-ideographic: New file.
26480         * modules/unictype/property-unified-ideograph: New file.
26481         * modules/unictype/property-radical: New file.
26482         * modules/unictype/property-ids-binary-operator: New file.
26483         * modules/unictype/property-ids-trinary-operator: New file.
26484         * modules/unictype/property-zero-width: New file.
26485         * modules/unictype/property-space: New file.
26486         * modules/unictype/property-non-break: New file.
26487         * modules/unictype/property-iso-control: New file.
26488         * modules/unictype/property-format-control: New file.
26489         * modules/unictype/property-dash: New file.
26490         * modules/unictype/property-hyphen: New file.
26491         * modules/unictype/property-punctuation: New file.
26492         * modules/unictype/property-line-separator: New file.
26493         * modules/unictype/property-paragraph-separator: New file.
26494         * modules/unictype/property-quotation-mark: New file.
26495         * modules/unictype/property-sentence-terminal: New file.
26496         * modules/unictype/property-terminal-punctuation: New file.
26497         * modules/unictype/property-currency-symbol: New file.
26498         * modules/unictype/property-math: New file.
26499         * modules/unictype/property-other-math: New file.
26500         * modules/unictype/property-paired-punctuation: New file.
26501         * modules/unictype/property-left-of-pair: New file.
26502         * modules/unictype/property-combining: New file.
26503         * modules/unictype/property-composite: New file.
26504         * modules/unictype/property-decimal-digit: New file.
26505         * modules/unictype/property-numeric: New file.
26506         * modules/unictype/property-diacritic: New file.
26507         * modules/unictype/property-extender: New file.
26508         * modules/unictype/property-ignorable-control: New file.
26509         * modules/unictype/property-test: New file.
26510         * modules/unictype/property-byname: New file.
26511         * modules/unictype/property-all: New file.
26512         * modules/unictype/scripts: New file.
26513         * modules/unictype/scripts-all: New file.
26514         * modules/unictype/block-of: New file.
26515         * modules/unictype/block-test: New file.
26516         * modules/unictype/block-list: New file.
26517         * modules/unictype/block-all: New file.
26518         * modules/unictype/syntax-c-whitespace: New file.
26519         * modules/unictype/syntax-java-whitespace: New file.
26520         * modules/unictype/syntax-c-ident: New file.
26521         * modules/unictype/syntax-java-ident: New file.
26522         * modules/unictype/ctype-alnum: New file.
26523         * modules/unictype/ctype-alpha: New file.
26524         * modules/unictype/ctype-cntrl: New file.
26525         * modules/unictype/ctype-digit: New file.
26526         * modules/unictype/ctype-graph: New file.
26527         * modules/unictype/ctype-lower: New file.
26528         * modules/unictype/ctype-print: New file.
26529         * modules/unictype/ctype-punct: New file.
26530         * modules/unictype/ctype-space: New file.
26531         * modules/unictype/ctype-upper: New file.
26532         * modules/unictype/ctype-xdigit: New file.
26533         * modules/unictype/ctype-blank: New file.
26534         * lib/unictype/bidi_byname.c: New file.
26535         * lib/unictype/bidi_name.c: New file.
26536         * lib/unictype/bidi_of.c: New file.
26537         * lib/unictype/bidi_test.c: New file.
26538         * lib/unictype/bitmap.h: New file.
26539         * lib/unictype/block_test.c: New file.
26540         * lib/unictype/blocks.c: New file.
26541         * lib/unictype/categ_C.c: New file.
26542         * lib/unictype/categ_Cc.c: New file.
26543         * lib/unictype/categ_Cf.c: New file.
26544         * lib/unictype/categ_Cn.c: New file.
26545         * lib/unictype/categ_Co.c: New file.
26546         * lib/unictype/categ_Cs.c: New file.
26547         * lib/unictype/categ_L.c: New file.
26548         * lib/unictype/categ_Ll.c: New file.
26549         * lib/unictype/categ_Lm.c: New file.
26550         * lib/unictype/categ_Lo.c: New file.
26551         * lib/unictype/categ_Lt.c: New file.
26552         * lib/unictype/categ_Lu.c: New file.
26553         * lib/unictype/categ_M.c: New file.
26554         * lib/unictype/categ_Mc.c: New file.
26555         * lib/unictype/categ_Me.c: New file.
26556         * lib/unictype/categ_Mn.c: New file.
26557         * lib/unictype/categ_N.c: New file.
26558         * lib/unictype/categ_Nd.c: New file.
26559         * lib/unictype/categ_Nl.c: New file.
26560         * lib/unictype/categ_No.c: New file.
26561         * lib/unictype/categ_P.c: New file.
26562         * lib/unictype/categ_Pc.c: New file.
26563         * lib/unictype/categ_Pd.c: New file.
26564         * lib/unictype/categ_Pe.c: New file.
26565         * lib/unictype/categ_Pf.c: New file.
26566         * lib/unictype/categ_Pi.c: New file.
26567         * lib/unictype/categ_Po.c: New file.
26568         * lib/unictype/categ_Ps.c: New file.
26569         * lib/unictype/categ_S.c: New file.
26570         * lib/unictype/categ_Sc.c: New file.
26571         * lib/unictype/categ_Sk.c: New file.
26572         * lib/unictype/categ_Sm.c: New file.
26573         * lib/unictype/categ_So.c: New file.
26574         * lib/unictype/categ_Z.c: New file.
26575         * lib/unictype/categ_Zl.c: New file.
26576         * lib/unictype/categ_Zp.c: New file.
26577         * lib/unictype/categ_Zs.c: New file.
26578         * lib/unictype/categ_and.c: New file.
26579         * lib/unictype/categ_and_not.c: New file.
26580         * lib/unictype/categ_byname.c: New file.
26581         * lib/unictype/categ_name.c: New file.
26582         * lib/unictype/categ_none.c: New file.
26583         * lib/unictype/categ_of.c: New file.
26584         * lib/unictype/categ_or.c: New file.
26585         * lib/unictype/categ_test.c: New file.
26586         * lib/unictype/combining.c: New file.
26587         * lib/unictype/ctype_alnum.c: New file.
26588         * lib/unictype/ctype_alpha.c: New file.
26589         * lib/unictype/ctype_blank.c: New file.
26590         * lib/unictype/ctype_cntrl.c: New file.
26591         * lib/unictype/ctype_digit.c: New file.
26592         * lib/unictype/ctype_graph.c: New file.
26593         * lib/unictype/ctype_lower.c: New file.
26594         * lib/unictype/ctype_print.c: New file.
26595         * lib/unictype/ctype_punct.c: New file.
26596         * lib/unictype/ctype_space.c: New file.
26597         * lib/unictype/ctype_upper.c: New file.
26598         * lib/unictype/ctype_xdigit.c: New file.
26599         * lib/unictype/decdigit.c: New file.
26600         * lib/unictype/digit.c: New file.
26601         * lib/unictype/identsyntaxmap.h: New file.
26602         * lib/unictype/mirror.c: New file.
26603         * lib/unictype/numeric.c: New file.
26604         * lib/unictype/pr_alphabetic.c: New file.
26605         * lib/unictype/pr_ascii_hex_digit.c: New file.
26606         * lib/unictype/pr_bidi_arabic_digit.c: New file.
26607         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
26608         * lib/unictype/pr_bidi_block_separator.c: New file.
26609         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
26610         * lib/unictype/pr_bidi_common_separator.c: New file.
26611         * lib/unictype/pr_bidi_control.c: New file.
26612         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
26613         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
26614         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
26615         * lib/unictype/pr_bidi_european_digit.c: New file.
26616         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
26617         * lib/unictype/pr_bidi_left_to_right.c: New file.
26618         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
26619         * lib/unictype/pr_bidi_other_neutral.c: New file.
26620         * lib/unictype/pr_bidi_pdf.c: New file.
26621         * lib/unictype/pr_bidi_segment_separator.c: New file.
26622         * lib/unictype/pr_bidi_whitespace.c: New file.
26623         * lib/unictype/pr_byname.c: New file.
26624         * lib/unictype/pr_byname.gperf: New file.
26625         * lib/unictype/pr_combining.c: New file.
26626         * lib/unictype/pr_composite.c: New file.
26627         * lib/unictype/pr_currency_symbol.c: New file.
26628         * lib/unictype/pr_dash.c: New file.
26629         * lib/unictype/pr_decimal_digit.c: New file.
26630         * lib/unictype/pr_default_ignorable_code_point.c: New file.
26631         * lib/unictype/pr_deprecated.c: New file.
26632         * lib/unictype/pr_diacritic.c: New file.
26633         * lib/unictype/pr_extender.c: New file.
26634         * lib/unictype/pr_format_control.c: New file.
26635         * lib/unictype/pr_grapheme_base.c: New file.
26636         * lib/unictype/pr_grapheme_extend.c: New file.
26637         * lib/unictype/pr_grapheme_link.c: New file.
26638         * lib/unictype/pr_hex_digit.c: New file.
26639         * lib/unictype/pr_hyphen.c: New file.
26640         * lib/unictype/pr_id_continue.c: New file.
26641         * lib/unictype/pr_id_start.c: New file.
26642         * lib/unictype/pr_ideographic.c: New file.
26643         * lib/unictype/pr_ids_binary_operator.c: New file.
26644         * lib/unictype/pr_ids_trinary_operator.c: New file.
26645         * lib/unictype/pr_ignorable_control.c: New file.
26646         * lib/unictype/pr_iso_control.c: New file.
26647         * lib/unictype/pr_join_control.c: New file.
26648         * lib/unictype/pr_left_of_pair.c: New file.
26649         * lib/unictype/pr_line_separator.c: New file.
26650         * lib/unictype/pr_logical_order_exception.c: New file.
26651         * lib/unictype/pr_lowercase.c: New file.
26652         * lib/unictype/pr_math.c: New file.
26653         * lib/unictype/pr_non_break.c: New file.
26654         * lib/unictype/pr_not_a_character.c: New file.
26655         * lib/unictype/pr_numeric.c: New file.
26656         * lib/unictype/pr_other_alphabetic.c: New file.
26657         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
26658         * lib/unictype/pr_other_grapheme_extend.c: New file.
26659         * lib/unictype/pr_other_id_continue.c: New file.
26660         * lib/unictype/pr_other_id_start.c: New file.
26661         * lib/unictype/pr_other_lowercase.c: New file.
26662         * lib/unictype/pr_other_math.c: New file.
26663         * lib/unictype/pr_other_uppercase.c: New file.
26664         * lib/unictype/pr_paired_punctuation.c: New file.
26665         * lib/unictype/pr_paragraph_separator.c: New file.
26666         * lib/unictype/pr_pattern_syntax.c: New file.
26667         * lib/unictype/pr_pattern_white_space.c: New file.
26668         * lib/unictype/pr_private_use.c: New file.
26669         * lib/unictype/pr_punctuation.c: New file.
26670         * lib/unictype/pr_quotation_mark.c: New file.
26671         * lib/unictype/pr_radical.c: New file.
26672         * lib/unictype/pr_sentence_terminal.c: New file.
26673         * lib/unictype/pr_soft_dotted.c: New file.
26674         * lib/unictype/pr_space.c: New file.
26675         * lib/unictype/pr_terminal_punctuation.c: New file.
26676         * lib/unictype/pr_test.c: New file.
26677         * lib/unictype/pr_titlecase.c: New file.
26678         * lib/unictype/pr_unassigned_code_value.c: New file.
26679         * lib/unictype/pr_unified_ideograph.c: New file.
26680         * lib/unictype/pr_uppercase.c: New file.
26681         * lib/unictype/pr_variation_selector.c: New file.
26682         * lib/unictype/pr_white_space.c: New file.
26683         * lib/unictype/pr_xid_continue.c: New file.
26684         * lib/unictype/pr_xid_start.c: New file.
26685         * lib/unictype/pr_zero_width.c: New file.
26686         * lib/unictype/scripts.c: New file.
26687         * lib/unictype/sy_c_ident.c: New file.
26688         * lib/unictype/sy_c_whitespace.c: New file.
26689         * lib/unictype/sy_java_ident.c: New file.
26690         * lib/unictype/sy_java_whitespace.c: New file.
26691
26692         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
26693         Unicode 5.0.0.
26694         * lib/unictype/blocks.h: Likewise.
26695         * lib/unictype/categ_C.h: Likewise.
26696         * lib/unictype/categ_Cc.h: Likewise.
26697         * lib/unictype/categ_Cf.h: Likewise.
26698         * lib/unictype/categ_Cn.h: Likewise.
26699         * lib/unictype/categ_Co.h: Likewise.
26700         * lib/unictype/categ_Cs.h: Likewise.
26701         * lib/unictype/categ_L.h: Likewise.
26702         * lib/unictype/categ_Ll.h: Likewise.
26703         * lib/unictype/categ_Lm.h: Likewise.
26704         * lib/unictype/categ_Lo.h: Likewise.
26705         * lib/unictype/categ_Lt.h: Likewise.
26706         * lib/unictype/categ_Lu.h: Likewise.
26707         * lib/unictype/categ_M.h: Likewise.
26708         * lib/unictype/categ_Mc.h: Likewise.
26709         * lib/unictype/categ_Me.h: Likewise.
26710         * lib/unictype/categ_Mn.h: Likewise.
26711         * lib/unictype/categ_N.h: Likewise.
26712         * lib/unictype/categ_Nd.h: Likewise.
26713         * lib/unictype/categ_Nl.h: Likewise.
26714         * lib/unictype/categ_No.h: Likewise.
26715         * lib/unictype/categ_P.h: Likewise.
26716         * lib/unictype/categ_Pc.h: Likewise.
26717         * lib/unictype/categ_Pd.h: Likewise.
26718         * lib/unictype/categ_Pe.h: Likewise.
26719         * lib/unictype/categ_Pf.h: Likewise.
26720         * lib/unictype/categ_Pi.h: Likewise.
26721         * lib/unictype/categ_Po.h: Likewise.
26722         * lib/unictype/categ_Ps.h: Likewise.
26723         * lib/unictype/categ_S.h: Likewise.
26724         * lib/unictype/categ_Sc.h: Likewise.
26725         * lib/unictype/categ_Sk.h: Likewise.
26726         * lib/unictype/categ_Sm.h: Likewise.
26727         * lib/unictype/categ_So.h: Likewise.
26728         * lib/unictype/categ_Z.h: Likewise.
26729         * lib/unictype/categ_Zl.h: Likewise.
26730         * lib/unictype/categ_Zp.h: Likewise.
26731         * lib/unictype/categ_Zs.h: Likewise.
26732         * lib/unictype/categ_of.h: Likewise.
26733         * lib/unictype/combining.h: Likewise.
26734         * lib/unictype/ctype_alnum.h: Likewise.
26735         * lib/unictype/ctype_alpha.h: Likewise.
26736         * lib/unictype/ctype_blank.h: Likewise.
26737         * lib/unictype/ctype_cntrl.h: Likewise.
26738         * lib/unictype/ctype_digit.h: Likewise.
26739         * lib/unictype/ctype_graph.h: Likewise.
26740         * lib/unictype/ctype_lower.h: Likewise.
26741         * lib/unictype/ctype_print.h: Likewise.
26742         * lib/unictype/ctype_punct.h: Likewise.
26743         * lib/unictype/ctype_space.h: Likewise.
26744         * lib/unictype/ctype_upper.h: Likewise.
26745         * lib/unictype/ctype_xdigit.h: Likewise.
26746         * lib/unictype/decdigit.h: Likewise.
26747         * lib/unictype/digit.h: Likewise.
26748         * lib/unictype/mirror.h: Likewise.
26749         * lib/unictype/numeric.h: Likewise.
26750         * lib/unictype/pr_alphabetic.h: Likewise.
26751         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26752         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26753         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26754         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26755         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26756         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26757         * lib/unictype/pr_bidi_control.h: Likewise.
26758         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26759         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26760         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26761         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26762         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26763         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26764         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26765         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26766         * lib/unictype/pr_bidi_pdf.h: Likewise.
26767         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26768         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26769         * lib/unictype/pr_combining.h: Likewise.
26770         * lib/unictype/pr_composite.h: Likewise.
26771         * lib/unictype/pr_currency_symbol.h: Likewise.
26772         * lib/unictype/pr_dash.h: Likewise.
26773         * lib/unictype/pr_decimal_digit.h: Likewise.
26774         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26775         * lib/unictype/pr_deprecated.h: Likewise.
26776         * lib/unictype/pr_diacritic.h: Likewise.
26777         * lib/unictype/pr_extender.h: Likewise.
26778         * lib/unictype/pr_format_control.h: Likewise.
26779         * lib/unictype/pr_grapheme_base.h: Likewise.
26780         * lib/unictype/pr_grapheme_extend.h: Likewise.
26781         * lib/unictype/pr_grapheme_link.h: Likewise.
26782         * lib/unictype/pr_hex_digit.h: Likewise.
26783         * lib/unictype/pr_hyphen.h: Likewise.
26784         * lib/unictype/pr_id_continue.h: Likewise.
26785         * lib/unictype/pr_id_start.h: Likewise.
26786         * lib/unictype/pr_ideographic.h: Likewise.
26787         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26788         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26789         * lib/unictype/pr_ignorable_control.h: Likewise.
26790         * lib/unictype/pr_iso_control.h: Likewise.
26791         * lib/unictype/pr_join_control.h: Likewise.
26792         * lib/unictype/pr_left_of_pair.h: Likewise.
26793         * lib/unictype/pr_line_separator.h: Likewise.
26794         * lib/unictype/pr_logical_order_exception.h: Likewise.
26795         * lib/unictype/pr_lowercase.h: Likewise.
26796         * lib/unictype/pr_math.h: Likewise.
26797         * lib/unictype/pr_non_break.h: Likewise.
26798         * lib/unictype/pr_not_a_character.h: Likewise.
26799         * lib/unictype/pr_numeric.h: Likewise.
26800         * lib/unictype/pr_other_alphabetic.h: Likewise.
26801         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26802         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26803         * lib/unictype/pr_other_id_continue.h: Likewise.
26804         * lib/unictype/pr_other_id_start.h: Likewise.
26805         * lib/unictype/pr_other_lowercase.h: Likewise.
26806         * lib/unictype/pr_other_math.h: Likewise.
26807         * lib/unictype/pr_other_uppercase.h: Likewise.
26808         * lib/unictype/pr_paired_punctuation.h: Likewise.
26809         * lib/unictype/pr_paragraph_separator.h: Likewise.
26810         * lib/unictype/pr_pattern_syntax.h: Likewise.
26811         * lib/unictype/pr_pattern_white_space.h: Likewise.
26812         * lib/unictype/pr_private_use.h: Likewise.
26813         * lib/unictype/pr_punctuation.h: Likewise.
26814         * lib/unictype/pr_quotation_mark.h: Likewise.
26815         * lib/unictype/pr_radical.h: Likewise.
26816         * lib/unictype/pr_sentence_terminal.h: Likewise.
26817         * lib/unictype/pr_soft_dotted.h: Likewise.
26818         * lib/unictype/pr_space.h: Likewise.
26819         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26820         * lib/unictype/pr_titlecase.h: Likewise.
26821         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26822         * lib/unictype/pr_unified_ideograph.h: Likewise.
26823         * lib/unictype/pr_uppercase.h: Likewise.
26824         * lib/unictype/pr_variation_selector.h: Likewise.
26825         * lib/unictype/pr_white_space.h: Likewise.
26826         * lib/unictype/pr_xid_continue.h: Likewise.
26827         * lib/unictype/pr_xid_start.h: Likewise.
26828         * lib/unictype/pr_zero_width.h: Likewise.
26829         * lib/unictype/scripts.h: Likewise.
26830         * lib/unictype/scripts_byname.gperf: Likewise.
26831         * lib/unictype/sy_c_ident.h: Likewise.
26832         * lib/unictype/sy_c_whitespace.h: Likewise.
26833         * lib/unictype/sy_java_ident.h: Likewise.
26834         * lib/unictype/sy_java_whitespace.h: Likewise.
26835
26836         * lib/unictype/Makefile: New file.
26837         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
26838         glibc.
26839         * lib/unictype/3level.h: New file, copied from glibc.
26840         * lib/unictype/3levelbit.h: New file.
26841
26842 2007-11-11  Bruno Haible  <bruno@clisp.org>
26843
26844         * modules/gperf: New file.
26845         * modules/iconv_open (Depends-on): Add it.
26846         (Makefile.am): Remove the GPERF definition.
26847
26848 2007-11-11  Bruno Haible  <bruno@clisp.org>
26849
26850         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
26851         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
26852
26853 2007-11-11  Bruno Haible  <bruno@clisp.org>
26854
26855         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
26856         (usage): Remove function.
26857
26858 2007-11-11  Bruno Haible  <bruno@clisp.org>
26859
26860         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
26861         gl_FUNC_CEILF_LIBS.
26862         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
26863         gl_FUNC_CEIL_LIBS.
26864         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
26865         gl_FUNC_CEILL_LIBS.
26866         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
26867         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
26868         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
26869
26870 2007-11-11  Bruno Haible  <bruno@clisp.org>
26871
26872         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
26873         roundf were declared but do not exist on functions.
26874         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
26875         roundl were declared but do not exist on functions.
26876         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
26877         HAVE_FLOORL_AND_CEILL, respectively.
26878         Needed for Sun C on Solaris 10.
26879
26880 2007-11-11  Bruno Haible  <bruno@clisp.org>
26881
26882         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
26883         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
26884         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
26885         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
26886         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
26887         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
26888         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
26889         HAVE_DECL_ROUNDF.
26890         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
26891         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
26892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
26893         of HAVE_DECL_ROUND*.
26894         * modules/math (Makefile.am): Update.
26895
26896 2007-11-10  Bruno Haible  <bruno@clisp.org>
26897
26898         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
26899         ptrdiff_t as m4/intl.m4.
26900
26901 2007-11-10  Jim Meyering  <meyering@redhat.com>
26902
26903         Avoid link failure for the argmatch test.
26904         * tests/test-argmatch.c (usage): Define function to avoid a link
26905         failure: argmatch_die requires a usage function.
26906
26907 2007-11-09  Bruno Haible  <bruno@clisp.org>
26908
26909         * doc/functions/snprintf.texi: Mention BeOS deficiency.
26910         * doc/functions/vsnprintf.texi: Likewise.
26911         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
26912         with a size argument < 2.
26913
26914 2007-11-09  Bruno Haible  <bruno@clisp.org>
26915
26916         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
26917         buffer. Fixes an inefficiency introduced on 2007-11-03.
26918
26919 2007-11-09  Bruno Haible  <bruno@clisp.org>
26920
26921         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
26922         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
26923
26924 2007-11-08  Jim Meyering  <meyering@redhat.com>
26925
26926         Change cache variable name prefix "jm_" to "gl_" everywhere.
26927         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
26928         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
26929         * m4/uptime.m4: s/gl_/jm_/
26930
26931 2007-11-07  Bruno Haible  <bruno@clisp.org>
26932
26933         Update to GNU gettext 0.17.
26934         * m4/intl.m4: Update to GNU gettext 0.17.
26935         * m4/po.m4: Likewise.
26936         * modules/gettext (Files): Remove m4/ulonglong.m4.
26937         (configure.ac): Require gettext infrastructure from version 0.17.
26938
26939 2007-11-06  Bruno Haible  <bruno@clisp.org>
26940
26941         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
26942         symbolic values are not defined in a public header.
26943         * lib/freadable.c (freadable) [QNX]: Likewise.
26944         * lib/freadahead.c (freadahead) [QNX]: Likewise.
26945         * lib/freading.c (freading) [QNX]: Likewise.
26946         * lib/fseterr.c (fseterr) [QNX]: Likewise.
26947         * lib/fwritable.c (fwritable) [QNX]: Likewise.
26948         * lib/fwriting.c (fwriting) [QNX]: Likewise.
26949         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
26950         Reported by Alain Magloire.
26951
26952         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
26953
26954 2007-11-05  Bruno Haible  <bruno@clisp.org>
26955
26956         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
26957         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
26958         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
26959         Reported by Eric Blake.
26960
26961 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26962             Bruno Haible  <bruno@clisp.org>
26963
26964         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
26965         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
26966         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
26967         (malloc): Undefine also before including <stdlib.h>.
26968         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
26969         Needed on OSF/1 4.0.
26970
26971 2007-11-05  Jim Meyering  <meyering@redhat.com>
26972
26973         git-version-gen: sync from coreutils.
26974         * build-aux/git-version-gen: Add comments.
26975         Change the first '-' to '.' in the snapshot version string,
26976         e.g., 6.9-377-08144 -> 6.9.377-08144
26977         Remove first parameter.
26978         Don't declare a version "-dirty" merely because a time
26979         stamp has changed.
26980
26981 2007-11-04  Bruno Haible  <bruno@clisp.org>
26982
26983         * lib/lock.h: Protect all macro definitions containing an 'if'
26984         statement through a "do { ... } while (0)".
26985         * lib/tls.h: Likewise.
26986
26987 2007-11-04  Bruno Haible  <bruno@clisp.org>
26988
26989         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
26990
26991 2007-11-04  Bruno Haible  <bruno@clisp.org>
26992
26993         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
26994         * modules/fprintf-posix (Depends-on): Add nocrash.
26995         * modules/snprintf-posix (Depends-on): Likewise.
26996         * modules/sprintf-posix (Depends-on): Likewise.
26997         * modules/vasnprintf-posix (Depends-on): Likewise.
26998         * modules/vasprintf-posix (Depends-on): Likewise.
26999         * modules/vfprintf-posix (Depends-on): Likewise.
27000         * modules/vsnprintf-posix (Depends-on): Likewise.
27001         * modules/vsprintf-posix (Depends-on): Likewise.
27002         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27003         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27004         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27005         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27006         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27007         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27008         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27009
27010 2007-11-04  Bruno Haible  <bruno@clisp.org>
27011
27012         * modules/nocrash: New file.
27013         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
27014         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
27015
27016 2007-11-04  Bruno Haible  <bruno@clisp.org>
27017
27018         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
27019         precision handling.
27020         * tests/test-vasprintf-posix.c (test_function): Likewise.
27021         * tests/test-snprintf-posix.h (test_function): Likewise.
27022         * tests/test-sprintf-posix.h (test_function): Likewise.
27023
27024         Fix *printf behaviour for large precisions on mingw and BeOS.
27025         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
27026         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
27027         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
27028         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27029         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27030         gl_PRINTF_PRECISION and test its result. Invoke
27031         gl_PREREQ_VASNPRINTF_PRECISION.
27032         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27033         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27034         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27035         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27036         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27037         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27038         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27039         * doc/functions/fprintf.texi: Update.
27040         * doc/functions/printf.texi: Update.
27041         * doc/functions/snprintf.texi: Update.
27042         * doc/functions/sprintf.texi: Update.
27043         * doc/functions/vfprintf.texi: Update.
27044         * doc/functions/vprintf.texi: Update.
27045         * doc/functions/vsnprintf.texi: Update.
27046         * doc/functions/vsprintf.texi: Update.
27047
27048 2007-11-04  Bruno Haible  <bruno@clisp.org>
27049
27050         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
27051
27052 2007-11-04  Bruno Haible  <bruno@clisp.org>
27053
27054         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
27055         Reported by Sylvain Beucler <beuc@gnu.org>.
27056
27057 2007-11-03  Bruno Haible  <bruno@clisp.org>
27058
27059         * tests/test-fprintf-posix2.sh: New file.
27060         * tests/test-fprintf-posix2.c: New file.
27061         * modules/fprintf-posix-tests (Files): Add them.
27062         (TESTS): Add test-fprintf-posix2.sh.
27063         (configure.ac): Check for getrlimit and setrlimit.
27064         (check_PROGRAMS): Add test-fprintf-posix2.
27065
27066         * tests/test-printf-posix2.sh: New file.
27067         * tests/test-printf-posix2.c: New file.
27068         * modules/printf-posix-tests (Files): Add them.
27069         (TESTS): Add test-printf-posix2.sh.
27070         (configure.ac): Check for getrlimit and setrlimit.
27071         (check_PROGRAMS): Add test-printf-posix2.
27072
27073         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
27074         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
27075         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
27076         (decode_double): New function, copied from decode_long_double.
27077         (scale10_round_decimal_decoded): New function, extracted from
27078         scale10_round_decimal_long_double.
27079         (scale10_round_decimal_long_double): Use it.
27080         (scale10_round_decimal_double): New function.
27081         (floorlog10): New function.
27082         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
27083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
27084         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27085         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27086         gl_PRINTF_ENOMEM and test its result. Invoke
27087         gl_PREREQ_VASNPRINTF_ENOMEM.
27088         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27089         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27090         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27092         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27093         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27094         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27095         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
27096         * modules/snprintf-posix (Depends-on): Likewise.
27097         * modules/sprintf-posix (Depends-on): Likewise.
27098         * modules/vasnprintf-posix (Depends-on): Likewise.
27099         * modules/vasprintf-posix (Depends-on): Likewise.
27100         * modules/vfprintf-posix (Depends-on): Likewise.
27101         * modules/vsnprintf-posix (Depends-on): Likewise.
27102         * modules/vsprintf-posix (Depends-on): Likewise.
27103         * doc/functions/fprintf.texi: Update.
27104         * doc/functions/printf.texi: Update.
27105         * doc/functions/snprintf.texi: Update.
27106         * doc/functions/sprintf.texi: Update.
27107         * doc/functions/vfprintf.texi: Update.
27108         * doc/functions/vprintf.texi: Update.
27109         * doc/functions/vsnprintf.texi: Update.
27110         * doc/functions/vsprintf.texi: Update.
27111
27112 2007-11-03  Bruno Haible  <bruno@clisp.org>
27113
27114         * modules/frexp-nolibm-tests: New file.
27115
27116         * modules/frexp-nolibm: New file.
27117         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
27118
27119 2007-11-03  Bruno Haible  <bruno@clisp.org>
27120
27121         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
27122         value is C99 compliant.
27123         Needed for OSF/1 5.1.
27124
27125 2007-11-03  Bruno Haible  <bruno@clisp.org>
27126
27127         Fix out-of-memory handling of vasnprintf.
27128         * lib/printf-parse.c: Include <errno.h>.
27129         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
27130         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
27131         is already set.
27132
27133 2007-11-02  Eric Blake  <ebb9@byu.net>
27134
27135         Fix tests on cygwin.
27136         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
27137
27138 2007-11-01  Bruno Haible  <bruno@clisp.org>
27139
27140         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
27141         warning.
27142         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
27143         needed for POSIX compatibility.
27144
27145 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27146
27147         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
27148         for compatibility with GNU.
27149
27150 2007-11-01  Bruno Haible  <bruno@clisp.org>
27151
27152         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
27153         (putenv): Renamed from rpl_putenv. Change argument type from
27154         'const char *' to 'char *'.
27155         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
27156         of defining putenv in config.h, just set REPLACE_PUTENV.
27157         * modules/putenv (Depends-on): Add stdlib.
27158         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27159         (Include): Use <stdlib.h>.
27160         * lib/stdlib.in.h (putenv): New declaration.
27161         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
27162         REPLACE_PUTENV.
27163         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
27164         REPLACE_PUTENV.
27165         Needed for MacOS X 10.5.0.
27166         Reported by Peter O'Gorman <peter@pogma.com>.
27167
27168 2007-11-01  Jim Meyering  <meyering@redhat.com>
27169
27170         Treat an empty date string exactly like "0".
27171         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
27172         if the remaining date string (to be parsed) is empty, use "0".
27173         Reported by Mischa Molhoek and discussed in this thread:
27174         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
27175
27176 2007-10-31  Bruno Haible  <bruno@clisp.org>
27177
27178         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
27179         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
27180         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
27181         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
27182         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
27183         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
27184
27185 2007-10-31  Bruno Haible  <bruno@clisp.org>
27186
27187         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
27188         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
27189         (AC_TYPE_LONG_LONG_INT): Use it.
27190         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
27191         it as well.
27192         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
27193         to m4/longlong.m4.
27194         * modules/stdint (Files): Remove m4/ulonglong.m4.
27195         * modules/strtoull (Files): Use m4/longlong.m4 instead of
27196         m4/ulonglong.m4.
27197         * modules/strtoumax (Files): Likewise.
27198
27199 2007-10-30  Bruno Haible  <bruno@clisp.org>
27200
27201         * modules/xvasprintf-posix: New file.
27202         Suggested by Eric Blake.
27203
27204 2007-10-30  Bruno Haible  <bruno@clisp.org>
27205
27206         * modules/xprintf-posix-tests: New file.
27207         * tests/test-xprintf-posix.sh: New file.
27208         * tests/test-xprintf-posix.c: New file.
27209         * tests/test-xfprintf-posix.c: New file.
27210
27211         * modules/xprintf-posix: New file.
27212
27213 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27214
27215         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
27216         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
27217         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
27218
27219 2007-10-29  Bruno Haible  <bruno@clisp.org>
27220
27221         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
27222         contain the special marker '_cv_'.
27223         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27224         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27225         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27226         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27227         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27228         Reported by Ralf Wildenhues.
27229
27230 2007-10-29  Bruno Haible  <bruno@clisp.org>
27231
27232         * gnulib-tool (func_import): When --lgpl is not specified, set
27233         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
27234         GPLv3.
27235         Reported by Simon Josefsson.
27236
27237 2007-10-28  Bruno Haible  <bruno@clisp.org>
27238
27239         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
27240         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
27241         HAVE_DECL_ISFINITE.
27242         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27243         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
27244         HAVE_DECL_ISFINITE.
27245
27246 2007-10-28  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
27249         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
27250
27251 2007-10-28  Bruno Haible  <bruno@clisp.org>
27252
27253         Fix link errors with Sun C 5.0 on Solaris 10.
27254         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
27255         function is declared but not present in the compiler's libm.
27256         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27257         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
27258         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
27259         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
27260         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
27261         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
27262         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
27263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27264         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
27265         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
27266         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
27267         HAVE_DECL_FLOORL.
27268
27269 2007-10-28  Bruno Haible  <bruno@clisp.org>
27270
27271         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
27272         gl_FUNC_FLOORL. Cache the result.
27273         (gl_FUNC_FLOORL): Use it.
27274         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
27275         gl_FUNC_CEILL. Cache the result.
27276         (gl_FUNC_CEILL): Use it.
27277
27278         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
27279         gl_FUNC_FLOOR. Cache the result.
27280         (gl_FUNC_FLOOR): Use it.
27281         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
27282         gl_FUNC_CEIL. Cache the result.
27283         (gl_FUNC_CEIL): Use it.
27284
27285         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
27286         gl_FUNC_FLOORF. Cache the result.
27287         (gl_FUNC_FLOORF): Use it.
27288         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
27289         gl_FUNC_CEILF. Cache the result.
27290         (gl_FUNC_CEILF): Use it.
27291
27292 2007-10-28  Bruno Haible  <bruno@clisp.org>
27293
27294         * gnulib-tool: Allow specifying the LGPL version number through
27295         --lgpl=2 or --lgpl=3.
27296         (func_usage): Document --lgpl with argument.
27297         Handle --lgpl=... arguments.
27298         (func_import): Recognize also gl_LGPL calls with an argument. When
27299         --lgpl=2 is used and the module's license is just LGPL, report an
27300         error. Set sed_transform_lib_file according to the lgpl variable. In
27301         the generated files, use --lgpl or gl_LGPL invocations with argument,
27302         if necessary.
27303         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
27304         an LGPv2+ license.
27305         * doc/gnulib-tool.texi (Modified imports): Update explanation of
27306         gl_LGPL macro.
27307
27308 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27309             Bruno Haible  <bruno@clisp.org>
27310
27311         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
27312         (u16_uctomb_aux): Likewise.
27313         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
27314         !HAVE_INLINE.
27315         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
27316
27317 2007-10-28  Bruno Haible  <bruno@clisp.org>
27318
27319         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
27320         Invoke AM_GETTEXT_OPTION if it exists.
27321         * modules/vasprintf: Likewise.
27322         * modules/verror: Likewise.
27323         * modules/xprintf: Likewise.
27324         * modules/xvasprintf: Likewise.
27325
27326 2007-10-27  Ben Pfaff  <blp@gnu.org>
27327
27328         * lib/math.in.h: Define isfinite macro and prototypes for
27329         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
27330         implementations.
27331         * m4/math_h.m4: New substitutions for isfinite module.
27332         * lib/isfinite.c: New file.
27333         * m4/isfinite.m4: New file.
27334         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
27335         * modules/isfinite: New file.
27336         * modules/isfinite-tests: New file.
27337         * tests/tests-isfinite.c: New file.
27338         * doc/functions/isfinite.texi: Mention isfinite module.
27339         * MODULES.html.sh: Mention new module.
27340
27341 2007-10-27  Ben Pfaff  <blp@gnu.org>
27342
27343         Ralf Wildenhues reported that Tru64 4.0D declares the round
27344         functions but does not have definitions.
27345         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
27346         cannot be found in any library, set the output variable to
27347         "missing" instead of "".
27348         * m4/round.m4: Also use our substitute if we cannot find round in
27349         any library, even if it is declared.
27350         * m4/roundf.m4: Likewise for roundf.
27351         * m4/roundl.m4: Likewise for roundl.
27352         * lib/math.in.h: Undefine roundf, round, roundl before defining
27353         their replacements, to allow for hypothetical systems where these
27354         may be defined as macros but not available in libraries.
27355
27356 2007-10-27  Bruno Haible  <bruno@clisp.org>
27357
27358         * doc/gnulib.texi: Invoke @firstparagraphindent.
27359         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
27360         changes in gnulib.
27361         (Source changes): New section.
27362
27363 2007-10-26  Bruno Haible  <bruno@clisp.org>
27364
27365         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
27366         borrowed from autoconf.
27367
27368 2007-10-26  Bruno Haible  <bruno@clisp.org>
27369
27370         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
27371         strerror returned the empty string. Needed on HP-UX 11.00.
27372
27373 2007-10-24  Micah Cowan  <micah@cowan.name>
27374
27375         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
27376         * build-aux/bootstrap: Remove support for now-unnecessary option,
27377         --cvs-user, and envvars CVS_USER, CVS_RSH.
27378
27379 2007-10-24  Jim Meyering  <meyering@redhat.com>
27380
27381         Avoid diagnostics from sha1sum when there is no cached checksum.
27382         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
27383         if the po.s1 file hasn't been created yet.
27384
27385         * build-aux/bootstrap: Sync from coreutils:
27386         2007-10-24  Jim Meyering  <meyering@redhat.com>
27387         Get gnulib from the git repository, not from an obsolete cvs one.
27388         * build-aux/bootstrap: Suggestion from Micah Cowan.
27389         2007-10-04  Jim Meyering  <jim@meyering.net>
27390         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
27391         (update_po_files): Work also when there are no .po files in po/.
27392
27393 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27394
27395         * README: Append ".git" to git and cg examples.
27396         Problem reported by Benoit Sigoure.
27397
27398 2007-10-23  Micah Cowan  <micah@cowan.name>
27399
27400         * users.txt: Add wget.
27401
27402 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27403
27404         Fix linking of some unistdio tests on FreeBSD.
27405         * modules/unistdio/u16-vsnprintf-tests
27406         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
27407         * modules/unistdio/u16-vsprintf-tests
27408         (test_u16_vsnprintf1_LDADD): Likewise.
27409         * modules/unistdio/u32-vsnprintf-tests
27410         (test_u32_vsnprintf1_LDADD): Likewise.
27411         * modules/unistdio/u32-vsprintf-tests
27412         (test_u32_vsprintf1_LDADD): Likewise.
27413         * modules/unistdio/u8-vsnprintf-tests
27414         (test_u8_vsnprintf1_LDADD): Likewise.
27415         * modules/unistdio/u8-vsprintf-tests
27416         (test_u8_vsprintf1_LDADD): Likewise.
27417         * modules/unistdio/ulc-vsnprintf-tests
27418         (test_ulc_vsnprintf1_LDADD): Likewise.
27419         * modules/unistdio/ulc-vsprintf-tests
27420         (test_ulc_vsprintf1_LDADD): Likewise.
27421
27422         Fix linking of some uniconv tests on FreeBSD.
27423         * modules/uniconv/u16-conv-from-enc-tests
27424         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
27425         * modules/uniconv/u16-conv-to-enc-tests
27426         (test_u16_conv_to_enc_LDADD): Likewise.
27427         * modules/uniconv/u16-strconv-from-enc-tests
27428         (test_u16_strconv_from_enc_LDADD): Likewise.
27429         * modules/uniconv/u16-strconv-to-enc-tests
27430         (test_u16_strconv_to_enc_LDADD): Likewise.
27431         * modules/uniconv/u32-conv-from-enc-tests
27432         (test_u32_conv_from_enc_LDADD): Likewise.
27433         * modules/uniconv/u32-conv-to-enc-tests
27434         (test_u32_conv_to_enc_LDADD): Likewise.
27435         * modules/uniconv/u32-strconv-from-enc-tests
27436         (test_u32_strconv_from_enc_LDADD): Likewise.
27437         * modules/uniconv/u32-strconv-to-enc-tests
27438         (test_u32_strconv_to_enc_LDADD): Likewise.
27439         * modules/uniconv/u8-conv-from-enc-tests
27440         (test_u8_conv_from_enc_LDADD): Likewise.
27441         * modules/uniconv/u8-conv-to-enc-tests
27442         (test_u8_conv_to_enc_LDADD): Likewise.
27443         * modules/uniconv/u8-strconv-from-enc-tests
27444         (test_u8_strconv_from_enc_LDADD): Likewise.
27445         * modules/uniconv/u8-strconv-to-enc-tests
27446         (test_u8_strconv_to_enc_LDADD): Likewise.
27447
27448 2007-10-22  Bruno Haible  <bruno@clisp.org>
27449
27450         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
27451         size.
27452
27453 2007-10-22  Eric Blake  <ebb9@byu.net>
27454
27455         Tweak x*printf documentation.
27456         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
27457         variable name and comments.
27458         Suggested by Bruno Haible.
27459
27460 2007-10-22  Bruno Haible  <bruno@clisp.org>
27461
27462         * lib/acl.c (copy_acl): Fix file name in comment.
27463
27464 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27465
27466         Fix Tru64 problem with stdbool.h.
27467         * lib/stdbool.in.h (false, true):
27468         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
27469         Don't declare as an enum in this situation; it runs afoul of Tru64.
27470         Problem reported by Steven M. Schweda in
27471         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
27472
27473 2007-10-22  Eric Blake  <ebb9@byu.net>
27474
27475         Also wrap vf?printf.
27476         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
27477         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
27478         (xvprintf, xvfprintf): New functions.
27479
27480 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27481
27482         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
27483         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
27484
27485         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
27486         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
27487
27488 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27489
27490         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
27491         by Bruno Haible.
27492
27493 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27494
27495         * lib/getloadavg.c
27496         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
27497         Undef `sys' after including sys/table.h, for Tru64 4.0D.
27498
27499         * tests/test-i-ring.c: Work for C89.
27500
27501 2007-10-22  Bruno Haible  <bruno@clisp.org>
27502
27503         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
27504         -1u, in preprocessor expression, so that we don't test for the bug
27505         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
27506         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
27507
27508 2007-10-22  Eric Blake  <ebb9@byu.net>
27509
27510         * tests/test-yesno.sh: Silence stderr during test.
27511
27512 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27513
27514         * modules/crypto/gc-camellia: New file.
27515
27516         * m4/gc-camellia.m4: New file.
27517
27518         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
27519
27520         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
27521
27522 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27523
27524         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
27525         --help to stdout.  Reported by sms@antinode.org (Steven
27526         M. Schweda).
27527
27528 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27529
27530         * users.txt: Fix link to libksba.
27531
27532 2007-10-21  Ben Pfaff  <blp@gnu.org>
27533
27534         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
27535         round.c roundf implementation that depends on floorf and ceilf to
27536         be tested unconditionally.
27537
27538 2007-10-21  Ben Pfaff  <blp@gnu.org>
27539
27540         * m4/check-libm-func.m4: Removed.
27541         * m4/check-math-lib.m4: New file.
27542         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
27543         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
27544         definition and lack of AC_LIBOBJ([roundf]).
27545         * m4/roundl.m4: Ditto, and similarly for roundl.
27546         * modules/round: Reference new m4 file.
27547         * modules/roundf: Ditto.
27548         * modules/roundl: Ditto.
27549         * tests/test-round2.c (main): Use ROUND instead of round.
27550         Bug report from Bruno Haible.
27551
27552 2007-10-21  Bruno Haible  <bruno@clisp.org>
27553
27554         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
27555         context.
27556
27557 2007-10-21  Bruno Haible  <bruno@clisp.org>
27558
27559         * tests/test-wcwidth.c (main): Allow negative result for some control
27560         characters.
27561
27562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
27563         Needed on OSF/1 5.1.
27564
27565 2007-10-21  Bruno Haible  <bruno@clisp.org>
27566
27567         * tests/test-floorf1.c: Include isnanf.h.
27568         (main): Use isnanf() instead of isnan().
27569         * tests/test-ceilf1.c: Include isnanf.h.
27570         (main): Use isnanf() instead of isnan().
27571         * tests/test-truncf1.c: Include isnanf.h.
27572         (main): Use isnanf() instead of isnan().
27573         * tests/test-roundf1.c: Include isnanf.h.
27574         (main): Use isnanf() instead of isnan().
27575
27576 2007-10-21  Eric Blake  <ebb9@byu.net>
27577
27578         * users.txt: Update URL for m4.
27579
27580 2007-10-21  Bruno Haible  <bruno@clisp.org>
27581
27582         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
27583
27584 2007-10-21  Bruno Haible  <bruno@clisp.org>
27585
27586         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
27587         Git's management files if the CVS files are not present.
27588
27589 2007-10-20  Bruno Haible  <bruno@clisp.org>
27590
27591         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
27592         gcc-3.4.x.
27593
27594 2007-10-20  Ben Pfaff  <blp@gnu.org>
27595
27596         * lib/math.in.h: Declare round, roundf, roundl if we are providing
27597         implementations.
27598         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
27599         * lib/round.c: New file.
27600         * lib/roundf.c: New file.
27601         * lib/roundl.c: New file.
27602         * m4/round.m4: New file.
27603         * m4/roundf.m4: New file.
27604         * m4/roundl.m4: New file.
27605         * m4/check-libm-func-m4: New file.
27606         * modules/math: Replace round, roundf, roundl related @VARS@ in
27607         math.in.h.
27608         * modules/round: New file.
27609         * modules/round-tests: New file.
27610         * modules/roundf: New file.
27611         * modules/roundf-tests: New file.
27612         * modules/roundl: New file.
27613         * modules/roundl-tests: New file.
27614         * tests/test-round1.c: New file.
27615         * tests/test-round2.c: New file.
27616         * tests/test-roundf1.c: New file.
27617         * tests/test-roundf2.c: New file.
27618         * tests/test-roundl.c: New file.
27619         * doc/functions/round.texi: Mention round module.
27620         * doc/functions/roundf.texi: Mention roundf module.
27621         * doc/functions/roundl.texi: Mention roundl module.
27622         * MODULES.html.sh: Mention new modules.
27623         Thanks to Bruno Haible for suggestions.
27624
27625 2007-10-20  Jim Meyering  <meyering@redhat.com>
27626
27627         * lib/xprintf.c: Include <config.h> unconditionally.
27628
27629         Change xprintf's license to GPL.
27630         * modules/xprintf (License): s/LGPL/GPL/, since this module
27631         depends on modules (exit and exitfail) which are GPL.
27632         Suggestion from Bruno Haible.
27633
27634         xprintf fixes.
27635         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
27636         Use a clearer diagnostic.
27637         Patch from Bruno Haible.
27638
27639 2007-10-20  Bruno Haible  <bruno@clisp.org>
27640
27641         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
27642         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
27643         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27644
27645 2007-10-20  Bruno Haible  <bruno@clisp.org>
27646
27647         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
27648         precision in the comparison result > x - 1 or similar.
27649         * tests/test-ceilf2.c (correct_result_p): Likewise.
27650         * tests/test-truncf2.c (correct_result_p): Likewise.
27651         * tests/test-trunc2.c (correct_result_p): Likewise.
27652         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27653
27654 2007-10-20  Bruno Haible  <bruno@clisp.org>
27655
27656         * modules/ceil: New file.
27657         * m4/ceil.m4: New file.
27658         * doc/functions/ceil.texi: Mention the 'ceil' module.
27659
27660 2007-10-20  Bruno Haible  <bruno@clisp.org>
27661
27662         * modules/floor: New file.
27663         * m4/floor.m4: New file.
27664         * doc/functions/floor.texi: Mention the 'floor' module.
27665
27666 2007-10-20  Bruno Haible  <bruno@clisp.org>
27667
27668         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
27669         of %a.
27670         * modules/floorf-tests (Depends-on): Likewise.
27671         * modules/truncf-tests (Depends-on): Likewise.
27672         * modules/trunc-tests (Depends-on): Likewise.
27673         Reported by Ben Pfaff.
27674
27675 2007-10-19  Jim Meyering  <meyering@redhat.com>
27676
27677         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
27678         Don't bother testing specific errno values.  Just test ferror.
27679
27680         New module: xprintf
27681         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
27682
27683 2007-10-19  Bruno Haible  <bruno@clisp.org>
27684
27685         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
27686         syntax.
27687         * modules/javaexec (Makefile.am): Likewise.
27688         * modules/relocatable-prog (Makefile.am): Likewise.
27689         Suggested by Jim Meyering.
27690
27691 2007-10-18  Bruno Haible  <bruno@clisp.org>
27692
27693         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
27694         Reported by Jim Meyering.
27695
27696 2007-10-18  Eric Blake  <ebb9@byu.net>
27697
27698         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
27699
27700 2007-10-18  Bruno Haible  <bruno@clisp.org>
27701
27702         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
27703         the format string into writable memory. Needed in Fortify conditions.
27704
27705 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
27706             Bruno Haible  <bruno@clisp.org>
27707
27708         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
27709         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
27710         * modules/trim (Depends-on): Add mbchar.
27711         (configure.ac): Add gl_FUNC_MBRTOWC.
27712         (Makefile.am): Augment lib_SOURCES.
27713
27714 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
27715
27716         Modify glob.c to use fstatat and dirfd, to simplify it.
27717         Suggested by Eric Blake.
27718         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
27719         Don't include <stdbool.h>; not used.
27720         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
27721         (link_exists_p): Simplify implementation, since we can now assume
27722         dirfd and fstatat.
27723         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
27724
27725 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27726
27727         * gnulib-tool (func_get_dependencies): Fix sed script to
27728         match only tests.
27729
27730 2007-10-17  Bruno Haible  <bruno@clisp.org>
27731
27732         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
27733         allow locale names without encoding suffix.
27734         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
27735         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
27736
27737 2007-10-16  Bruno Haible  <bruno@clisp.org>
27738
27739         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
27740         * lib/getgroups.c (getgroups): Likewise.
27741         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
27742
27743 2007-10-16  Bruno Haible  <bruno@clisp.org>
27744
27745         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
27746         * modules/malloc-posix (License): Likewise.
27747         * modules/realloc-posix (License): Likewise.
27748         * modules/calloc-posix (License): Likewise.
27749         * modules/intprops (License): Change from GPL to LGPL, with
27750         Paul Eggert's approval.
27751
27752 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27753
27754         Merge glibc changes into lib/glob.c.
27755
27756         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
27757         2007-10-15 04:59:03 UTC.  Here are the changes:
27758
27759         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
27760
27761         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
27762
27763         * lib/glob.c: Add some branch prediction throughout.
27764
27765         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
27766
27767         [BZ #5103]
27768         * lib/glob.c (glob): Recognize patterns starting \/.
27769
27770         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
27771
27772         [BZ #3996]
27773         * lib/glob.c (attribute_hidden): Define if not defined.
27774         (glob): Unescape dirname, filename or username when needed and not
27775         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
27776         is NULL.  Handle unescaped [ in pattern without closing ].
27777         Don't pass GLOB_CHECK down to recursive glob for directories.
27778         (__glob_pattern_type): New function.
27779         (__glob_pattern_p): Implement using __glob_pattern_type.
27780         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
27781         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
27782         Remove unreachable code.
27783
27784         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
27785
27786         * lib/glob.c (glob_in_dir): Add some comments and asserts to
27787         explain why there are no leaks.
27788
27789         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
27790
27791         [BZ #3253]
27792         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
27793         time, rather allocate increasingly bigger arrays of pointers, if
27794         possible with alloca, if too large with malloc.
27795
27796 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27797
27798         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
27799         Problem reported by H.Merijn Brand in
27800         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
27801         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
27802         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
27803
27804 2007-10-15  Bruno Haible  <bruno@clisp.org>
27805
27806         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
27807         with explicit rpl_ prefix.
27808         * lib/fopen.c (fopen): Likewise.
27809         * lib/freopen.c (freopen): Likewise.
27810         * lib/iconv.c (iconv): Likewise.
27811         * lib/iconv_close.c (iconv_close): Likewise.
27812
27813 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27814
27815         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
27816
27817 2007-10-15  Bruno Haible  <bruno@clisp.org>
27818
27819         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
27820         <stddef.h> instead of <stdlib.h> since we only need NULL.
27821         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27822
27823 2007-10-15  Bruno Haible  <bruno@clisp.org>
27824
27825         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
27826         Replace paragraph talking about LIBOBJS.
27827         Reported by Colin Watson <cjwatson@debian.org>.
27828
27829 2007-10-15  Bruno Haible  <bruno@clisp.org>
27830
27831         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
27832         <stdlib.h> before using NULL.
27833
27834 2007-10-15  Simon Josefsson  <simon@josefsson.org>
27835
27836         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
27837         Reported by Albert Chin <china@thewrittenword.com>.
27838
27839 2007-10-14  Bruno Haible  <bruno@clisp.org>
27840
27841         * modules/iconv_open-utf-tests: New file.
27842         * tests/test-iconv-utf.c: New file.
27843
27844         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
27845         * modules/iconv_open-utf: New file.
27846         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
27847         (iconv, iconv_close): New declarations.
27848         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
27849         be defined.
27850         (iconv_open): Add special handling of conversion between UTF-8 and
27851         UTF-{16,32}{BE,LE}.
27852         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
27853         * lib/iconv_close.c: New file.
27854         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
27855         gl_FUNC_ICONV_OPEN.
27856         (gl_FUNC_ICONV_OPEN): Use it.
27857         (gl_FUNC_ICONV_OPEN_UTF): New macro.
27858         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
27859         and REPLACE_ICONV_UTF.
27860         * modules/iconv_open (Depends-on): Add c-strcase.
27861         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
27862         ICONV_CONST.
27863         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
27864
27865 2007-10-13  Albert Chin  <china@thewrittenword.com>
27866             Bruno Haible  <bruno@clisp.org>
27867
27868         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
27869         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
27870
27871 2007-10-13  Bruno Haible  <bruno@clisp.org>
27872
27873         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
27874         defined, use the ISO C99 inline semantics.
27875         * lib/argp.h (ARGP_EI): Likewise.
27876
27877 2007-10-13  Bruno Haible  <bruno@clisp.org>
27878
27879         Handle 'inline' change in gcc 4.3.0.
27880         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
27881         argp_fmtstream_write, argp_fmtstream_set_lmargin,
27882         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
27883         argp_fmtstream_point): Disable 'extern' declaration if the function
27884         definition is going to be provided inline.
27885         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
27886         semantics, not the ISO C99 inline semantics.
27887         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
27888         'extern' declaration if the function definition is going to be provided
27889         inline.
27890         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
27891         the GNU C inline semantics, not the ISO C99 inline semantics. With
27892         GCC 4.2, avoid a warning.
27893
27894 2007-10-13  Bruno Haible  <bruno@clisp.org>
27895
27896         * lib/freading.h (freading): Enable the use of __freading for
27897         glibc >= 2.7.
27898         * lib/freading.c (freading): Likewise.
27899
27900 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
27901
27902         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
27903         "warning: C99 inline functions are not supported; using GNU89".
27904
27905 2007-10-12  Bruno Haible  <bruno@clisp.org>
27906
27907         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
27908         of 2.
27909         * tests/test-ceilf2.c: New file.
27910         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
27911
27912         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
27913         * modules/ceilf-tests: Update.
27914
27915 2007-10-12  Bruno Haible  <bruno@clisp.org>
27916
27917         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
27918         of 2.
27919         * tests/test-floorf2.c: New file.
27920         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
27921
27922         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
27923         * modules/floorf-tests: Update.
27924
27925 2007-10-12  Bruno Haible  <bruno@clisp.org>
27926
27927         * tests/test-trunc2.c: New file.
27928         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
27929
27930         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
27931         * modules/trunc-tests: Update.
27932
27933 2007-10-12  Bruno Haible  <bruno@clisp.org>
27934
27935         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
27936         of 2.
27937         * tests/test-truncf2.c: New file.
27938         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
27939
27940         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
27941         * modules/truncf-tests: Update.
27942
27943 2007-10-11  Eric Blake  <ebb9@byu.net>
27944
27945         Don't claim strerror is broken on Interix.
27946         * doc/functions/strerror.texi (strerror): Known broken systems are
27947         now Solaris 8, and not Interix.
27948         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
27949         Interix on cross-compile.
27950         Reported by Martin Koeppe in
27951         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
27952
27953 2007-10-11  Bruno Haible  <bruno@clisp.org>
27954
27955         * modules/i-ring-tests: New file.
27956         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
27957         instead of assert.
27958
27959 2007-10-11  Bruno Haible  <bruno@clisp.org>
27960
27961         * modules/filenamecat-tests: New file.
27962         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
27963         * lib/filenamecat.c: Remove test code.
27964
27965 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
27966
27967         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
27968
27969         * lib/strerror.c: Include <string.h> always, to test interface,
27970         and to remove the need for the dummy.
27971         Include intprops.h to compute width instead of doing it ourselves
27972         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
27973         (strerror): Define it to return NULL if there's no system strerror.
27974         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
27975         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
27976         ancient pre-strerror Unix systems well any more.  Saying "unknown
27977         system error" is enough.
27978         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
27979         simpler strerror.c implementation.
27980         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
27981         Simplify the tests to reflect the simpler strerror implementation.
27982         * modules/strerror (Depends-on): Add intprops.
27983
27984 2007-10-09  Eric Blake  <ebb9@byu.net>
27985
27986         Silence test-fpending.
27987         * modules/fpending-tests (Files): Add wrapper script.
27988         * tests/test-fpending.sh: New file.
27989
27990 2007-10-09  Bruno Haible  <bruno@clisp.org>
27991
27992         * MODULES.html.sh (func_module): Don't create a hyperlink for
27993         function names like 'printf_frexp'.
27994         (Misc): Add crc, memxor.
27995         (Characteristics of floating types): New section.
27996         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
27997         isnanf-nolibm, signbit, trunc, truncf, truncl.
27998         (Enhancements for ISO C 99 functions): New subsection Input/output.
27999         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
28000         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
28001         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
28002         (Compatibility checks for POSIX:2001 functions): Add clock-time.
28003         (Enhancements for POSIX:2001 functions): Add chdir-long.
28004         (File system functions): Add areadlink, chdir-safer, read-file.
28005         Remove cycle-check.
28006         (File system as inode set): New section.
28007         (Date and time): Add gethrxtime.
28008         (Multithreading): Add openmp.
28009         (Internationalization functions): Add localename.
28010         (Unicode string functions): Add unistr/u*-mbsnlen.
28011         (Support for maintaining and releasing projects): Add git-version-gen.
28012         (Lone files): Remove directories.
28013
28014 2007-10-08  Ben Pfaff  <blp@gnu.org>
28015
28016         * lib/xmalloca.h: Fix typo in comment.
28017
28018 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28019
28020         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
28021         when avoiding problems with integer overflow.  Use a portable test
28022         instead.
28023
28024 2007-10-08  Simon Josefsson  <simon@josefsson.org>
28025
28026         * modules/dummy (License): Change to LGPLv2+.
28027         * modules/float (License): Likewise
28028         * modules/realloc (License): Likewise
28029         * modules/stdlib (License): Likewise
28030
28031 2007-10-07  Bruno Haible  <bruno@clisp.org>
28032
28033         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
28034         * floor.c (TWO_MANT_DIG): Likewise.
28035         * ceil.c (TWO_MANT_DIG): Likewise.
28036         Reported by Ben Pfaff.
28037
28038 2007-10-07  Bruno Haible  <bruno@clisp.org>
28039
28040         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
28041         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
28042         * lib/frexp.c (FUNC): Likewise.
28043         * lib/printf-frexp.h (printf_frexp): Likewise.
28044         * lib/printf-frexpl.h (printf_frexpl): Likewise.
28045         * lib/printf-frexp.c (FUNC): Likewise.
28046         Suggested by Jim Meyering.
28047
28048 2007-10-07  Jim Meyering  <meyering@redhat.com>
28049
28050         Make xnanosleep's integer overflow test more robust.
28051         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
28052         so that gcc-4.3.0 doesn't optimize away this test for overflow.
28053
28054 2007-10-07  Bruno Haible  <bruno@clisp.org>
28055
28056         * NEWS: Mention the license change.
28057
28058         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
28059         abbreviations in the modules files.
28060
28061         Change copyright notice from GPLv2+ to GPLv3+.
28062         * README: Change copyright notice.
28063         * MODULES.html.sh: Likewise.
28064         * build-aux/bootstrap.conf: Likewise.
28065         * build-aux/config.libpath: Likewise.
28066         * build-aux/csharpcomp.sh.in: Likewise.
28067         * build-aux/csharpexec.sh.in: Likewise.
28068         * build-aux/install-reloc: Likewise.
28069         * build-aux/javacomp.sh.in: Likewise.
28070         * build-aux/javaexec.sh.in: Likewise.
28071         * build-aux/ldd.sh.in: Likewise.
28072         * build-aux/reloc-ldflags: Likewise.
28073         * build-aux/relocatable.sh.in: Likewise.
28074         * build-aux/x-to-1.in: Likewise.
28075         * check-module: Likewise.
28076         * config/srclistvars.sh: Likewise.
28077         * gnulib-tool: Likewise.
28078         * lib/acl-internal.h: Likewise.
28079         * lib/acl.c: Likewise.
28080         * lib/acl.h: Likewise.
28081         * lib/acl_entries.c: Likewise.
28082         * lib/areadlink-with-size.c: Likewise.
28083         * lib/areadlink.c: Likewise.
28084         * lib/areadlink.h: Likewise.
28085         * lib/argmatch.c: Likewise.
28086         * lib/argmatch.h: Likewise.
28087         * lib/argp-ba.c: Likewise.
28088         * lib/argp-eexst.c: Likewise.
28089         * lib/argp-fmtstream.c: Likewise.
28090         * lib/argp-fmtstream.h: Likewise.
28091         * lib/argp-fs-xinl.c: Likewise.
28092         * lib/argp-help.c: Likewise.
28093         * lib/argp-namefrob.h: Likewise.
28094         * lib/argp-parse.c: Likewise.
28095         * lib/argp-pin.c: Likewise.
28096         * lib/argp-pv.c: Likewise.
28097         * lib/argp-pvh.c: Likewise.
28098         * lib/argp-xinl.c: Likewise.
28099         * lib/argp.h: Likewise.
28100         * lib/at-func.c: Likewise.
28101         * lib/atanl.c: Likewise.
28102         * lib/backupfile.c: Likewise.
28103         * lib/backupfile.h: Likewise.
28104         * lib/basename.c: Likewise.
28105         * lib/binary-io.h: Likewise.
28106         * lib/byteswap.in.h: Likewise.
28107         * lib/c-stack.c: Likewise.
28108         * lib/c-stack.h: Likewise.
28109         * lib/c-strcasestr.c: Likewise.
28110         * lib/c-strcasestr.h: Likewise.
28111         * lib/c-strstr.c: Likewise.
28112         * lib/c-strstr.h: Likewise.
28113         * lib/c-strtod.c: Likewise.
28114         * lib/calloc.c: Likewise.
28115         * lib/canon-host.c: Likewise.
28116         * lib/canon-host.h: Likewise.
28117         * lib/canonicalize-lgpl.c: Likewise.
28118         * lib/canonicalize.c: Likewise.
28119         * lib/canonicalize.h: Likewise.
28120         * lib/ceil.c: Likewise.
28121         * lib/ceilf.c: Likewise.
28122         * lib/ceill.c: Likewise.
28123         * lib/chdir-long.c: Likewise.
28124         * lib/chdir-long.h: Likewise.
28125         * lib/chdir-safer.c: Likewise.
28126         * lib/chdir-safer.h: Likewise.
28127         * lib/chown.c: Likewise.
28128         * lib/classpath.c: Likewise.
28129         * lib/classpath.h: Likewise.
28130         * lib/clean-temp.c: Likewise.
28131         * lib/clean-temp.h: Likewise.
28132         * lib/cloexec.c: Likewise.
28133         * lib/close-stream.c: Likewise.
28134         * lib/closein.c: Likewise.
28135         * lib/closein.h: Likewise.
28136         * lib/closeout.c: Likewise.
28137         * lib/closeout.h: Likewise.
28138         * lib/concat-filename.c: Likewise.
28139         * lib/copy-file.c: Likewise.
28140         * lib/copy-file.h: Likewise.
28141         * lib/count-one-bits.h: Likewise.
28142         * lib/crc.c: Likewise.
28143         * lib/crc.h: Likewise.
28144         * lib/creat-safer.c: Likewise.
28145         * lib/csharpcomp.c: Likewise.
28146         * lib/csharpcomp.h: Likewise.
28147         * lib/csharpexec.c: Likewise.
28148         * lib/csharpexec.h: Likewise.
28149         * lib/cycle-check.c: Likewise.
28150         * lib/cycle-check.h: Likewise.
28151         * lib/diacrit.c: Likewise.
28152         * lib/diacrit.h: Likewise.
28153         * lib/diffseq.h: Likewise.
28154         * lib/dirchownmod.c: Likewise.
28155         * lib/dirent.in.h: Likewise.
28156         * lib/dirfd.c: Likewise.
28157         * lib/dirfd.h: Likewise.
28158         * lib/dirname.c: Likewise.
28159         * lib/dirname.h: Likewise.
28160         * lib/dummy.c: Likewise.
28161         * lib/dup-safer.c: Likewise.
28162         * lib/dup2.c: Likewise.
28163         * lib/eealloc.h: Likewise.
28164         * lib/error.c: Likewise.
28165         * lib/error.h: Likewise.
28166         * lib/euidaccess.c: Likewise.
28167         * lib/exclude.c: Likewise.
28168         * lib/exclude.h: Likewise.
28169         * lib/execute.c: Likewise.
28170         * lib/execute.h: Likewise.
28171         * lib/exitfail.c: Likewise.
28172         * lib/exitfail.h: Likewise.
28173         * lib/expl.c: Likewise.
28174         * lib/fatal-signal.c: Likewise.
28175         * lib/fatal-signal.h: Likewise.
28176         * lib/fbufmode.c: Likewise.
28177         * lib/fbufmode.h: Likewise.
28178         * lib/fchdir.c: Likewise.
28179         * lib/fchmodat.c: Likewise.
28180         * lib/fchownat.c: Likewise.
28181         * lib/fcntl--.h: Likewise.
28182         * lib/fcntl-safer.h: Likewise.
28183         * lib/fcntl.in.h: Likewise.
28184         * lib/fd-safer.c: Likewise.
28185         * lib/fflush.c: Likewise.
28186         * lib/file-has-acl.c: Likewise.
28187         * lib/file-set.c: Likewise.
28188         * lib/file-type.c: Likewise.
28189         * lib/file-type.h: Likewise.
28190         * lib/fileblocks.c: Likewise.
28191         * lib/filemode.c: Likewise.
28192         * lib/filemode.h: Likewise.
28193         * lib/filename.h: Likewise.
28194         * lib/filenamecat.c: Likewise.
28195         * lib/filenamecat.h: Likewise.
28196         * lib/findprog.c: Likewise.
28197         * lib/findprog.h: Likewise.
28198         * lib/float.in.h: Likewise.
28199         * lib/floor.c: Likewise.
28200         * lib/floorf.c: Likewise.
28201         * lib/floorl.c: Likewise.
28202         * lib/fopen-safer.c: Likewise.
28203         * lib/fopen.c: Likewise.
28204         * lib/fpending.c: Likewise.
28205         * lib/fpending.h: Likewise.
28206         * lib/fprintf.c: Likewise.
28207         * lib/fprintftime.h: Likewise.
28208         * lib/fpucw.h: Likewise.
28209         * lib/fpurge.c: Likewise.
28210         * lib/fpurge.h: Likewise.
28211         * lib/freadable.c: Likewise.
28212         * lib/freadable.h: Likewise.
28213         * lib/freadahead.c: Likewise.
28214         * lib/freadahead.h: Likewise.
28215         * lib/freading.c: Likewise.
28216         * lib/freading.h: Likewise.
28217         * lib/free.c: Likewise.
28218         * lib/freopen.c: Likewise.
28219         * lib/frexp.c: Likewise.
28220         * lib/frexpl.c: Likewise.
28221         * lib/fseek.c: Likewise.
28222         * lib/fseterr.c: Likewise.
28223         * lib/fseterr.h: Likewise.
28224         * lib/fstatat.c: Likewise.
28225         * lib/fstrcmp.c: Likewise.
28226         * lib/fstrcmp.h: Likewise.
28227         * lib/fsusage.c: Likewise.
28228         * lib/fsusage.h: Likewise.
28229         * lib/ftell.c: Likewise.
28230         * lib/ftello.c: Likewise.
28231         * lib/fts-cycle.c: Likewise.
28232         * lib/fts.c: Likewise.
28233         * lib/fts_.h: Likewise.
28234         * lib/full-read.c: Likewise.
28235         * lib/full-read.h: Likewise.
28236         * lib/full-write.c: Likewise.
28237         * lib/full-write.h: Likewise.
28238         * lib/fwritable.c: Likewise.
28239         * lib/fwritable.h: Likewise.
28240         * lib/fwriteerror.c: Likewise.
28241         * lib/fwriteerror.h: Likewise.
28242         * lib/fwriting.c: Likewise.
28243         * lib/fwriting.h: Likewise.
28244         * lib/gcd.c: Likewise.
28245         * lib/gcd.h: Likewise.
28246         * lib/getcwd.c: Likewise.
28247         * lib/getdate.h: Likewise.
28248         * lib/getdate.y: Likewise.
28249         * lib/getdomainname.c: Likewise.
28250         * lib/getdomainname.h: Likewise.
28251         * lib/getgroups.c: Likewise.
28252         * lib/gethostname.c: Likewise.
28253         * lib/gethrxtime.c: Likewise.
28254         * lib/gethrxtime.h: Likewise.
28255         * lib/getloadavg.c: Likewise.
28256         * lib/getndelim2.c: Likewise.
28257         * lib/getndelim2.h: Likewise.
28258         * lib/getnline.c: Likewise.
28259         * lib/getnline.h: Likewise.
28260         * lib/getopt.c: Likewise.
28261         * lib/getopt.in.h: Likewise.
28262         * lib/getopt1.c: Likewise.
28263         * lib/getopt_int.h: Likewise.
28264         * lib/getpagesize.h: Likewise.
28265         * lib/getsubopt.c: Likewise.
28266         * lib/gettime.c: Likewise.
28267         * lib/getugroups.c: Likewise.
28268         * lib/getugroups.h: Likewise.
28269         * lib/getusershell.c: Likewise.
28270         * lib/gl_anyavltree_list1.h: Likewise.
28271         * lib/gl_anyavltree_list2.h: Likewise.
28272         * lib/gl_anyhash_list1.h: Likewise.
28273         * lib/gl_anyhash_list2.h: Likewise.
28274         * lib/gl_anylinked_list1.h: Likewise.
28275         * lib/gl_anylinked_list2.h: Likewise.
28276         * lib/gl_anyrbtree_list1.h: Likewise.
28277         * lib/gl_anyrbtree_list2.h: Likewise.
28278         * lib/gl_anytree_list1.h: Likewise.
28279         * lib/gl_anytree_list2.h: Likewise.
28280         * lib/gl_anytree_oset.h: Likewise.
28281         * lib/gl_anytreehash_list1.h: Likewise.
28282         * lib/gl_anytreehash_list2.h: Likewise.
28283         * lib/gl_array_list.c: Likewise.
28284         * lib/gl_array_list.h: Likewise.
28285         * lib/gl_array_oset.c: Likewise.
28286         * lib/gl_array_oset.h: Likewise.
28287         * lib/gl_avltree_list.c: Likewise.
28288         * lib/gl_avltree_list.h: Likewise.
28289         * lib/gl_avltree_oset.c: Likewise.
28290         * lib/gl_avltree_oset.h: Likewise.
28291         * lib/gl_avltreehash_list.c: Likewise.
28292         * lib/gl_avltreehash_list.h: Likewise.
28293         * lib/gl_carray_list.c: Likewise.
28294         * lib/gl_carray_list.h: Likewise.
28295         * lib/gl_linked_list.c: Likewise.
28296         * lib/gl_linked_list.h: Likewise.
28297         * lib/gl_linkedhash_list.c: Likewise.
28298         * lib/gl_linkedhash_list.h: Likewise.
28299         * lib/gl_list.c: Likewise.
28300         * lib/gl_list.h: Likewise.
28301         * lib/gl_oset.c: Likewise.
28302         * lib/gl_oset.h: Likewise.
28303         * lib/gl_rbtree_list.c: Likewise.
28304         * lib/gl_rbtree_list.h: Likewise.
28305         * lib/gl_rbtree_oset.c: Likewise.
28306         * lib/gl_rbtree_oset.h: Likewise.
28307         * lib/gl_rbtreehash_list.c: Likewise.
28308         * lib/gl_rbtreehash_list.h: Likewise.
28309         * lib/gl_sublist.c: Likewise.
28310         * lib/gl_sublist.h: Likewise.
28311         * lib/group-member.c: Likewise.
28312         * lib/group-member.h: Likewise.
28313         * lib/hard-locale.c: Likewise.
28314         * lib/hard-locale.h: Likewise.
28315         * lib/hash-pjw.c: Likewise.
28316         * lib/hash-pjw.h: Likewise.
28317         * lib/hash-triple.c: Likewise.
28318         * lib/hash.c: Likewise.
28319         * lib/hash.h: Likewise.
28320         * lib/human.c: Likewise.
28321         * lib/human.h: Likewise.
28322         * lib/i-ring.c: Likewise.
28323         * lib/i-ring.h: Likewise.
28324         * lib/idcache.c: Likewise.
28325         * lib/imaxabs.c: Likewise.
28326         * lib/imaxdiv.c: Likewise.
28327         * lib/inet_pton.c: Likewise.
28328         * lib/inet_pton.h: Likewise.
28329         * lib/intprops.h: Likewise.
28330         * lib/inttostr.c: Likewise.
28331         * lib/inttostr.h: Likewise.
28332         * lib/inttypes.in.h: Likewise.
28333         * lib/isapipe.c: Likewise.
28334         * lib/isdir.c: Likewise.
28335         * lib/isnan.c: Likewise.
28336         * lib/isnan.h: Likewise.
28337         * lib/isnanf.c: Likewise.
28338         * lib/isnanf.h: Likewise.
28339         * lib/isnanl-nolibm.h: Likewise.
28340         * lib/isnanl.c: Likewise.
28341         * lib/isnanl.h: Likewise.
28342         * lib/javacomp.c: Likewise.
28343         * lib/javacomp.h: Likewise.
28344         * lib/javaexec.c: Likewise.
28345         * lib/javaexec.h: Likewise.
28346         * lib/javaversion.c: Likewise.
28347         * lib/javaversion.h: Likewise.
28348         * lib/javaversion.java: Likewise.
28349         * lib/lbrkprop.h: Likewise.
28350         * lib/lchmod.h: Likewise.
28351         * lib/lchown.c: Likewise.
28352         * lib/ldexpl.c: Likewise.
28353         * lib/linebreak.c: Likewise.
28354         * lib/linebreak.h: Likewise.
28355         * lib/linebuffer.c: Likewise.
28356         * lib/linebuffer.h: Likewise.
28357         * lib/locale.in.h: Likewise.
28358         * lib/logl.c: Likewise.
28359         * lib/long-options.c: Likewise.
28360         * lib/long-options.h: Likewise.
28361         * lib/lstat.c: Likewise.
28362         * lib/lstat.h: Likewise.
28363         * lib/math.in.h: Likewise.
28364         * lib/mbchar.c: Likewise.
28365         * lib/mbchar.h: Likewise.
28366         * lib/mbfile.h: Likewise.
28367         * lib/mbiter.h: Likewise.
28368         * lib/mbscasecmp.c: Likewise.
28369         * lib/mbscasestr.c: Likewise.
28370         * lib/mbschr.c: Likewise.
28371         * lib/mbscspn.c: Likewise.
28372         * lib/mbslen.c: Likewise.
28373         * lib/mbsncasecmp.c: Likewise.
28374         * lib/mbsnlen.c: Likewise.
28375         * lib/mbspbrk.c: Likewise.
28376         * lib/mbspcasecmp.c: Likewise.
28377         * lib/mbsrchr.c: Likewise.
28378         * lib/mbssep.c: Likewise.
28379         * lib/mbsspn.c: Likewise.
28380         * lib/mbsstr.c: Likewise.
28381         * lib/mbstok_r.c: Likewise.
28382         * lib/mbswidth.c: Likewise.
28383         * lib/mbswidth.h: Likewise.
28384         * lib/mbuiter.h: Likewise.
28385         * lib/memcasecmp.c: Likewise.
28386         * lib/memcasecmp.h: Likewise.
28387         * lib/memchr.c: Likewise.
28388         * lib/memcmp.c: Likewise.
28389         * lib/memcoll.c: Likewise.
28390         * lib/memcoll.h: Likewise.
28391         * lib/memcpy.c: Likewise.
28392         * lib/memrchr.c: Likewise.
28393         * lib/mkancesdirs.c: Likewise.
28394         * lib/mkdir-p.c: Likewise.
28395         * lib/mkdir-p.h: Likewise.
28396         * lib/mkdir.c: Likewise.
28397         * lib/mkdirat.c: Likewise.
28398         * lib/mkdtemp.c: Likewise.
28399         * lib/mkstemp-safer.c: Likewise.
28400         * lib/mkstemp.c: Likewise.
28401         * lib/modechange.c: Likewise.
28402         * lib/modechange.h: Likewise.
28403         * lib/mountlist.c: Likewise.
28404         * lib/mountlist.h: Likewise.
28405         * lib/mpsort.c: Likewise.
28406         * lib/nanosleep.c: Likewise.
28407         * lib/obstack.c: Likewise.
28408         * lib/obstack.h: Likewise.
28409         * lib/open-safer.c: Likewise.
28410         * lib/open.c: Likewise.
28411         * lib/openat-die.c: Likewise.
28412         * lib/openat-priv.h: Likewise.
28413         * lib/openat-proc.c: Likewise.
28414         * lib/openat.c: Likewise.
28415         * lib/openat.h: Likewise.
28416         * lib/pagealign_alloc.c: Likewise.
28417         * lib/pagealign_alloc.h: Likewise.
28418         * lib/physmem.c: Likewise.
28419         * lib/physmem.h: Likewise.
28420         * lib/pipe-safer.c: Likewise.
28421         * lib/pipe.c: Likewise.
28422         * lib/pipe.h: Likewise.
28423         * lib/posixtm.c: Likewise.
28424         * lib/posixtm.h: Likewise.
28425         * lib/posixver.c: Likewise.
28426         * lib/printf-frexp.c: Likewise.
28427         * lib/printf-frexp.h: Likewise.
28428         * lib/printf-frexpl.c: Likewise.
28429         * lib/printf-frexpl.h: Likewise.
28430         * lib/printf.c: Likewise.
28431         * lib/progname.c: Likewise.
28432         * lib/progname.h: Likewise.
28433         * lib/progreloc.c: Likewise.
28434         * lib/putenv.c: Likewise.
28435         * lib/quote.c: Likewise.
28436         * lib/quote.h: Likewise.
28437         * lib/quotearg.c: Likewise.
28438         * lib/quotearg.h: Likewise.
28439         * lib/raise.c: Likewise.
28440         * lib/readline.c: Likewise.
28441         * lib/readline.h: Likewise.
28442         * lib/readlink.c: Likewise.
28443         * lib/readtokens.c: Likewise.
28444         * lib/readtokens.h: Likewise.
28445         * lib/readtokens0.c: Likewise.
28446         * lib/readtokens0.h: Likewise.
28447         * lib/readutmp.c: Likewise.
28448         * lib/readutmp.h: Likewise.
28449         * lib/realloc.c: Likewise.
28450         * lib/relocwrapper.c: Likewise.
28451         * lib/rename-dest-slash.c: Likewise.
28452         * lib/rename.c: Likewise.
28453         * lib/rmdir.c: Likewise.
28454         * lib/rpmatch.c: Likewise.
28455         * lib/safe-read.c: Likewise.
28456         * lib/safe-read.h: Likewise.
28457         * lib/safe-write.c: Likewise.
28458         * lib/safe-write.h: Likewise.
28459         * lib/same-inode.h: Likewise.
28460         * lib/same.c: Likewise.
28461         * lib/same.h: Likewise.
28462         * lib/save-cwd.c: Likewise.
28463         * lib/save-cwd.h: Likewise.
28464         * lib/savedir.c: Likewise.
28465         * lib/savedir.h: Likewise.
28466         * lib/savewd.c: Likewise.
28467         * lib/savewd.h: Likewise.
28468         * lib/search.in.h: Likewise.
28469         * lib/setenv.c: Likewise.
28470         * lib/setenv.h: Likewise.
28471         * lib/settime.c: Likewise.
28472         * lib/sh-quote.c: Likewise.
28473         * lib/sh-quote.h: Likewise.
28474         * lib/sig2str.c: Likewise.
28475         * lib/sig2str.h: Likewise.
28476         * lib/signal.in.h: Likewise.
28477         * lib/signbitd.c: Likewise.
28478         * lib/signbitf.c: Likewise.
28479         * lib/signbitl.c: Likewise.
28480         * lib/sigprocmask.c: Likewise.
28481         * lib/sincosl.c: Likewise.
28482         * lib/sleep.c: Likewise.
28483         * lib/sprintf.c: Likewise.
28484         * lib/sqrtl.c: Likewise.
28485         * lib/stat-time.h: Likewise.
28486         * lib/stdio--.h: Likewise.
28487         * lib/stdio-safer.h: Likewise.
28488         * lib/stdlib--.h: Likewise.
28489         * lib/stdlib-safer.h: Likewise.
28490         * lib/stdlib.in.h: Likewise.
28491         * lib/stpcpy.c: Likewise.
28492         * lib/stpncpy.c: Likewise.
28493         * lib/strchrnul.c: Likewise.
28494         * lib/strcspn.c: Likewise.
28495         * lib/strerror.c: Likewise.
28496         * lib/strftime.c: Likewise.
28497         * lib/strftime.h: Likewise.
28498         * lib/striconveh.c: Likewise.
28499         * lib/striconveh.h: Likewise.
28500         * lib/striconveha.c: Likewise.
28501         * lib/striconveha.h: Likewise.
28502         * lib/stripslash.c: Likewise.
28503         * lib/strnlen1.c: Likewise.
28504         * lib/strnlen1.h: Likewise.
28505         * lib/strtod.c: Likewise.
28506         * lib/strtoimax.c: Likewise.
28507         * lib/strtok_r.c: Likewise.
28508         * lib/strtol.c: Likewise.
28509         * lib/strtoll.c: Likewise.
28510         * lib/strtoul.c: Likewise.
28511         * lib/strtoull.c: Likewise.
28512         * lib/sysexits.in.h: Likewise.
28513         * lib/tempname.c: Likewise.
28514         * lib/tempname.h: Likewise.
28515         * lib/timespec.h: Likewise.
28516         * lib/tls.c: Likewise.
28517         * lib/tls.h: Likewise.
28518         * lib/tmpdir.c: Likewise.
28519         * lib/tmpdir.h: Likewise.
28520         * lib/tmpfile-safer.c: Likewise.
28521         * lib/tmpfile.c: Likewise.
28522         * lib/trigl.c: Likewise.
28523         * lib/trigl.h: Likewise.
28524         * lib/trim.c: Likewise.
28525         * lib/trim.h: Likewise.
28526         * lib/trunc.c: Likewise.
28527         * lib/truncf.c: Likewise.
28528         * lib/truncl.c: Likewise.
28529         * lib/tsearch.c: Likewise.
28530         * lib/unicodeio.c: Likewise.
28531         * lib/unicodeio.h: Likewise.
28532         * lib/unistd--.h: Likewise.
28533         * lib/unistd-safer.h: Likewise.
28534         * lib/unistdio/ulc-fprintf.c: Likewise.
28535         * lib/unistdio/ulc-vfprintf.c: Likewise.
28536         * lib/unlinkdir.c: Likewise.
28537         * lib/unlinkdir.h: Likewise.
28538         * lib/unlocked-io.h: Likewise.
28539         * lib/unsetenv.c: Likewise.
28540         * lib/userspec.c: Likewise.
28541         * lib/utime.c: Likewise.
28542         * lib/utimecmp.c: Likewise.
28543         * lib/utimecmp.h: Likewise.
28544         * lib/utimens.c: Likewise.
28545         * lib/verify.h: Likewise.
28546         * lib/verror.c: Likewise.
28547         * lib/verror.h: Likewise.
28548         * lib/version-etc-fsf.c: Likewise.
28549         * lib/version-etc.c: Likewise.
28550         * lib/version-etc.h: Likewise.
28551         * lib/vfprintf.c: Likewise.
28552         * lib/vprintf.c: Likewise.
28553         * lib/vsprintf.c: Likewise.
28554         * lib/w32spawn.h: Likewise.
28555         * lib/wait-process.c: Likewise.
28556         * lib/wait-process.h: Likewise.
28557         * lib/wcwidth.c: Likewise.
28558         * lib/write-any-file.c: Likewise.
28559         * lib/xalloc-die.c: Likewise.
28560         * lib/xalloc.h: Likewise.
28561         * lib/xasprintf.c: Likewise.
28562         * lib/xgetcwd.c: Likewise.
28563         * lib/xgetcwd.h: Likewise.
28564         * lib/xgetdomainname.c: Likewise.
28565         * lib/xgetdomainname.h: Likewise.
28566         * lib/xgethostname.c: Likewise.
28567         * lib/xmalloc.c: Likewise.
28568         * lib/xmalloca.c: Likewise.
28569         * lib/xmalloca.h: Likewise.
28570         * lib/xmemcoll.c: Likewise.
28571         * lib/xnanosleep.c: Likewise.
28572         * lib/xreadlink.c: Likewise.
28573         * lib/xreadlink.h: Likewise.
28574         * lib/xsetenv.c: Likewise.
28575         * lib/xsetenv.h: Likewise.
28576         * lib/xstriconv.c: Likewise.
28577         * lib/xstriconv.h: Likewise.
28578         * lib/xstrndup.c: Likewise.
28579         * lib/xstrndup.h: Likewise.
28580         * lib/xstrtod.c: Likewise.
28581         * lib/xstrtod.h: Likewise.
28582         * lib/xstrtol-error.c: Likewise.
28583         * lib/xstrtol.c: Likewise.
28584         * lib/xstrtol.h: Likewise.
28585         * lib/xtime.h: Likewise.
28586         * lib/xvasprintf.c: Likewise.
28587         * lib/xvasprintf.h: Likewise.
28588         * lib/yesno.c: Likewise.
28589         * lib/yesno.h: Likewise.
28590         * posix-modules: Likewise.
28591         * tests/test-alloca-opt.c: Likewise.
28592         * tests/test-arcfour.c: Likewise.
28593         * tests/test-arctwo.c: Likewise.
28594         * tests/test-argmatch.c: Likewise.
28595         * tests/test-argp-2.sh: Likewise.
28596         * tests/test-argp.c: Likewise.
28597         * tests/test-arpa_inet.c: Likewise.
28598         * tests/test-array_list.c: Likewise.
28599         * tests/test-array_oset.c: Likewise.
28600         * tests/test-atexit.c: Likewise.
28601         * tests/test-avltree_list.c: Likewise.
28602         * tests/test-avltree_oset.c: Likewise.
28603         * tests/test-avltreehash_list.c: Likewise.
28604         * tests/test-base64.c: Likewise.
28605         * tests/test-binary-io.c: Likewise.
28606         * tests/test-byteswap.c: Likewise.
28607         * tests/test-c-ctype.c: Likewise.
28608         * tests/test-c-strcasecmp.c: Likewise.
28609         * tests/test-c-strcasestr.c: Likewise.
28610         * tests/test-c-strncasecmp.c: Likewise.
28611         * tests/test-c-strstr.c: Likewise.
28612         * tests/test-canonicalize-lgpl.c: Likewise.
28613         * tests/test-canonicalize.c: Likewise.
28614         * tests/test-carray_list.c: Likewise.
28615         * tests/test-ceilf.c: Likewise.
28616         * tests/test-ceill.c: Likewise.
28617         * tests/test-count-one-bits.c: Likewise.
28618         * tests/test-crc.c: Likewise.
28619         * tests/test-dirname.c: Likewise.
28620         * tests/test-fbufmode.c: Likewise.
28621         * tests/test-fcntl.c: Likewise.
28622         * tests/test-fflush.c: Likewise.
28623         * tests/test-floorf.c: Likewise.
28624         * tests/test-floorl.c: Likewise.
28625         * tests/test-fopen.c: Likewise.
28626         * tests/test-fprintf-posix.c: Likewise.
28627         * tests/test-fprintf-posix.h: Likewise.
28628         * tests/test-fpurge.c: Likewise.
28629         * tests/test-freadable.c: Likewise.
28630         * tests/test-freadahead.c: Likewise.
28631         * tests/test-freading.c: Likewise.
28632         * tests/test-freopen.c: Likewise.
28633         * tests/test-frexp.c: Likewise.
28634         * tests/test-frexpl.c: Likewise.
28635         * tests/test-fseek.c: Likewise.
28636         * tests/test-fseeko.c: Likewise.
28637         * tests/test-fseterr.c: Likewise.
28638         * tests/test-fstrcmp.c: Likewise.
28639         * tests/test-ftell.c: Likewise.
28640         * tests/test-ftello.c: Likewise.
28641         * tests/test-fwritable.c: Likewise.
28642         * tests/test-fwriting.c: Likewise.
28643         * tests/test-getaddrinfo.c: Likewise.
28644         * tests/test-getpass.c: Likewise.
28645         * tests/test-gettimeofday.c: Likewise.
28646         * tests/test-hmac-md5.c: Likewise.
28647         * tests/test-hmac-sha1.c: Likewise.
28648         * tests/test-iconv.c: Likewise.
28649         * tests/test-iconvme.c: Likewise.
28650         * tests/test-inttypes.c: Likewise.
28651         * tests/test-isnan.c: Likewise.
28652         * tests/test-isnanf.c: Likewise.
28653         * tests/test-isnanl-nolibm.c: Likewise.
28654         * tests/test-isnanl.c: Likewise.
28655         * tests/test-isnanl.h: Likewise.
28656         * tests/test-ldexpl.c: Likewise.
28657         * tests/test-linked_list.c: Likewise.
28658         * tests/test-linkedhash_list.c: Likewise.
28659         * tests/test-locale.c: Likewise.
28660         * tests/test-localename.c: Likewise.
28661         * tests/test-lock.c: Likewise.
28662         * tests/test-lseek.c: Likewise.
28663         * tests/test-malloca.c: Likewise.
28664         * tests/test-math.c: Likewise.
28665         * tests/test-mbscasecmp.c: Likewise.
28666         * tests/test-mbscasestr1.c: Likewise.
28667         * tests/test-mbscasestr2.c: Likewise.
28668         * tests/test-mbscasestr3.c: Likewise.
28669         * tests/test-mbscasestr4.c: Likewise.
28670         * tests/test-mbschr.c: Likewise.
28671         * tests/test-mbscspn.c: Likewise.
28672         * tests/test-mbsncasecmp.c: Likewise.
28673         * tests/test-mbspbrk.c: Likewise.
28674         * tests/test-mbspcasecmp.c: Likewise.
28675         * tests/test-mbsrchr.c: Likewise.
28676         * tests/test-mbsspn.c: Likewise.
28677         * tests/test-mbsstr1.c: Likewise.
28678         * tests/test-mbsstr2.c: Likewise.
28679         * tests/test-mbsstr3.c: Likewise.
28680         * tests/test-md5.c: Likewise.
28681         * tests/test-memmem.c: Likewise.
28682         * tests/test-netinet_in.c: Likewise.
28683         * tests/test-open.c: Likewise.
28684         * tests/test-printf-frexp.c: Likewise.
28685         * tests/test-printf-frexpl.c: Likewise.
28686         * tests/test-printf-posix.c: Likewise.
28687         * tests/test-printf-posix.h: Likewise.
28688         * tests/test-rbtree_list.c: Likewise.
28689         * tests/test-rbtree_oset.c: Likewise.
28690         * tests/test-rbtreehash_list.c: Likewise.
28691         * tests/test-read-file.c: Likewise.
28692         * tests/test-rijndael.c: Likewise.
28693         * tests/test-search.c: Likewise.
28694         * tests/test-signbit.c: Likewise.
28695         * tests/test-sleep.c: Likewise.
28696         * tests/test-snprintf-posix.c: Likewise.
28697         * tests/test-snprintf-posix.h: Likewise.
28698         * tests/test-snprintf.c: Likewise.
28699         * tests/test-sprintf-posix.c: Likewise.
28700         * tests/test-sprintf-posix.h: Likewise.
28701         * tests/test-stat-time.c: Likewise.
28702         * tests/test-stdbool.c: Likewise.
28703         * tests/test-stdint.c: Likewise.
28704         * tests/test-stdio.c: Likewise.
28705         * tests/test-stdlib.c: Likewise.
28706         * tests/test-stpncpy.c: Likewise.
28707         * tests/test-strcasestr.c: Likewise.
28708         * tests/test-striconv.c: Likewise.
28709         * tests/test-striconveh.c: Likewise.
28710         * tests/test-striconveha.c: Likewise.
28711         * tests/test-string.c: Likewise.
28712         * tests/test-sys_select.c: Likewise.
28713         * tests/test-sys_socket.c: Likewise.
28714         * tests/test-sys_stat.c: Likewise.
28715         * tests/test-sys_time.c: Likewise.
28716         * tests/test-sysexits.c: Likewise.
28717         * tests/test-time.c: Likewise.
28718         * tests/test-tls.c: Likewise.
28719         * tests/test-trunc.c: Likewise.
28720         * tests/test-truncf.c: Likewise.
28721         * tests/test-truncl.c: Likewise.
28722         * tests/test-unistd.c: Likewise.
28723         * tests/test-vasnprintf-posix.c: Likewise.
28724         * tests/test-vasnprintf-posix2.c: Likewise.
28725         * tests/test-vasnprintf.c: Likewise.
28726         * tests/test-vasprintf-posix.c: Likewise.
28727         * tests/test-vasprintf.c: Likewise.
28728         * tests/test-verify.c: Likewise.
28729         * tests/test-vfprintf-posix.c: Likewise.
28730         * tests/test-vprintf-posix.c: Likewise.
28731         * tests/test-vsnprintf-posix.c: Likewise.
28732         * tests/test-vsnprintf.c: Likewise.
28733         * tests/test-vsprintf-posix.c: Likewise.
28734         * tests/test-wchar.c: Likewise.
28735         * tests/test-wctype.c: Likewise.
28736         * tests/test-wcwidth.c: Likewise.
28737         * tests/test-xstrtol.c: Likewise.
28738         * tests/test-xvasprintf.c: Likewise.
28739         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
28740         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
28741         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
28742         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
28743         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
28744         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
28745         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
28746         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
28747         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
28748         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
28749         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
28750         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
28751         * tests/uniname/test-uninames.c: Likewise.
28752         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
28753         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
28754         * tests/unistdio/test-u16-printf1.h: Likewise.
28755         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
28756         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
28757         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
28758         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
28759         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28760         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28761         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
28762         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
28763         * tests/unistdio/test-u32-printf1.h: Likewise.
28764         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
28765         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
28766         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
28767         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
28768         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28769         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28770         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
28771         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
28772         * tests/unistdio/test-u8-printf1.h: Likewise.
28773         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
28774         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
28775         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
28776         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
28777         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28778         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28779         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
28780         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
28781         * tests/unistdio/test-ulc-printf1.h: Likewise.
28782         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
28783         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
28784         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
28785         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
28786         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28787         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28788         * tests/uniwidth/test-u16-strwidth.c: Likewise.
28789         * tests/uniwidth/test-u16-width.c: Likewise.
28790         * tests/uniwidth/test-u32-strwidth.c: Likewise.
28791         * tests/uniwidth/test-u32-width.c: Likewise.
28792         * tests/uniwidth/test-u8-strwidth.c: Likewise.
28793         * tests/uniwidth/test-u8-width.c: Likewise.
28794         * tests/uniwidth/test-uc_width.c: Likewise.
28795         * config/srclist-update: Likewise.
28796         (fixlicense): Update to GPLv3+.
28797
28798         Change copyright notice from LGPLv2.1+ to LGPLv3+.
28799         * tests/test-tsearch.c: Change copyright notice.
28800
28801         Change copyright notice from LGPLv2.0+ to LGPLv3+.
28802         * lib/c-strcaseeq.h: Change copyright notice.
28803         * lib/streq.h: Likewise.
28804         * lib/uniconv.h: Likewise.
28805         * lib/uniconv/u-conv-from-enc.h: Likewise.
28806         * lib/uniconv/u-conv-to-enc.h: Likewise.
28807         * lib/uniconv/u-strconv-from-enc.h: Likewise.
28808         * lib/uniconv/u-strconv-to-enc.h: Likewise.
28809         * lib/uniconv/u16-conv-from-enc.c: Likewise.
28810         * lib/uniconv/u16-conv-to-enc.c: Likewise.
28811         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
28812         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
28813         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
28814         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
28815         * lib/uniconv/u32-conv-from-enc.c: Likewise.
28816         * lib/uniconv/u32-conv-to-enc.c: Likewise.
28817         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
28818         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
28819         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
28820         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
28821         * lib/uniconv/u8-conv-from-enc.c: Likewise.
28822         * lib/uniconv/u8-conv-to-enc.c: Likewise.
28823         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
28824         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
28825         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
28826         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
28827         * lib/uniname.h: Likewise.
28828         * lib/uniname/uniname.c: Likewise.
28829         * lib/unistdio.h: Likewise.
28830         * lib/unistdio/u-asnprintf.h: Likewise.
28831         * lib/unistdio/u-asprintf.h: Likewise.
28832         * lib/unistdio/u-printf-args.c: Likewise.
28833         * lib/unistdio/u-printf-args.h: Likewise.
28834         * lib/unistdio/u-printf-parse.h: Likewise.
28835         * lib/unistdio/u-snprintf.h: Likewise.
28836         * lib/unistdio/u-sprintf.h: Likewise.
28837         * lib/unistdio/u-vasprintf.h: Likewise.
28838         * lib/unistdio/u-vsnprintf.h: Likewise.
28839         * lib/unistdio/u-vsprintf.h: Likewise.
28840         * lib/unistdio/u16-asnprintf.c: Likewise.
28841         * lib/unistdio/u16-asprintf.c: Likewise.
28842         * lib/unistdio/u16-printf-parse.c: Likewise.
28843         * lib/unistdio/u16-snprintf.c: Likewise.
28844         * lib/unistdio/u16-sprintf.c: Likewise.
28845         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
28846         * lib/unistdio/u16-u16-asprintf.c: Likewise.
28847         * lib/unistdio/u16-u16-snprintf.c: Likewise.
28848         * lib/unistdio/u16-u16-sprintf.c: Likewise.
28849         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
28850         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
28851         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
28852         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
28853         * lib/unistdio/u16-vasnprintf.c: Likewise.
28854         * lib/unistdio/u16-vasprintf.c: Likewise.
28855         * lib/unistdio/u16-vsnprintf.c: Likewise.
28856         * lib/unistdio/u16-vsprintf.c: Likewise.
28857         * lib/unistdio/u32-asnprintf.c: Likewise.
28858         * lib/unistdio/u32-asprintf.c: Likewise.
28859         * lib/unistdio/u32-printf-parse.c: Likewise.
28860         * lib/unistdio/u32-snprintf.c: Likewise.
28861         * lib/unistdio/u32-sprintf.c: Likewise.
28862         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
28863         * lib/unistdio/u32-u32-asprintf.c: Likewise.
28864         * lib/unistdio/u32-u32-snprintf.c: Likewise.
28865         * lib/unistdio/u32-u32-sprintf.c: Likewise.
28866         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
28867         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
28868         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
28869         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
28870         * lib/unistdio/u32-vasnprintf.c: Likewise.
28871         * lib/unistdio/u32-vasprintf.c: Likewise.
28872         * lib/unistdio/u32-vsnprintf.c: Likewise.
28873         * lib/unistdio/u32-vsprintf.c: Likewise.
28874         * lib/unistdio/u8-asnprintf.c: Likewise.
28875         * lib/unistdio/u8-asprintf.c: Likewise.
28876         * lib/unistdio/u8-printf-parse.c: Likewise.
28877         * lib/unistdio/u8-snprintf.c: Likewise.
28878         * lib/unistdio/u8-sprintf.c: Likewise.
28879         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
28880         * lib/unistdio/u8-u8-asprintf.c: Likewise.
28881         * lib/unistdio/u8-u8-snprintf.c: Likewise.
28882         * lib/unistdio/u8-u8-sprintf.c: Likewise.
28883         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
28884         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
28885         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
28886         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
28887         * lib/unistdio/u8-vasnprintf.c: Likewise.
28888         * lib/unistdio/u8-vasprintf.c: Likewise.
28889         * lib/unistdio/u8-vsnprintf.c: Likewise.
28890         * lib/unistdio/u8-vsprintf.c: Likewise.
28891         * lib/unistdio/ulc-asnprintf.c: Likewise.
28892         * lib/unistdio/ulc-asprintf.c: Likewise.
28893         * lib/unistdio/ulc-printf-parse.c: Likewise.
28894         * lib/unistdio/ulc-snprintf.c: Likewise.
28895         * lib/unistdio/ulc-sprintf.c: Likewise.
28896         * lib/unistdio/ulc-vasnprintf.c: Likewise.
28897         * lib/unistdio/ulc-vasprintf.c: Likewise.
28898         * lib/unistdio/ulc-vsnprintf.c: Likewise.
28899         * lib/unistdio/ulc-vsprintf.c: Likewise.
28900         * lib/unistr.h: Likewise.
28901         * lib/unistr/u-cpy-alloc.h: Likewise.
28902         * lib/unistr/u-cpy.h: Likewise.
28903         * lib/unistr/u-endswith.h: Likewise.
28904         * lib/unistr/u-move.h: Likewise.
28905         * lib/unistr/u-set.h: Likewise.
28906         * lib/unistr/u-startswith.h: Likewise.
28907         * lib/unistr/u-stpcpy.h: Likewise.
28908         * lib/unistr/u-stpncpy.h: Likewise.
28909         * lib/unistr/u-strcat.h: Likewise.
28910         * lib/unistr/u-strcpy.h: Likewise.
28911         * lib/unistr/u-strcspn.h: Likewise.
28912         * lib/unistr/u-strdup.h: Likewise.
28913         * lib/unistr/u-strlen.h: Likewise.
28914         * lib/unistr/u-strncat.h: Likewise.
28915         * lib/unistr/u-strncpy.h: Likewise.
28916         * lib/unistr/u-strnlen.h: Likewise.
28917         * lib/unistr/u-strpbrk.h: Likewise.
28918         * lib/unistr/u-strspn.h: Likewise.
28919         * lib/unistr/u-strstr.h: Likewise.
28920         * lib/unistr/u-strtok.h: Likewise.
28921         * lib/unistr/u16-check.c: Likewise.
28922         * lib/unistr/u16-chr.c: Likewise.
28923         * lib/unistr/u16-cmp.c: Likewise.
28924         * lib/unistr/u16-cpy-alloc.c: Likewise.
28925         * lib/unistr/u16-cpy.c: Likewise.
28926         * lib/unistr/u16-endswith.c: Likewise.
28927         * lib/unistr/u16-mblen.c: Likewise.
28928         * lib/unistr/u16-mbsnlen.c: Likewise.
28929         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28930         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28931         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28932         * lib/unistr/u16-mbtouc.c: Likewise.
28933         * lib/unistr/u16-mbtoucr.c: Likewise.
28934         * lib/unistr/u16-move.c: Likewise.
28935         * lib/unistr/u16-next.c: Likewise.
28936         * lib/unistr/u16-prev.c: Likewise.
28937         * lib/unistr/u16-set.c: Likewise.
28938         * lib/unistr/u16-startswith.c: Likewise.
28939         * lib/unistr/u16-stpcpy.c: Likewise.
28940         * lib/unistr/u16-stpncpy.c: Likewise.
28941         * lib/unistr/u16-strcat.c: Likewise.
28942         * lib/unistr/u16-strchr.c: Likewise.
28943         * lib/unistr/u16-strcmp.c: Likewise.
28944         * lib/unistr/u16-strcpy.c: Likewise.
28945         * lib/unistr/u16-strcspn.c: Likewise.
28946         * lib/unistr/u16-strdup.c: Likewise.
28947         * lib/unistr/u16-strlen.c: Likewise.
28948         * lib/unistr/u16-strmblen.c: Likewise.
28949         * lib/unistr/u16-strmbtouc.c: Likewise.
28950         * lib/unistr/u16-strncat.c: Likewise.
28951         * lib/unistr/u16-strncmp.c: Likewise.
28952         * lib/unistr/u16-strncpy.c: Likewise.
28953         * lib/unistr/u16-strnlen.c: Likewise.
28954         * lib/unistr/u16-strpbrk.c: Likewise.
28955         * lib/unistr/u16-strrchr.c: Likewise.
28956         * lib/unistr/u16-strspn.c: Likewise.
28957         * lib/unistr/u16-strstr.c: Likewise.
28958         * lib/unistr/u16-strtok.c: Likewise.
28959         * lib/unistr/u16-to-u32.c: Likewise.
28960         * lib/unistr/u16-to-u8.c: Likewise.
28961         * lib/unistr/u16-uctomb-aux.c: Likewise.
28962         * lib/unistr/u16-uctomb.c: Likewise.
28963         * lib/unistr/u32-check.c: Likewise.
28964         * lib/unistr/u32-chr.c: Likewise.
28965         * lib/unistr/u32-cmp.c: Likewise.
28966         * lib/unistr/u32-cpy-alloc.c: Likewise.
28967         * lib/unistr/u32-cpy.c: Likewise.
28968         * lib/unistr/u32-endswith.c: Likewise.
28969         * lib/unistr/u32-mblen.c: Likewise.
28970         * lib/unistr/u32-mbsnlen.c: Likewise.
28971         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28972         * lib/unistr/u32-mbtouc.c: Likewise.
28973         * lib/unistr/u32-mbtoucr.c: Likewise.
28974         * lib/unistr/u32-move.c: Likewise.
28975         * lib/unistr/u32-next.c: Likewise.
28976         * lib/unistr/u32-prev.c: Likewise.
28977         * lib/unistr/u32-set.c: Likewise.
28978         * lib/unistr/u32-startswith.c: Likewise.
28979         * lib/unistr/u32-stpcpy.c: Likewise.
28980         * lib/unistr/u32-stpncpy.c: Likewise.
28981         * lib/unistr/u32-strcat.c: Likewise.
28982         * lib/unistr/u32-strchr.c: Likewise.
28983         * lib/unistr/u32-strcmp.c: Likewise.
28984         * lib/unistr/u32-strcpy.c: Likewise.
28985         * lib/unistr/u32-strcspn.c: Likewise.
28986         * lib/unistr/u32-strdup.c: Likewise.
28987         * lib/unistr/u32-strlen.c: Likewise.
28988         * lib/unistr/u32-strmblen.c: Likewise.
28989         * lib/unistr/u32-strmbtouc.c: Likewise.
28990         * lib/unistr/u32-strncat.c: Likewise.
28991         * lib/unistr/u32-strncmp.c: Likewise.
28992         * lib/unistr/u32-strncpy.c: Likewise.
28993         * lib/unistr/u32-strnlen.c: Likewise.
28994         * lib/unistr/u32-strpbrk.c: Likewise.
28995         * lib/unistr/u32-strrchr.c: Likewise.
28996         * lib/unistr/u32-strspn.c: Likewise.
28997         * lib/unistr/u32-strstr.c: Likewise.
28998         * lib/unistr/u32-strtok.c: Likewise.
28999         * lib/unistr/u32-to-u16.c: Likewise.
29000         * lib/unistr/u32-to-u8.c: Likewise.
29001         * lib/unistr/u32-uctomb.c: Likewise.
29002         * lib/unistr/u8-check.c: Likewise.
29003         * lib/unistr/u8-chr.c: Likewise.
29004         * lib/unistr/u8-cmp.c: Likewise.
29005         * lib/unistr/u8-cpy-alloc.c: Likewise.
29006         * lib/unistr/u8-cpy.c: Likewise.
29007         * lib/unistr/u8-endswith.c: Likewise.
29008         * lib/unistr/u8-mblen.c: Likewise.
29009         * lib/unistr/u8-mbsnlen.c: Likewise.
29010         * lib/unistr/u8-mbtouc-aux.c: Likewise.
29011         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29012         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29013         * lib/unistr/u8-mbtouc.c: Likewise.
29014         * lib/unistr/u8-mbtoucr.c: Likewise.
29015         * lib/unistr/u8-move.c: Likewise.
29016         * lib/unistr/u8-next.c: Likewise.
29017         * lib/unistr/u8-prev.c: Likewise.
29018         * lib/unistr/u8-set.c: Likewise.
29019         * lib/unistr/u8-startswith.c: Likewise.
29020         * lib/unistr/u8-stpcpy.c: Likewise.
29021         * lib/unistr/u8-stpncpy.c: Likewise.
29022         * lib/unistr/u8-strcat.c: Likewise.
29023         * lib/unistr/u8-strchr.c: Likewise.
29024         * lib/unistr/u8-strcmp.c: Likewise.
29025         * lib/unistr/u8-strcpy.c: Likewise.
29026         * lib/unistr/u8-strcspn.c: Likewise.
29027         * lib/unistr/u8-strdup.c: Likewise.
29028         * lib/unistr/u8-strlen.c: Likewise.
29029         * lib/unistr/u8-strmblen.c: Likewise.
29030         * lib/unistr/u8-strmbtouc.c: Likewise.
29031         * lib/unistr/u8-strncat.c: Likewise.
29032         * lib/unistr/u8-strncmp.c: Likewise.
29033         * lib/unistr/u8-strncpy.c: Likewise.
29034         * lib/unistr/u8-strnlen.c: Likewise.
29035         * lib/unistr/u8-strpbrk.c: Likewise.
29036         * lib/unistr/u8-strrchr.c: Likewise.
29037         * lib/unistr/u8-strspn.c: Likewise.
29038         * lib/unistr/u8-strstr.c: Likewise.
29039         * lib/unistr/u8-strtok.c: Likewise.
29040         * lib/unistr/u8-to-u16.c: Likewise.
29041         * lib/unistr/u8-to-u32.c: Likewise.
29042         * lib/unistr/u8-uctomb-aux.c: Likewise.
29043         * lib/unistr/u8-uctomb.c: Likewise.
29044         * lib/unitypes.h: Likewise.
29045         * lib/uniwidth.h: Likewise.
29046         * lib/uniwidth/cjk.h: Likewise.
29047         * lib/uniwidth/u16-strwidth.c: Likewise.
29048         * lib/uniwidth/u16-width.c: Likewise.
29049         * lib/uniwidth/u32-strwidth.c: Likewise.
29050         * lib/uniwidth/u32-width.c: Likewise.
29051         * lib/uniwidth/u8-strwidth.c: Likewise.
29052         * lib/uniwidth/u8-width.c: Likewise.
29053         * lib/uniwidth/width.c: Likewise.
29054
29055 2007-10-07  Bruno Haible  <bruno@clisp.org>
29056
29057         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
29058         The file is still under LGPL (see modules/inttypes).
29059
29060 2007-10-06  Bruno Haible  <bruno@clisp.org>
29061
29062         * modules/trunc (Dependencies): Add 'extensions'.
29063         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
29064         Reported by Ben Pfaff <blp@gnu.org>.
29065
29066 2007-10-06  Bruno Haible  <bruno@clisp.org>
29067
29068         * modules/freopen-tests: New file.
29069         * tests/test-freopen.c: New file.
29070
29071         * modules/fopen-tests: New file.
29072         * tests/test-fopen.c: New file.
29073
29074         * modules/fopen: New file.
29075         * lib/fopen.c: New file.
29076         * m4/fopen.m4: New file.
29077         * modules/freopen: New file.
29078         * lib/freopen.c: New file.
29079         * m4/freopen.m4: New file.
29080         * lib/stdio.in.h (fopen, freopen): New declarations.
29081         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
29082         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29083         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
29084         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29085         * doc/functions/fopen.texi: Mention the 'fopen' module.
29086         * doc/functions/freopen.texi: Mention the 'freopen' module.
29087
29088 2007-10-06  Bruno Haible  <bruno@clisp.org>
29089
29090         * modules/open-tests: New file.
29091         * tests/test-open.c: New file.
29092
29093         * modules/open: New file.
29094         * lib/open.c: New file.
29095         * m4/open.m4: New file.
29096         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
29097         lib/open.c does.
29098         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
29099         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
29100         macros.
29101         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
29102         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
29103         REPLACE_OPEN.
29104         * doc/functions/open.texi: Mention the 'open' module.
29105
29106 2007-10-04  Bruno Haible  <bruno@clisp.org>
29107
29108         * modules/ceill-tests: New file.
29109         * tests/test-ceill.c: New file.
29110
29111         * modules/ceill: New file.
29112         * lib/ceill.c: Replace entire file.
29113         * m4/ceill.m4: New file.
29114         * lib/math.in.h (ceill): Replace declaration.
29115         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
29116         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
29117         * doc/functions/ceill.texi: Mention the 'ceill' module.
29118         * modules/mathl (Files): Remove lib/ceill.c.
29119         (Depends-on): Add ceill.
29120
29121 2007-10-04  Bruno Haible  <bruno@clisp.org>
29122
29123         * modules/ceilf-tests: New file.
29124         * tests/test-ceilf.c: New file.
29125
29126         * modules/ceilf: New file.
29127         * lib/ceil.c: New file.
29128         * lib/ceilf.c: New file.
29129         * m4/ceilf.m4: New file.
29130         * lib/math.in.h (ceilf): New declaration.
29131         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
29132         HAVE_DECL_CEILF.
29133         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
29134         HAVE_DECL_CEILF.
29135         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
29136
29137 2007-10-04  Bruno Haible  <bruno@clisp.org>
29138
29139         * modules/floorl-tests: New file.
29140         * tests/test-floorl.c: New file.
29141
29142         * modules/floorl: New file.
29143         * lib/floorl.c: Replace entire file.
29144         * m4/floorl.m4: New file.
29145         * lib/math.in.h (floorl): Replace declaration.
29146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
29147         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
29148         * doc/functions/floorl.texi: Mention the 'floorl' module.
29149         * modules/mathl (Files): Remove lib/floorl.c.
29150         (Depends-on): Add floorl.
29151
29152 2007-10-04  Bruno Haible  <bruno@clisp.org>
29153
29154         * modules/floorf-tests: New file.
29155         * tests/test-floorf.c: New file.
29156
29157         * modules/floorf: New file.
29158         * lib/floor.c: New file.
29159         * lib/floorf.c: New file.
29160         * m4/floorf.m4: New file.
29161         * lib/math.in.h (floorf): New declaration.
29162         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
29163         HAVE_DECL_FLOORF.
29164         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
29165         HAVE_DECL_FLOORF.
29166         * doc/functions/floorf.texi: Mention the 'floorf' module.
29167
29168 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
29169             Bruno Haible  <bruno@clisp.org>
29170
29171         Advertise for the Git server instead of the CVS server.
29172         * doc/gnulib-intro.texi (Steady Development): Mention the Git
29173         repository instead of the CVS one.
29174         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
29175         about all VCS systems generically.
29176         * doc/gnulib.texi (Introduction): Capitalize `Git'.
29177
29178 2007-10-04  Bruno Haible  <bruno@clisp.org>
29179
29180         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
29181         means.
29182         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
29183
29184 2007-10-04  Bruno Haible  <bruno@clisp.org>
29185
29186         * modules/truncl-tests: New file.
29187         * tests/test-truncl.c: New file.
29188
29189         * modules/truncl: New file.
29190         * lib/truncl.c: New file.
29191         * m4/truncl.m4: New file.
29192         * lib/math.in.h (truncl): New declaration.
29193         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
29194         HAVE_DECL_TRUNCL.
29195         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
29196         HAVE_DECL_TRUNCL.
29197         * doc/functions/truncl.texi: Mention the 'truncl' module.
29198
29199 2007-10-04  Bruno Haible  <bruno@clisp.org>
29200
29201         * modules/truncf-tests: New file.
29202         * tests/test-truncf.c: New file.
29203
29204         * modules/truncf: New file.
29205         * lib/trunc.c: Make paramerizable through USE_* macros.
29206         * lib/truncf.c: New file.
29207         * m4/truncf.m4: New file.
29208         * lib/math.in.h (truncf): New declaration.
29209         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
29210         HAVE_DECL_TRUNCF.
29211         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
29212         HAVE_DECL_TRUNCF.
29213         * doc/functions/truncf.texi: Mention the 'truncf' module.
29214
29215 2007-10-03  Bruno Haible  <bruno@clisp.org>
29216
29217         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29218         augmentation also for tests modules.
29219         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
29220         * modules/atexit-tests (Makefile.am): Likewise.
29221         * modules/binary-io-tests (Makefile.am): Likewise.
29222         * modules/c-strcase-tests (Makefile.am): Likewise.
29223         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
29224         * modules/canonicalize-tests (Makefile.am): Likewise.
29225         * modules/closein-tests (Makefile.am): Likewise.
29226         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29227         * modules/freadahead-tests (Makefile.am): Likewise.
29228         * modules/fseek-tests (Makefile.am): Likewise.
29229         * modules/fseeko-tests (Makefile.am): Likewise.
29230         * modules/ftell-tests (Makefile.am): Likewise.
29231         * modules/ftello-tests (Makefile.am): Likewise.
29232         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
29233         * modules/isnanl-tests (Makefile.am): Likewise.
29234         * modules/lseek-tests (Makefile.am): Likewise.
29235         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29236         * modules/mbscasestr-tests (Makefile.am): Likewise.
29237         * modules/mbschr-tests (Makefile.am): Likewise.
29238         * modules/mbscspn-tests (Makefile.am): Likewise.
29239         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29240         * modules/mbspbrk-tests (Makefile.am): Likewise.
29241         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29242         * modules/mbsrchr-tests (Makefile.am): Likewise.
29243         * modules/mbsspn-tests (Makefile.am): Likewise.
29244         * modules/mbsstr-tests (Makefile.am): Likewise.
29245         * modules/printf-posix-tests (Makefile.am): Likewise.
29246         * modules/snprintf-posix-tests (Makefile.am): Likewise.
29247         * modules/sprintf-posix-tests (Makefile.am): Likewise.
29248         * modules/tsearch-tests (Makefile.am): Likewise.
29249         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29250         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29251         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29252         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29253         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29254         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29255         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29256         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29257         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
29258         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
29259         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29260         * modules/xstrtol-tests (Makefile.am): Likewise.
29261         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29262         * modules/yesno-tests (Makefile.am): Likewise.
29263
29264 2007-10-03  Bruno Haible  <bruno@clisp.org>
29265
29266         * modules/trunc-tests: New file.
29267         * tests/test-trunc.c: New file.
29268
29269         * modules/trunc: New file.
29270         * lib/trunc.c: New file.
29271         * m4/trunc.m4: New file.
29272         * lib/math.in.h (trunc): New declaration.
29273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
29274         HAVE_DECL_TRUNC.
29275         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
29276         HAVE_DECL_TRUNC.
29277         * doc/functions/trunc.texi: Mention the 'trunc' module.
29278
29279 2007-10-03  Bruno Haible  <bruno@clisp.org>
29280
29281         * tests/test-fpending.c: New file, mostly copied
29282         from coreutils/lib/t-fpending.c.
29283         * modules/fpending-tests: New file.
29284
29285 2007-10-03  Bruno Haible  <bruno@clisp.org>
29286
29287         Port the stdio extensions to QNX (untested).
29288         * lib/fseterr.c (fseterr): Add support for QNX.
29289         * lib/fbufmode.c (fbufmode): Likewise.
29290         * lib/freadable.c (freadable): Likewise.
29291         * lib/fwritable.c (fwritable): Likewise.
29292         * lib/freading.c (freading): Likewise.
29293         * lib/fwriting.c (fwriting): Likewise.
29294         * lib/freadahead.c (freadahed): Likewise.
29295         * lib/fpurge.c (fpurge): Likewise.
29296         * lib/fseeko.c (rpl_fseeko): Likewise.
29297
29298 2007-10-03  Bruno Haible  <bruno@clisp.org>
29299             Jim Meyering  <jim@meyering.net>
29300             Eric Blake  <ebb9@byu.net>
29301
29302         * doc/relocatable.texi: Use @command instead of @program.
29303
29304 2007-10-02  Jim Meyering  <jim@meyering.net>
29305
29306         Perform one more "_.h" -> ".in.h" substitution.
29307         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
29308         instead of unistd_.h here, too.
29309
29310 2007-10-01  Bruno Haible  <bruno@clisp.org>
29311
29312         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
29313         Needed for the alloca-opt module.
29314
29315 2007-09-30  Bruno Haible  <bruno@clisp.org>
29316
29317         * lib/alloca.in.h: Renamed from lib/alloca_.h.
29318         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
29319         alloca_.h.
29320         * lib/argz.in.h: Renamed from lib/argz_.h.
29321         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
29322         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
29323         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
29324         byteswap_.h.
29325         * lib/dirent.in.h: Renamed from lib/dirent_.h.
29326         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
29327         dirent_.h.
29328         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
29329         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
29330         fcntl_.h.
29331         * lib/float.in.h: Renamed from lib/float_.h.
29332         * modules/float (Files, Makefile.am): Use float.in.h instead of
29333         float_.h.
29334         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
29335         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
29336         fnmatch_.h.
29337         * lib/getopt.in.h: Renamed from lib/getopt_.h.
29338         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
29339         getopt_.h.
29340         * lib/glob.in.h: Renamed from lib/glob_.h.
29341         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
29342         * lib/iconv.in.h: Renamed from lib/iconv_.h.
29343         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
29344         iconv_.h.
29345         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
29346         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
29347         inttypes_.h.
29348         * lib/locale.in.h: Renamed from lib/locale_.h.
29349         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
29350         locale_.h.
29351         * lib/math.in.h: Renamed from lib/math_.h.
29352         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
29353         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
29354         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
29355         of netinet_in_.h. Add dependency.
29356         * lib/poll.in.h: Renamed from lib/poll_.h.
29357         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
29358         * lib/search.in.h: Renamed from lib/search_.h.
29359         * modules/search (Files, Makefile.am): Use search.in.h instead of
29360         search_.h.
29361         * lib/signal.in.h: Renamed from lib/signal_.h.
29362         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
29363         _signal.h.
29364         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
29365         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
29366         stdbool_.h.
29367         * lib/stdint.in.h: Renamed from lib/stdint_.h.
29368         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
29369         stdint_.h.
29370         * lib/stdio.in.h: Renamed from lib/stdio_.h.
29371         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
29372         stdio_.h.
29373         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
29374         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
29375         stdlib_.h.
29376         * lib/string.in.h: Renamed from lib/string_.h.
29377         * modules/string (Files, Makefile.am): Use string.in.h instead of
29378         string_.h.
29379         * doc/gnulib-tool.texi (Initial import): Update.
29380         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
29381         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
29382         of sys_select_.h. Add dependency.
29383         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
29384         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
29385         of sys_socket_.h.
29386         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
29387         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
29388         sys_stat_.h.
29389         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
29390         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
29391         sys_time_.h.
29392         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
29393         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
29394         sysexits_.h.
29395         * lib/time.in.h: Renamed from lib/time_.h.
29396         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
29397         * lib/unistd.in.h: Renamed from lib/unistd_.h.
29398         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
29399         unistd_.h.
29400         * lib/wchar.in.h: Renamed from lib/wchar_.h.
29401         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
29402         wchar_.h.
29403         * lib/wctype.in.h: Renamed from lib/wctype_.h.
29404         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
29405         wctype_.h.
29406         * build-aux/bootstrap (slurp): Update.
29407         * lib/.cppi-disable: Update.
29408
29409 2007-09-30  Bruno Haible  <bruno@clisp.org>
29410
29411         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
29412         Needed on BeOS.
29413
29414 2007-09-30  Bruno Haible  <bruno@clisp.org>
29415
29416         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
29417
29418 2007-09-29  Bruno Haible  <bruno@clisp.org>
29419
29420         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
29421
29422 2007-09-29  Bruno Haible  <bruno@clisp.org>
29423
29424         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
29425         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
29426         * build-aux/install-reloc: Compile also areadlink.c.
29427         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
29428
29429 2007-09-29  Bruno Haible  <bruno@clisp.org>
29430
29431         * gnulib-tool (func_emit_initmacro_done): Indentation.
29432
29433 2007-09-29  Bruno Haible  <bruno@clisp.org>
29434
29435         * README: Add CVS checkout update instructions.
29436         Info from Bob Proulx <bob@proulx.com>.
29437
29438 2007-09-28  Eric Blake  <ebb9@byu.net>
29439
29440         Provide move-if-change.
29441         * build-aux/move-if-change: New file, based on best practice
29442         rather than any canonical upstream location.
29443
29444 2007-09-28  Jim Meyering  <jim@meyering.net>
29445
29446         Fix canonicalize loop-detection corner case.
29447         Do not attempt to stat the symlink values stored via seen_triple.
29448         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
29449         on linux-2.6.18, (but not 2.6.22).
29450         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
29451         triple_compare.  The former compares dev,ino,filename, while the latter
29452         would actually stat dirname(filename) when dev and ino were equal.
29453         * lib/hash-triple.c: Install <string.h>.
29454         (STREQ): Define.
29455         (triple_compare_ino_str): New function.
29456         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
29457
29458 2007-09-28  Eric Blake  <ebb9@byu.net>
29459
29460         Enforce that AC_REPLACE_FUNCS files exist.
29461         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
29462         override check for typos.
29463
29464         Fix test-closein on Solaris 10.
29465         * tests/test-closein.c (main): Don't assume stdin can be inherited
29466         closed on all systems.
29467         * tests/test-closein.sh: Likewise.
29468         Reported by Piotr Tarnowski.
29469
29470 2007-09-28  Jim Meyering  <jim@meyering.net>
29471
29472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
29473
29474 2007-09-27  Jim Meyering  <jim@meyering.net>
29475
29476         canonicalize: Avoid a false-positive cycle failure.
29477         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
29478         Sort.  Remove cycle-check.
29479         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
29480         not cycle-check.h.
29481         (seen_triple): New function.
29482         (canonicalize_filename_mode): Use it instead of cycle-check.
29483         * tests/test-canonicalize.c: Add a test for this bug.
29484         * tests/test-canonicalize.sh: Set up and run the test.
29485
29486         New module, file-set, from coreutils.
29487         * modules/file-set: Define it.
29488         * lib/file-set.c, lib/file-set.h: Implement.
29489
29490         New module, hash-triple, from coreutils.
29491         * modules/hash-triple: Define it.
29492         * lib/hash-triple.c, lib/hash-triple.h: Implement.
29493
29494 2007-09-25  Eric Blake  <ebb9@byu.net>
29495
29496         Fix strerror on Interix.
29497         * lib/string_.h (strerror): Declare replacement.
29498         * doc/functions/strerror.texi (strerror): Document the Interix
29499         shortcoming.
29500         * modules/string (Makefile.am): Support new hooks.
29501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
29502         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
29503         gl_FUNC_STRERROR_SEPARATE.
29504         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
29505         * lib/strerror.c (rpl_strerror): Provide replacement.
29506         * modules/strerror (Depends-on): Add string.
29507         (configure.ac): Detect use of module.
29508         * tests/test-strerror.c: New file.
29509         * modules/strerror-tests: New test module.
29510         * modules/argp (Depends-on): Add strerror.
29511         * modules/error (Depends-on): Likewise.
29512         Reported by Martin Koeppe.
29513
29514 2007-09-24  Bruno Haible  <bruno@clisp.org>
29515
29516         * README: Update git instructions.
29517
29518 2007-09-24  Eric Blake  <ebb9@byu.net>
29519
29520         Revert fpending breakage from 2007-09-08.
29521         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
29522         __fpending.c.
29523
29524 2007-09-24  Jim Meyering  <jim@meyering.net>
29525
29526         filenamecat.c: Add a test.
29527         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
29528         showing how the function works when DIR is the empty string.
29529
29530 2007-09-21  Simon Josefsson  <simon@josefsson.org>
29531
29532         * tests/test-canonicalize.sh: Turn on executable bit.
29533
29534 2007-09-19  Eric Blake  <ebb9@byu.net>
29535
29536         * README: Update CVS instructions.
29537
29538 2007-09-18  Bruno Haible  <bruno@clisp.org>
29539
29540         * modules/areadlink: New file.
29541         * lib/areadlink.h (areadlink): New declaration.
29542         * lib/areadlink.c: New file, based on lib/xreadlink.c.
29543
29544 2007-09-17  Jim Meyering  <jim@meyering.net>
29545
29546         * lib/savewd.c (ESTALE) [!defined]: Define.
29547         Reported to be required on Interix by Martin Koeppe.
29548
29549 2007-09-17  Bruno Haible  <bruno@clisp.org>
29550
29551         * gnulib-tool (func_version): Use $version.
29552
29553 2007-09-16  Bruno Haible  <bruno@clisp.org>
29554
29555         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
29556         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
29557         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
29558         Reported by Greg Schafer <gschafer@zip.com.au>.
29559
29560 2007-09-15  Bruno Haible  <bruno@clisp.org>
29561
29562         * gnulib-tool (sed): Try a little harder to make bash understand the
29563         alias.
29564         Reported by Bruce Korb <bruce.korb@gmail.com>.
29565
29566 2007-09-13  Eric Blake  <ebb9@byu.net>
29567
29568         * ChangeLog: Remove conflict markers.
29569
29570 2007-09-13  Simon Josefsson  <simon@josefsson.org>
29571
29572         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
29573         Reported by Bruno Haible <bruno@clisp.org>.
29574
29575 2007-09-12  Bruno Haible  <bruno@clisp.org>
29576
29577         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
29578         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
29579         is not defined.
29580
29581 2007-09-12  Eric Blake  <ebb9@byu.net>
29582
29583         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
29584         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
29585         Autoconf definition.
29586         * modules/euidaccess (Depends-on): Add extensions, for
29587         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
29588         * modules/fnmatch (Depends-on): Likewise.
29589         * modules/getaddrinfo (Depends-on): Likewise.
29590         * modules/getdelim (Depends-on): Likewise.
29591         * modules/getline (Depends-on): Likewise.
29592         * modules/getsubopt (Depends-on): Likewise.
29593         * modules/gettext (Depends-on): Likewise.
29594         * modules/group-member (Depends-on): Likewise.
29595         * modules/mbchar (Depends-on): Likewise.
29596         * modules/memmem (Depends-on): Likewise.
29597         * modules/mempcpy (Depends-on): Likewise.
29598         * modules/memrchr (Depends-on): Likewise.
29599         * modules/pagealign_alloc (Depends-on): Likewise.
29600         * modules/readutmp (Depends-on): Likewise.
29601         * modules/stpcpy (Depends-on): Likewise.
29602         * modules/stpncpy (Depends-on): Likewise.
29603         * modules/strchrnul (Depends-on): Likewise.
29604         * modules/strndup (Depends-on): Likewise.
29605         * modules/strsep (Depends-on): Likewise.
29606         * modules/strverscmp (Depends-on): Likewise.
29607         * modules/vasprintf (Depends-on): Likewise.
29608         * modules/wcwidth (Depends-on): Likewise.
29609         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
29610         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
29611         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
29612         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
29613         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29614         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29615         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
29616         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
29617         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
29618         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
29619         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29620         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
29621         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
29622         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
29623         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
29624         * m4/readutmp.m4 (gl_READUTMP): Likewise.
29625         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29626         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
29627         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29628         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
29629         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29630         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
29631         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
29632         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
29633         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
29634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
29635         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
29636         so that lock.m4 can be used in gettext without extensions module.
29637
29638 2007-09-11  Bruno Haible  <bruno@clisp.org>
29639
29640         * m4/isc-posix.m4: Remove file.
29641         Suggested by Eric Blake.
29642
29643 2007-09-11  Eric Blake  <ebb9@byu.net>
29644
29645         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
29646
29647 2007-09-10  Bruno Haible  <bruno@clisp.org>
29648
29649         * posix-modules: Fix typo in error message.
29650         Reported by Matt <mkraai@beckman.com>.
29651
29652 2007-09-09  Bruno Haible  <bruno@clisp.org>
29653
29654         * doc/functions/getdelim.texi: Update list of platforms lacking the
29655         function.
29656         * doc/functions/getline.texi: Likewise.
29657
29658 2007-09-09  Jim Meyering  <jim@meyering.net>
29659
29660         * lib/hash.c (hash_initialize): Detect calloc failure.
29661         Reported by Bruno Haible.
29662
29663 2007-09-09  Bruno Haible  <bruno@clisp.org>
29664
29665         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
29666         malloc or realloc fails.
29667
29668 2007-09-09  Bruno Haible  <bruno@clisp.org>
29669
29670         * modules/getcwd (Depends-on): Add malloc-posix.
29671         * modules/glob (Depends-on): Likewise.
29672         * modules/putenv (Depends-on): Likewise.
29673         * modules/strdup (Depends-on): Likewise.
29674         * modules/getdelim (Depends-on): Add realloc-posix.
29675         * modules/read-file (Depends-on): Likewise.
29676
29677 2007-09-09  Bruno Haible  <bruno@clisp.org>
29678
29679         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
29680         (gl_FUNC_MALLOC_POSIX): Require it.
29681         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
29682         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
29683         * modules/realloc (Files): Add m4/malloc.m4.
29684         * modules/calloc (Files): Likewise.
29685
29686 2007-09-09  Bruno Haible  <bruno@clisp.org>
29687
29688         * modules/malloc-posix: New file.
29689         * modules/malloc (Depends-on): Add malloc-posix.
29690         * lib/malloc.c: Include errno.h.
29691         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
29692         and a POSIX-compatible malloc into a single function. Set ENOMEM
29693         when returning NULL.
29694         * m4/malloc.m4: New file.
29695         * doc/functions/malloc.texi: Mention the malloc-posix module.
29696         * lib/stdlib_.h (malloc): New declaration.
29697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29698         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
29699         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
29700         and HAVE_MALLOC_POSIX.
29701
29702 2007-09-09  Bruno Haible  <bruno@clisp.org>
29703
29704         * modules/realloc-posix: New file.
29705         * modules/realloc (Depends-on): Add realloc-posix.
29706         * lib/realloc.c: Include errno.h.
29707         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
29708         and a POSIX-compatible realloc into a single function. Set ENOMEM
29709         when returning NULL.
29710         * m4/realloc.m4: New file.
29711         * doc/functions/realloc.texi: Mention the realloc-posix module.
29712         * lib/stdlib_.h (realloc): New declaration.
29713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29714         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
29715         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
29716         and HAVE_REALLOC_POSIX.
29717
29718 2007-09-09  Bruno Haible  <bruno@clisp.org>
29719
29720         * modules/calloc-posix: New file.
29721         * modules/calloc (Depends-on): Add calloc-posix.
29722         * lib/calloc.c: Include errno.h.
29723         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
29724         and a POSIX-compatible calloc into a single function. Set ENOMEM
29725         when returning NULL.
29726         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
29727         * doc/functions/calloc.texi: Mention the calloc-posix module.
29728         * lib/stdlib_.h (calloc): New declaration.
29729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29730         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
29731         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
29732         and HAVE_CALLOC_POSIX.
29733
29734 2007-09-09  Bruno Haible  <bruno@clisp.org>
29735
29736         Allow for modules to show an arbitrary notice.
29737         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
29738         * gnulib-tool: New option --extract-notice.
29739         (func_usage): Document it.
29740         (sed_extract_prog): Update.
29741         (func_get_notice): New function.
29742         (func_modules_notice): New function.
29743         (func_import, func_create_testdir): Invoke it.
29744         Suggested by Jim Meyering.
29745
29746 2007-09-09  Bruno Haible  <bruno@clisp.org>
29747
29748         * gnulib-tool: New options --verbose, --quiet.
29749         (func_usage): Document them.
29750         (verbose): New variable.
29751         (func_execute_command): New function.
29752         (func_import): Don't show the module list and the file list if
29753         $verbose < 0.
29754         (func_create_testdir): Likewise. Use func_execute_command.
29755         (func_create_megatestdir): Use func_execute_command.
29756
29757 2007-09-08  Bruno Haible  <bruno@clisp.org>
29758
29759         * gnulib-tool (func_import): Prefer rsync over wget when available,
29760         for fetching the PO files.
29761
29762 2007-09-08  Bruno Haible  <bruno@clisp.org>
29763
29764         * posix-modules: New file. Portions copied from gnulib-tool.
29765         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
29766
29767 2007-09-08  Jim Meyering  <jim@meyering.net>
29768
29769         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
29770         * lib/fpending.h: Rename from __fpending.h.
29771         * lib/fpending.c: Rename from __fpending.c.
29772         Include "fpending.h", not "__fpending.h".
29773         * lib/__fpending.h, lib/__fpending.c: Remove files.
29774         * modules/fpending (Files): Reflect new file names.
29775         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
29776
29777 2007-09-08  Bruno Haible  <bruno@clisp.org>
29778
29779         * m4/inttypes-h.m4: Remove stub file.
29780
29781 2007-09-07  Simon Josefsson  <simon@josefsson.org>
29782
29783         * doc/headers/stdint.texi: Discuss #include_next issue.
29784
29785 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
29786
29787         * build-aux/bootstrap: Remove obsolete comment about wget --help.
29788
29789 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29790
29791         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
29792         in variable name.
29793
29794 2007-09-03  Jim Meyering  <jim@meyering.net>
29795
29796         New module: git-version-gen.
29797         * modules/git-version-gen: New file.
29798
29799         Import changes from coreutils for bootstrap script.
29800
29801         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
29802
29803         bootstrap: uses rsync to download the .po files
29804         * build-aux/bootstrap (po_download_command_format): New global.
29805         (download_po_files): Use rsync.
29806         (update_po_files): Don't remove .po files after download,
29807         so future rsync runs can take advantage of the copies.
29808
29809         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
29810
29811         Solve the unnecessary-.po-file-regeneration problem once and for all.
29812         * build-aux/bootstrap (download_po_files): New function, renamed from
29813         get_translations.  Now, downloads, but doesn't update LINGUAS.
29814         (update_po_files): New function.
29815
29816         bootstrap: Ignore more.
29817         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
29818         uniwidth to e.g., lib/.gitignore.
29819         (slurp): Handle the sys_stat_.h -> sys mapping, too.
29820
29821         * build-aux/bootstrap: New setting: vc_ignore.
29822         (insert_sorted_if_absent): Create $file if absent.
29823         Adapt to new, possibly empty, list: $vc_ignore.
29824
29825         bootstrap: generate more ignorable names
29826         * build-aux/bootstrap (slurp): When generating ignorable names,
29827         also map .sin to .sed, .gperf to .c, and .y to .c.
29828
29829 2007-09-03  Jim Meyering  <jim@meyering.net>
29830
29831         * build-aux/git-version-gen: New file, from coreutils.  For details, see
29832         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
29833
29834 2007-09-02  Bruno Haible  <bruno@clisp.org>
29835
29836         Fix mis-recognition of 'mcs' on QNX 6.
29837         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
29838         output contains the string "Mono".
29839         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
29840         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
29841
29842 2007-09-01  Bruno Haible  <bruno@clisp.org>
29843
29844         Fix collision between uniwidth/* and linebreak modules.
29845         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
29846         u32_width): Remove declarations.
29847         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
29848         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
29849         streq3, streq2, streq1, streq0): Remove functions.
29850         (STREQ): Remove macro.
29851         (is_cjk_encoding): Remove function.
29852         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
29853         (uc_width, u8_width, u16_width, u32_width): Remove functions.
29854         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
29855         * NEWS: Document the change.
29856
29857 2007-09-01  Bruno Haible  <bruno@clisp.org>
29858
29859         * lib/streq.h: Add double-inclusion guard.
29860
29861 2007-09-01  Karl Berry  <karl@gnu.org>
29862
29863         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
29864
29865 2007-08-28  Jim Meyering  <jim@meyering.net>
29866
29867         Rename mreadlink_with_size to areadlink_with_size.
29868         * NEWS: Document the change.
29869         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
29870         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
29871         * lib/mreadlink.h: Rename this to...
29872         * lib/areadlink.h: ...this.
29873         * modules/mreadlink-with-size: Rename this to...
29874         * modules/areadlink-with-size: ...this.
29875         * lib/canonicalize.c: Reflect the renaming.
29876         * modules/canonicalize: Likewise.
29877
29878 2007-08-26  Bruno Haible  <bruno@clisp.org>
29879
29880         * gnulib-tool (func_import): When deciding which files to remove,
29881         consider also dangling symbolic links.
29882         Reported by Eric Blake.
29883
29884 2007-08-26  Bruno Haible  <bruno@clisp.org>
29885
29886         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
29887
29888 2007-08-23  Simon Josefsson  <simon@josefsson.org>
29889
29890         * lib/readline.c: Don't include getline.h, the prototype is now
29891         found in stdio.h.
29892
29893 2007-08-23  Jim Meyering  <jim@meyering.net>
29894
29895         Getdelim touchup.
29896         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
29897         around the funlockfile call, since funlockfile never sets errno.
29898         Don't set errno upon failed realloc.
29899
29900 2007-08-22  Eric Blake  <ebb9@byu.net>
29901
29902         Getline touchups.
29903         * lib/getdelim.c (getdelim): Revert regression that required *n to
29904         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
29905         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
29906         getdelim, rather than whether implementation is missing.
29907         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
29908         * lib/stdio_.h (getline): Also declare if replacement is
29909         required.
29910         * doc/functions/getdelim.texi: New file.
29911         * doc/functions/getline.texi: Likewise.
29912         * doc/gnulib.texi (Function Substitutes): Add new files.
29913         Reported by Bruno Haible.
29914
29915 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
29916
29917         * users.txt: Add Guile.
29918
29919 2007-08-22  Eric Blake  <ebb9@byu.net>
29920
29921         * tests/test-getdelim.c (main): Use remove, not unlink.
29922         * tests/test-getline.c (main): Likewise.
29923
29924         Move getline and getdelim into stdio.h, per POSIX 200x.
29925         * modules/getline (Files): Remove getline.h.
29926         (Depends-on): Add stdio.
29927         (configure.ac): Add module indicator.
29928         * modules/getdelim (Files): Remove getdelim.h.
29929         (Depends-on): Add stdio.
29930         (configure.ac): Add module indicator.
29931         * modules/stdio (Makefile.am): Work with new indicators.
29932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
29933         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
29934         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29935         * lib/getdelim.h: Delete.
29936         * lib/getline.h: Delete.
29937         * lib/stdio_.h (getdelim, getline): Declare.
29938         * modules/getdelim-tests: New module.
29939         * modules/getline-tests: Likewise.
29940         * tests/test-getdelim.c: New file.
29941         * tests/test-getline.c: Likewise.
29942         * NEWS: Document the change.
29943         * lib/getline.c: Update choice of header.
29944         * lib/csharpcomp.c: Likewise.
29945         * lib/getpass.c: Likewise.
29946         * lib/javacomp.c: Likewise.
29947         * lib/javaversion.c: Likewise.
29948         * lib/yesno.c: Likewise.
29949         * lib/getdelim.c: Likewise.
29950         (getdelim): Set errno on failure, and avoid memory leak.
29951
29952 2007-08-19  Bruno Haible  <bruno@clisp.org>
29953
29954         * modules/closein (Depends-on): Add freadahead.
29955         * lib/closein.c: Include freadahead.h.
29956         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
29957         is zero.
29958
29959 2007-08-19  Bruno Haible  <bruno@clisp.org>
29960
29961         * modules/freadahead-tests: New file.
29962         * tests/test-freadahead.sh: New file.
29963         * tests/test-freadahead.c: New file.
29964
29965         * modules/freadahead: New file.
29966         * lib/freadahead.h: New file.
29967         * lib/freadahead.c: New file.
29968         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
29969         fbufmode, fpurge, freadable, fwritable.
29970
29971 2007-08-19  Eric Blake  <ebb9@byu.net>
29972
29973         Test yesno in combination with closein.
29974         * lib/yesno.c (yesno): Document use of stdin.
29975         * modules/yesno-tests (Files): New module.
29976         * tests/test-yesno.c (main): New file.
29977         * tests/test-yesno.sh: Likewise.
29978
29979 2007-08-19  Bruno Haible  <bruno@clisp.org>
29980
29981         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
29982         * lib/fseeko.c (rpl_fseeko): Likewise.
29983         * lib/fseterr.c (fseterr): Likewise.
29984
29985 2007-08-19  Bruno Haible  <bruno@clisp.org>
29986
29987         * tests/test-lseek.c (main): Disable a test for BeOS.
29988         * doc/functions/lseek.texi: Document the BeOS bug.
29989
29990 2007-08-19  Bruno Haible  <bruno@clisp.org>
29991             Eric Blake  <ebb9@byu.net>
29992
29993         * lib/lseek.c: Include <sys/stat.h>.
29994         (rpl_lseek): Add workaround code also for Unix platforms.
29995         Needed for BeOS.
29996         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
29997         * doc/functions/lseek.texi: Document BeOS definiency.
29998
29999 2007-08-18  Bruno Haible  <bruno@clisp.org>
30000
30001         * modules/fstrcmp-tests: New file.
30002         * tests/test-fstrcmp.c: New file.
30003
30004 2007-08-18  Bruno Haible  <bruno@clisp.org>
30005
30006         * modules/fstrcmp: New file, from GNU gettext with modifications.
30007         * lib/fstrcmp.h: New file, from GNU gettext.
30008         * lib/fstrcmp.c: New file, from GNU gettext.
30009         * MODULES.html.sh (String handling): Add fstrcmp.
30010
30011 2007-08-18  Bruno Haible  <bruno@clisp.org>
30012
30013         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
30014         'bool'.
30015         (diag, compareseq): Remove const from the ctxt argument.
30016         (USE_HEURISTIC): Undefine at the end.
30017
30018 2007-08-18  Jim Meyering  <jim@meyering.net>
30019
30020         New file: lib/idcache.h
30021         * NEWS: Mention the addition.
30022         * modules/idcache (Files): Add lib/idcache.h
30023         * lib/idcache.c: Include "idcache.h".
30024         Don't include <sys/types.h>.
30025         Add a FIXME comment.
30026         Move file-scoped "static" declarations to the top.
30027         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
30028
30029 2007-08-17  Bruno Haible  <bruno@clisp.org>
30030         and Paul Eggert  <eggert@cs.ucla.edu>
30031
30032         * MODULES.html.sh: Add diffseq.
30033         * modules/diffseq: New file.
30034         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
30035         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
30036
30037 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30038
30039         Import changes from coreutils for bootstrap script.
30040
30041         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
30042
30043         * build-aux/bootstrap (slurp): Work even in environments where
30044         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
30045         current code does not slurp files whose names start with ".", and
30046         this looks like it might be a troublesome area.
30047
30048         2007-07-11  Jim Meyering  <jim@meyering.net>
30049
30050         If there's a GPL vN copyright comment, require that N == 3.
30051
30052         2007-07-08  Jim Meyering  <jim@meyering.net>
30053
30054         Run the coreutils-specific code only if tests/Makefile.am.in exists.
30055         * build-aux/bootstrap (mam_template): Move definition out of loop.
30056
30057         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
30058
30059         * build-aux/bootstrap (symlink_to_dir): Rename function from
30060         symlink_to_gnulib.  Add a directory parameter.  Update all
30061         callers.
30062         (cp_mark_as_generated): Also check for -- and link to -- files in
30063         gl/.
30064
30065         2007-07-08  Jim Meyering  <jim@meyering.net>
30066
30067         Adapt to deeper hierarchy in gnulib.
30068         * build-aux/bootstrap (symlink_to_dir): If the destination
30069         directory doesn't exist, create it. This is required at least for
30070         "lib/uniwidth/cjk.h".
30071
30072         2007-05-15  Jim Meyering  <jim@meyering.net>
30073
30074         * build-aux/bootstrap: Now that generated Makefile.am files
30075         are no longer under version control, they must be created at
30076         bootstrap time.
30077
30078 2007-08-14  Ben Pfaff  <blp@gnu.org>
30079
30080         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
30081
30082 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30083
30084         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
30085         given the changes below.
30086         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
30087         even on hosts that have padding bits beyond the supported 64.
30088
30089 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30090
30091         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
30092         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
30093         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
30094         depends on it.
30095         (xstrtol_error): Remove.
30096         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
30097         but with a different signature.
30098         (ATTRIBUTE_NORETURN, __attribute__): New macros.
30099         * lib/xstrtol-error.c: Include exitfail.h.
30100         (xstrtol_fatal): New function, with a different signature from the
30101         old xstrtol_error, so that the caller need not worry about passing
30102         in an exit status, or about storage management of the option argument.
30103         (xstrtol_error): Now a static function.  Redo signature to
30104         implement xstrtol_fatal.  Output the correct number of hyphens in
30105         front of the option so that the caller need not worry about
30106         storage management.
30107         (N_): New macro.
30108         (_): Remove; not used now.
30109         * modules/xstrtol: Depend on getopt.
30110         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
30111         of old STRTOL_FATAL_ERROR macro.
30112         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
30113         of test program.
30114         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
30115         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
30116
30117 2007-08-08  Eric Blake  <ebb9@byu.net>
30118
30119         * lib/xstrtol-error.c: Add missing include.
30120
30121         Move xstrtol messages into gnulib domain, when --pobase is used.
30122         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
30123         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
30124         * modules/xstrtol (Files): Distribute new file.
30125         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
30126         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
30127         * tests/test-xstrtol.c: ...into new file.
30128         * tests/test-xstrtoul.c: Also test xstrtoul.
30129         * tests/test-xstrtoimax.c: Also test xstrtoimax.
30130         * tests/test-xstrtoumax.c: Also test xstrtoumax.
30131         * tests/test-xstrtol.sh: Drive the tests.
30132         * tests/test-xstrtoimax.sh: Likewise.
30133         * tests/test-xstrtoumax.sh: Likewise.
30134         * modules/xstrtol-tests: New module.
30135         * modules/xstrtoimax-tests: Likewise.
30136         * modules/xstrtoumax-tests: Likewise.
30137
30138 2007-08-08  Jim Meyering  <jim@meyering.net>
30139
30140         New function: mfile_name_concat.
30141         * lib/filenamecat.c (mfile_name_concat): New function, just like
30142         file_name_concat, but return NULL upon failure rather than exiting
30143         with a diagnostic.
30144         * lib/filenamecat.h: Declare it.
30145
30146 2007-08-07  Bruno Haible  <bruno@clisp.org>
30147
30148         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
30149         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
30150         warning from gcc.
30151         Reported by Eric Blake.
30152
30153 2007-08-07  Simon Josefsson  <simon@josefsson.org>
30154
30155         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
30156         * modules/crypto/arcfour (License): Likewise.
30157         * modules/crypto/des-tests (License): Likewise.
30158         * modules/crypto/gc-arctwo-tests (License): Likewise.
30159         * modules/crypto/gc-des-tests (License): Likewise.
30160         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
30161         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
30162         * modules/crypto/gc-md2-tests (License): Likewise.
30163         * modules/crypto/gc-md4-tests (License): Likewise.
30164         * modules/crypto/gc-md5-tests (License): Likewise.
30165         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
30166         * modules/crypto/gc-rijndael-tests (License): Likewise.
30167         * modules/crypto/gc-sha1-tests (License): Likewise.
30168         * modules/crypto/gc-tests (License): Likewise.
30169         * modules/crypto/hmac-md5 (License): Likewise.
30170         * modules/crypto/hmac-sha1 (License): Likewise.
30171         * modules/crypto/md2-tests (License): Likewise.
30172         * modules/crypto/md4-tests (License): Likewise.
30173         * modules/crypto/md5 (License): Likewise.
30174         * modules/crypto/rijndael (License): Likewise.
30175         * modules/crypto/sha1 (License): Likewise.
30176         * modules/memxor (License): Likewise.
30177
30178 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30179         and Bruno Haible  <bruno@clisp.org>
30180
30181         * NEWS: Describe interface changes to human, xstrtol.
30182         * lib/human.h: Include <xstrtol.h>.
30183         (human_options): Return enum strtol_error, not int.  Remove
30184         bool arg; take int * instead.
30185         * lib/human.c: Don't include "gettext.h".
30186         (_): Remove; no longer used.
30187         Don't include <xstrtol.h>, since human.h does it.
30188         (human_options): Adjust to abovementioned interface changes.
30189         Do not report error to stderr; that's now the caller's
30190         responsibility.
30191         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
30192         interface change.
30193         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
30194         Str, Argument_type_string.  All uses changed.  Put " argument"
30195         in diagnostics to make them clearer.  Change wording of suffix
30196         message for clarity.
30197         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
30198         Argument_type_string.
30199         (STRTOL_FATAL_WARN): Remove; no longer used.
30200         * modules/human (Depends-on): Remove gettext-h.
30201
30202 2007-08-06  Simon Josefsson  <simon@josefsson.org>
30203
30204         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
30205
30206 2007-07-31  Bruno Haible  <bruno@clisp.org>
30207
30208         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
30209         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
30210         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
30211
30212 2007-07-31  Bruno Haible  <bruno@clisp.org>
30213
30214         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
30215         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
30216
30217 2007-07-30  Bruno Haible  <bruno@clisp.org>
30218
30219         * modules/base64 (License): Use the synonymous term "LGPLv2+".
30220         * modules/c-ctype (License): Likewise.
30221         * modules/c-strcase (License): Likewise.
30222         * modules/check-version (License): Likewise.
30223         * modules/iconv (License): Likewise.
30224         * modules/iconv_open (License): Likewise.
30225         * modules/read-file (License): Likewise.
30226         * modules/striconv (License): Likewise.
30227         * modules/strverscmp (License): Likewise.
30228         * modules/vasprintf (License): Likewise.
30229         * modules/crypto/des (License): Likewise.
30230         * modules/crypto/gc (License): Likewise.
30231         * modules/crypto/gc-arcfour (License): Likewise.
30232         * modules/crypto/gc-arctwo (License): Likewise.
30233         * modules/crypto/gc-des (License): Likewise.
30234         * modules/crypto/gc-hmac-md5 (License): Likewise.
30235         * modules/crypto/gc-hmac-sha1 (License): Likewise.
30236         * modules/crypto/gc-md2 (License): Likewise.
30237         * modules/crypto/gc-md4 (License): Likewise.
30238         * modules/crypto/gc-md5 (License): Likewise.
30239         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
30240         * modules/crypto/gc-random (License): Likewise.
30241         * modules/crypto/gc-rijndael (License): Likewise.
30242         * modules/crypto/gc-sha1 (License): Likewise.
30243         * modules/crypto/md2 (License): Likewise.
30244         * modules/crypto/md4 (License): Likewise.
30245
30246 2007-07-30  Jim Meyering  <jim@meyering.net>
30247
30248         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
30249         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
30250         it has valid stat data.  This bug would cause du not to count the
30251         sizes of inaccessible directories.
30252         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
30253         in <http://bugzilla.redhat.com/250077>.
30254
30255 2007-07-25  Peter O'Gorman  <peter@pogma.com>
30256             Bruno Haible  <bruno@clisp.org>
30257
30258         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
30259         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
30260         #include_next, gives a diagnostic about it, but reports no error in
30261         the exit code.
30262         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30263
30264 2007-07-24  Ben Pfaff  <blp@gnu.org>
30265
30266         Improve name: "count-one-bits" is better than "popcount".
30267         * MODULES.html.sh: Update name.
30268         * lib/popcount.h: Renamed lib/count-one-bits.h.
30269         (popcount): Renamed count_one_bits.
30270         (popcountl): Renamed count_one_bits_l.
30271         (popcountll): Renamed count_one_bits_ll.
30272         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
30273         * modules/popcount: Renamed module/count-one-bits.
30274         * modules/popcount-tests: Renamed module/count-one-bits-tests.
30275         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
30276
30277 2007-07-23  Ben Pfaff  <blp@gnu.org>
30278
30279         * lib/popcount.h (popcount32): Reduce size of constants, to allow
30280         better code generation, and add U to large constants to avoid
30281         warnings, in non-GCC case.
30282         Suggested by Bruno Haible.
30283
30284 2007-07-23  Ben Pfaff  <blp@gnu.org>
30285
30286         * lib/popcount.h: Use verify_true instead of if...abort.
30287         * modules/popcount: Depend on verify module.
30288         Suggested by Jim Meyering.
30289
30290 2007-07-23  Bruno Haible  <bruno@clisp.org>
30291
30292         * gnulib-tool (func_import): Create a .cvsignore file also when the
30293         directory is not yet in CVS but the toplevel directory is. When
30294         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
30295         Reported by Karl Berry.
30296
30297 2007-07-22  Ben Pfaff  <blp@gnu.org>
30298
30299         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
30300         case.
30301         Suggested by Eric Blake.
30302
30303 2007-07-22  Ben Pfaff  <blp@gnu.org>
30304
30305         New module: popcount.
30306         * MODULES.html.sh: Add popcount.
30307         * modules/popcount: New file.
30308         * modules/popcount-tests: New file.
30309         * tests/test-popcount.c: New file.
30310         * lib/popcount.h: New file.
30311         * m4/popcount.m4: New file.
30312
30313 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
30314
30315         * build-aux/announce-gen: Update to GPLv3.
30316
30317         * build-aux/config.guess: Update from config.
30318
30319 2007-07-21  Bruno Haible  <bruno@clisp.org>
30320
30321         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
30322         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
30323
30324 2007-07-20  Jim Meyering  <jim@meyering.net>
30325
30326         * check-module: Diagnose a self-dependency.
30327
30328 2007-07-19  Bruno Haible  <bruno@clisp.org>
30329
30330         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
30331         empty.
30332         Reported by Eric Blake.
30333
30334 2007-07-18  Bruno Haible  <bruno@clisp.org>
30335
30336         * gnulib-tool: New options --po-base, --po-domain.
30337         (func_usage): Document them.
30338         (pobase, po_domain): New variables.
30339         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
30340         DEFAULT_TEXT_DOMAIN.
30341         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
30342         (func_import): Consider pobase and po_domain. Create a po/ directory.
30343         (func_create_testdir): Set pobase and po_domain to empty.
30344         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
30345         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
30346
30347 2007-07-18  Bruno Haible  <bruno@clisp.org>
30348
30349         * gnulib-tool (func_get_automake_snippet): Synthesize also an
30350         EXTRA_DIST augmentation for files in build-aux/.
30351
30352 2007-07-16  Bruno Haible  <bruno@clisp.org>
30353
30354         * modules/lseek (License): Use the synonymous term "LGPLv2+".
30355         * modules/getdelim (License): Likewise.
30356
30357 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30358
30359         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
30360         * modules/d-type (License): Likewise.
30361         * modules/extensions (License): Likewise.
30362         * modules/fnmatch (License): Likewise.
30363         * modules/fseeko (License): Likewise.
30364         * modules/getaddrinfo (License): Likewise.
30365         * modules/getline (License): Likewise.
30366         * modules/getlogin_r (License): Likewise.
30367         * modules/getpass (License): Likewise.
30368         * modules/gettimeofday (License): Likewise.
30369         * modules/glob (License): Likewise.
30370         * modules/inet_ntop (License): Likewise.
30371         * modules/malloc (License): Likewise.
30372         * modules/malloca (License): Likewise.
30373         * modules/memmem (License): Likewise.
30374         * modules/mempcpy (License): Likewise.
30375         * modules/memset (License): Likewise.
30376         * modules/minmax (License): Likewise.
30377         * modules/mktime (License): Likewise.
30378         * modules/netinet_in (License): Likewise.
30379         * modules/pathmax (License): Likewise.
30380         * modules/poll (License): Likewise.
30381         * modules/regex (License): Likewise.
30382         * modules/snprintf (License): Likewise.
30383         * modules/stdbool (License): Likewise.
30384         * modules/stdint (License): Likewise.
30385         * modules/stdio (License): Likewise.
30386         * modules/strcase (License): Likewise.
30387         * modules/strcasestr (License): Likewise.
30388         * modules/strdup (License): Likewise.
30389         * modules/string (License): Likewise.
30390         * modules/strndup (License): Likewise.
30391         * modules/strnlen (License): Likewise.
30392         * modules/strpbrk (License): Likewise.
30393         * modules/strptime (License): Likewise.
30394         * modules/strsep (License): Likewise.
30395         * modules/sys_select (License): Likewise.
30396         * modules/sys_socket (License): Likewise.
30397         * modules/sys_stat (License): Likewise.
30398         * modules/sys_time (License): Likewise.
30399         * modules/time (License): Likewise.
30400         * modules/time_r (License): Likewise.
30401         * modules/timegm (License): Likewise.
30402         * modules/unistd (License): Likewise.
30403         * modules/vsnprintf (License): Likewise.
30404         * modules/wctype (License): Likewise.
30405
30406 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30407
30408         * modules/argz (License): LGPLv2+.
30409
30410 2007-07-15  Karl Berry  <karl@gnu.org>
30411
30412         * doc/gnulib.texi: revise node structure per new fdl.texi.
30413
30414 2007-07-14  Bruno Haible  <bruno@clisp.org>
30415
30416         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
30417         the output file.
30418         * lib/uniname/uninames.h: Regenerated.
30419
30420 2007-07-14  Karl Berry  <karl@gnu.org>
30421
30422         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
30423         omitting sectioning and index commands.
30424
30425 2007-07-13  Bruno Haible  <bruno@clisp.org>
30426
30427         New gnulib-tool option --more-symlinks.
30428         * gnulib-tool (func_usage): Document --more-symlinks.
30429         (do_copyrights): New variable.
30430         Recognize option --more-symlinks.
30431         (func_import): Don't add a copyright notice transform to
30432         sed_transform_lib_file if do_copyrights is empty.
30433
30434 2007-07-13  Bruno Haible  <bruno@clisp.org>
30435
30436         * lib/vasnprintf.c (decimal_point_char): Define also if
30437         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
30438         && !NEED_PRINTF_DIRECTIVE_A.
30439         Reported by Clemens Koller <clemens.koller@anagramm.de> via
30440         Gary V. Vaughan <gary@gnu.org>.
30441
30442 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
30443
30444         * lib/inttypes_.h: Undo previous change, since it was fixed
30445         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
30446
30447 2007-07-13  Bruno Haible  <bruno@clisp.org>
30448
30449         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
30450         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
30451
30452 2007-07-13  Jim Meyering  <jim@meyering.net>
30453
30454         df: Don't fail for Tru64's "file-on-file mount".
30455         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
30456         so we fall through and use statfs instead.  Details here:
30457         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
30458         Reported by Albert Chin.
30459
30460 2007-07-13  Bruno Haible  <bruno@clisp.org>
30461
30462         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
30463         * modules/configmake (License): Likewise.
30464         * modules/gettext (License): Likewise.
30465         * modules/gettext-h (License): Likewise.
30466         * modules/include_next (License): Likewise.
30467         * modules/link-warning (License): Likewise.
30468         * modules/localcharset (License): Likewise.
30469         * modules/localename (License): Likewise.
30470         * modules/lock (License): Likewise.
30471         * modules/relocatable-lib-lgpl (License): Likewise.
30472         * modules/size_max (License): Likewise.
30473         * modules/vasnprintf (License): Likewise.
30474         * modules/wchar (License): Likewise.
30475         * modules/xsize (License): Likewise.
30476
30477 2007-07-13  Bruno Haible  <bruno@clisp.org>
30478
30479         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
30480         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
30481
30482 2007-07-12  Bruno Haible  <bruno@clisp.org>
30483
30484         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
30485         in the modules files.
30486
30487 2007-07-11  Karl Berry  <karl@gnu.org>
30488
30489         * MODULES.html.sh (func_module): use
30490          sed -e '\|^'"${includefile}"'$|d'
30491          instead of /.../d, to avoid errors on $includefile's containing /.
30492
30493 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
30494
30495         * gnulib-tool (func_import): Avoid duplication of --avoid
30496         statements
30497         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
30498         names to `_' in variable names.
30499
30500 2007-07-10  Eric Blake  <ebb9@byu.net>
30501
30502         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
30503         * NEWS: Document this change.
30504
30505 2007-07-08  Bruno Haible  <bruno@clisp.org>
30506
30507         Update to Unicode 5.0.
30508         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
30509         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
30510         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
30511         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
30512         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
30513         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
30514         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
30515         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
30516         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
30517         U+10A3F, U+1D242..U+1D244.
30518         (nonspacing_table_ind): Update.
30519         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
30520         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
30521
30522 2007-07-08  Bruno Haible  <bruno@clisp.org>
30523
30524         Update to Unicode 5.0.
30525         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
30526         code transform. Extend the name index field of unicode_name_to_code and
30527         unicode_code_to_name from 16 to 24 bits.
30528         * lib/uniname/uniname.c (unicode_character_name,
30529         unicode_name_character): Add the range 0x12xxx to the code transform.
30530         * lib/uniname/uninames.h: Regenerated.
30531         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
30532
30533 2007-07-07  Bruno Haible  <bruno@clisp.org>
30534
30535         * modules/wcwidth-tests: New file.
30536         * tests/test-wcwidth.c: New file.
30537
30538         Work around MacOS X wcwidth() bug.
30539         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
30540         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
30541         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
30542         original wcwidth in non-UTF-8 locales.
30543         * modules/wcwidth (Depends-on): Add localcharset, streq,
30544         uniwidth/width.
30545         * doc/functions/wcwidth.texi: Update.
30546
30547 2007-07-07  Bruno Haible  <bruno@clisp.org>
30548
30549         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
30550         (wcwidth): New declaration.
30551         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
30552         macros.
30553         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
30554         here. Prepare for creating <wchar.h> unconditionally.
30555         * modules/wchar (Depends-on): Add link-warning.
30556         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
30557         REPLACE_WCWIDTH, and GL_LINK_WARNING.
30558         * lib/wcwidth.h: Remove file.
30559         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
30560         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
30561         * modules/wcwidth (Files): Remove lib/wcwidth.h.
30562         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
30563         (Include): Replace wcwidth.h with <wchar.h>.
30564         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
30565         * lib/mbchar.h: Don't include wcwidth.h.
30566         * lib/mbswidth.c: Likewise.
30567         * NEWS: Mention the change.
30568
30569 2007-07-07  Bruno Haible  <bruno@clisp.org>
30570
30571         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
30572         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
30573         definition with an external declaration.
30574         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
30575         defined as a function. Remove AC_C_INLINE requirement.
30576         * modules/wcwidth (Files): Add lib/wcwidth.c.
30577         (Makefile.am): Remove redundant statement.
30578
30579 2007-07-07  Bruno Haible  <bruno@clisp.org>
30580
30581         * MODULES.html.sh (Unicode string functions): Add the new modules.
30582
30583         * tests/uniwidth/test-u32-strwidth.c: New file.
30584         * modules/uniwidth/u32-strwidth-tests: New file.
30585
30586         * lib/uniwidth/u32-strwidth.c: New file.
30587         * modules/uniwidth/u32-strwidth: New file.
30588
30589         * tests/uniwidth/test-u16-strwidth.c: New file.
30590         * modules/uniwidth/u16-strwidth-tests: New file.
30591
30592         * lib/uniwidth/u16-strwidth.c: New file.
30593         * modules/uniwidth/u16-strwidth: New file.
30594
30595         * tests/uniwidth/test-u8-strwidth.c: New file.
30596         * modules/uniwidth/u8-strwidth-tests: New file.
30597
30598         * lib/uniwidth/u8-strwidth.c: New file.
30599         * modules/uniwidth/u8-strwidth: New file.
30600
30601         * tests/uniwidth/test-u32-width.c: New file.
30602         * modules/uniwidth/u32-width-tests: New file.
30603
30604         * lib/uniwidth/u32-width.c: New file.
30605         * modules/uniwidth/u32-width: New file.
30606
30607         * tests/uniwidth/test-u16-width.c: New file.
30608         * modules/uniwidth/u16-width-tests: New file.
30609
30610         * lib/uniwidth/u16-width.c: New file.
30611         * modules/uniwidth/u16-width: New file.
30612
30613         * tests/uniwidth/test-u8-width.c: New file.
30614         * modules/uniwidth/u8-width-tests: New file.
30615
30616         * lib/uniwidth/u8-width.c: New file.
30617         * modules/uniwidth/u8-width: New file.
30618
30619         * tests/uniwidth/test-uc_width.c: New file.
30620         * modules/uniwidth/width-tests: New file.
30621
30622         * lib/uniwidth/width.c: New file, from GNU libiconv.
30623         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
30624         * modules/uniwidth/width: New file.
30625
30626         * lib/uniwidth.h: New file, from GNU libiconv.
30627         * modules/uniwidth/base: New file.
30628
30629 2007-07-07  Bruno Haible  <bruno@clisp.org>
30630
30631         * lib/uniname.h: New file, from GNU gettext.
30632         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
30633         * lib/uniname/uninames.h: New file, from GNU gettext.
30634         * lib/uniname/uniname.c: New file, from GNU gettext.
30635         * tests/uniname/test-uninames.sh: New file.
30636         * tests/uniname/test-uninames.c: New file, from GNU gettext.
30637         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
30638         * modules/uniname/base: New file.
30639         * modules/uniname/uniname: New file.
30640         * modules/uniname/uniname-tests: New file.
30641         * MODULES.html.sh (Unicode string functions): Add the new modules.
30642
30643 2007-07-06  Bruno Haible  <bruno@clisp.org>
30644
30645         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
30646
30647 2007-07-06  Bruno Haible  <bruno@clisp.org>
30648
30649         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
30650         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
30651         includes <cygwin/sys_time.h> which includes <sys/select.h> which
30652         include <sys/time.h>.
30653         Reported by Eric Blake.
30654
30655 2007-07-06  Eric Blake  <ebb9@byu.net>
30656
30657         Fix testing canonicalize on cygwin.
30658         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
30659         Revert patch from 2007-06-19.
30660         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
30661         canonicalize module is also in use.
30662         * tests/test-canonicalize.c: New file.
30663         * tests/test-canonicalize.sh: Likewise.
30664         * modules/canonicalize-tests: Likewise.
30665
30666 2007-07-06  Jim Meyering  <jim@meyering.net>
30667
30668         * lib/getugroups.c (getugroups): Detect getgrent failure.
30669         Adjust comment to reflect reality: this function may return -1.
30670
30671 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30672
30673         * build-aux/bootstrap (TP_URL,get_translations): Update to use
30674         the new TP address.
30675         (usage): Fix typo
30676         (gnulib_mk): New variable.
30677
30678 2007-07-05  Jim Meyering  <jim@meyering.net>
30679
30680         Don't let endgrent clobber errno, no matter how improbable.
30681         * lib/getugroups.c (getugroups): Save and restore errno around
30682         endgrent call.
30683
30684         Close the group DB even when failing with 2^31 or more members.
30685         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
30686
30687 2007-07-04  Jim Meyering  <jim@meyering.net>
30688
30689         * lib/getugroups.h: New file.
30690         * lib/getugroups.c: Include "getugroups.h".
30691         Remove uses of "register" keyword.
30692         Move local variable, "cp", down into scope where used.
30693         Give "username" parameter the "const" attribute.
30694         * modules/getugroups (Files): Add lib/getugroups.h
30695
30696 2007-07-04  Karl Berry  <karl@gnu.org>
30697
30698         * MODULES.html.sh (func_all_modules): Complete rename of
30699         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
30700
30701 2007-07-02  Bruno Haible  <bruno@clisp.org>
30702
30703         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
30704         mode, when inttypes.h comes from gnulib.
30705         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
30706
30707 2007-07-02  Simon Josefsson  <simon@josefsson.org>
30708
30709         * NEWS: Mention lgpl module name change.
30710
30711         * modules/lgpl-2.1: Renamed from lgpl.
30712
30713         * NEWS: Mention gpl module name change.
30714
30715         * modules/gpl-3.0: New file, based on gpl-2.0.
30716
30717         * modules/gpl-2.0: Renamed from gpl.
30718
30719         * modules/gpl: Fix filename, doc/gpl.texi is now found at
30720         doc/gpl-2.0.texi.
30721
30722 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
30723
30724         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
30725         #define __STDC_LIMIT_MACROS temporarily while including
30726         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
30727         Problem reported by Joel E. Denny in
30728         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
30729
30730 2007-07-01  Bruno Haible  <bruno@clisp.org>
30731
30732         * lib/unistdio.h: New file.
30733         * lib/unistdio/u-asnprintf.h: New file.
30734         * lib/unistdio/u-asprintf.h: New file.
30735         * lib/unistdio/u-printf-args.c: New file.
30736         * lib/unistdio/u-printf-args.h: New file.
30737         * lib/unistdio/u-printf-parse.h: New file.
30738         * lib/unistdio/u-snprintf.h: New file.
30739         * lib/unistdio/u-sprintf.h: New file.
30740         * lib/unistdio/u-vasprintf.h: New file.
30741         * lib/unistdio/u-vsnprintf.h: New file.
30742         * lib/unistdio/u-vsprintf.h: New file.
30743         * lib/unistdio/ulc-asnprintf.c: New file.
30744         * lib/unistdio/ulc-asprintf.c: New file.
30745         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
30746         * lib/unistdio/ulc-printf-parse.c: New file.
30747         * lib/unistdio/ulc-snprintf.c: New file.
30748         * lib/unistdio/ulc-sprintf.c: New file.
30749         * lib/unistdio/ulc-vasnprintf.c: New file.
30750         * lib/unistdio/ulc-vasprintf.c: New file.
30751         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
30752         * lib/unistdio/ulc-vsnprintf.c: New file.
30753         * lib/unistdio/ulc-vsprintf.c: New file.
30754         * lib/unistdio/u8-asnprintf.c: New file.
30755         * lib/unistdio/u8-asprintf.c: New file.
30756         * lib/unistdio/u8-printf-parse.c: New file.
30757         * lib/unistdio/u8-snprintf.c: New file.
30758         * lib/unistdio/u8-sprintf.c: New file.
30759         * lib/unistdio/u8-vasnprintf.c: New file.
30760         * lib/unistdio/u8-vasprintf.c: New file.
30761         * lib/unistdio/u8-vsnprintf.c: New file.
30762         * lib/unistdio/u8-vsprintf.c: New file.
30763         * lib/unistdio/u8-u8-asnprintf.c: New file.
30764         * lib/unistdio/u8-u8-asprintf.c: New file.
30765         * lib/unistdio/u8-u8-snprintf.c: New file.
30766         * lib/unistdio/u8-u8-sprintf.c: New file.
30767         * lib/unistdio/u8-u8-vasnprintf.c: New file.
30768         * lib/unistdio/u8-u8-vasprintf.c: New file.
30769         * lib/unistdio/u8-u8-vsnprintf.c: New file.
30770         * lib/unistdio/u8-u8-vsprintf.c: New file.
30771         * lib/unistdio/u16-asnprintf.c: New file.
30772         * lib/unistdio/u16-asprintf.c: New file.
30773         * lib/unistdio/u16-printf-parse.c: New file.
30774         * lib/unistdio/u16-snprintf.c: New file.
30775         * lib/unistdio/u16-sprintf.c: New file.
30776         * lib/unistdio/u16-vasnprintf.c: New file.
30777         * lib/unistdio/u16-vasprintf.c: New file.
30778         * lib/unistdio/u16-vsnprintf.c: New file.
30779         * lib/unistdio/u16-vsprintf.c: New file.
30780         * lib/unistdio/u16-u16-asnprintf.c: New file.
30781         * lib/unistdio/u16-u16-asprintf.c: New file.
30782         * lib/unistdio/u16-u16-snprintf.c: New file.
30783         * lib/unistdio/u16-u16-sprintf.c: New file.
30784         * lib/unistdio/u16-u16-vasnprintf.c: New file.
30785         * lib/unistdio/u16-u16-vasprintf.c: New file.
30786         * lib/unistdio/u16-u16-vsnprintf.c: New file.
30787         * lib/unistdio/u16-u16-vsprintf.c: New file.
30788         * lib/unistdio/u32-asnprintf.c: New file.
30789         * lib/unistdio/u32-asprintf.c: New file.
30790         * lib/unistdio/u32-printf-parse.c: New file.
30791         * lib/unistdio/u32-snprintf.c: New file.
30792         * lib/unistdio/u32-sprintf.c: New file.
30793         * lib/unistdio/u32-vasnprintf.c: New file.
30794         * lib/unistdio/u32-vasprintf.c: New file.
30795         * lib/unistdio/u32-vsnprintf.c: New file.
30796         * lib/unistdio/u32-vsprintf.c: New file.
30797         * lib/unistdio/u32-u32-asnprintf.c: New file.
30798         * lib/unistdio/u32-u32-asprintf.c: New file.
30799         * lib/unistdio/u32-u32-snprintf.c: New file.
30800         * lib/unistdio/u32-u32-sprintf.c: New file.
30801         * lib/unistdio/u32-u32-vasnprintf.c: New file.
30802         * lib/unistdio/u32-u32-vasprintf.c: New file.
30803         * lib/unistdio/u32-u32-vsnprintf.c: New file.
30804         * lib/unistdio/u32-u32-vsprintf.c: New file.
30805         * tests/unistdio/test-ulc-asnprintf1.c: New file.
30806         * tests/unistdio/test-ulc-asnprintf1.h: New file.
30807         * tests/unistdio/test-ulc-printf1.h: New file.
30808         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
30809         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
30810         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
30811         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
30812         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
30813         * tests/unistdio/test-ulc-vasprintf1.c: New file.
30814         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
30815         * tests/unistdio/test-ulc-vsprintf1.c: New file.
30816         * tests/unistdio/test-u8-asnprintf1.c: New file.
30817         * tests/unistdio/test-u8-asnprintf1.h: New file.
30818         * tests/unistdio/test-u8-printf1.h: New file.
30819         * tests/unistdio/test-u8-vasnprintf1.c: New file.
30820         * tests/unistdio/test-u8-vasnprintf2.c: New file.
30821         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
30822         * tests/unistdio/test-u8-vasnprintf3.c: New file.
30823         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
30824         * tests/unistdio/test-u8-vasprintf1.c: New file.
30825         * tests/unistdio/test-u8-vsnprintf1.c: New file.
30826         * tests/unistdio/test-u8-vsprintf1.c: New file.
30827         * tests/unistdio/test-u16-asnprintf1.c: New file.
30828         * tests/unistdio/test-u16-asnprintf1.h: New file.
30829         * tests/unistdio/test-u16-printf1.h: New file.
30830         * tests/unistdio/test-u16-vasnprintf1.c: New file.
30831         * tests/unistdio/test-u16-vasnprintf2.c: New file.
30832         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
30833         * tests/unistdio/test-u16-vasnprintf3.c: New file.
30834         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
30835         * tests/unistdio/test-u16-vasprintf1.c: New file.
30836         * tests/unistdio/test-u16-vsnprintf1.c: New file.
30837         * tests/unistdio/test-u16-vsprintf1.c: New file.
30838         * tests/unistdio/test-u32-asnprintf1.c: New file.
30839         * tests/unistdio/test-u32-asnprintf1.h: New file.
30840         * tests/unistdio/test-u32-printf1.h: New file.
30841         * tests/unistdio/test-u32-vasnprintf1.c: New file.
30842         * tests/unistdio/test-u32-vasnprintf2.c: New file.
30843         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
30844         * tests/unistdio/test-u32-vasnprintf3.c: New file.
30845         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
30846         * tests/unistdio/test-u32-vasprintf1.c: New file.
30847         * tests/unistdio/test-u32-vsnprintf1.c: New file.
30848         * tests/unistdio/test-u32-vsprintf1.c: New file.
30849         * modules/unistdio/base: New file.
30850         * modules/unistdio/u-printf-args: New file.
30851         * modules/unistdio/ulc-asnprintf: New file.
30852         * modules/unistdio/ulc-asprintf: New file.
30853         * modules/unistdio/ulc-fprintf: New file.
30854         * modules/unistdio/ulc-printf-parse: New file.
30855         * modules/unistdio/ulc-snprintf: New file.
30856         * modules/unistdio/ulc-sprintf: New file.
30857         * modules/unistdio/ulc-vasnprintf: New file.
30858         * modules/unistdio/ulc-vasprintf: New file.
30859         * modules/unistdio/ulc-vfprintf: New file.
30860         * modules/unistdio/ulc-vsnprintf: New file.
30861         * modules/unistdio/ulc-vsprintf: New file.
30862         * modules/unistdio/u8-asnprintf: New file.
30863         * modules/unistdio/u8-asprintf: New file.
30864         * modules/unistdio/u8-printf-parse: New file.
30865         * modules/unistdio/u8-snprintf: New file.
30866         * modules/unistdio/u8-sprintf: New file.
30867         * modules/unistdio/u8-vasnprintf: New file.
30868         * modules/unistdio/u8-vasprintf: New file.
30869         * modules/unistdio/u8-vsnprintf: New file.
30870         * modules/unistdio/u8-vsprintf: New file.
30871         * modules/unistdio/u8-u8-asnprintf: New file.
30872         * modules/unistdio/u8-u8-asprintf: New file.
30873         * modules/unistdio/u8-u8-snprintf: New file.
30874         * modules/unistdio/u8-u8-sprintf: New file.
30875         * modules/unistdio/u8-u8-vasnprintf: New file.
30876         * modules/unistdio/u8-u8-vasprintf: New file.
30877         * modules/unistdio/u8-u8-vsnprintf: New file.
30878         * modules/unistdio/u8-u8-vsprintf: New file.
30879         * modules/unistdio/u16-asnprintf: New file.
30880         * modules/unistdio/u16-asprintf: New file.
30881         * modules/unistdio/u16-printf-parse: New file.
30882         * modules/unistdio/u16-snprintf: New file.
30883         * modules/unistdio/u16-sprintf: New file.
30884         * modules/unistdio/u16-vasnprintf: New file.
30885         * modules/unistdio/u16-vasprintf: New file.
30886         * modules/unistdio/u16-vsnprintf: New file.
30887         * modules/unistdio/u16-vsprintf: New file.
30888         * modules/unistdio/u16-u16-asnprintf: New file.
30889         * modules/unistdio/u16-u16-asprintf: New file.
30890         * modules/unistdio/u16-u16-snprintf: New file.
30891         * modules/unistdio/u16-u16-sprintf: New file.
30892         * modules/unistdio/u16-u16-vasnprintf: New file.
30893         * modules/unistdio/u16-u16-vasprintf: New file.
30894         * modules/unistdio/u16-u16-vsnprintf: New file.
30895         * modules/unistdio/u16-u16-vsprintf: New file.
30896         * modules/unistdio/u32-asnprintf: New file.
30897         * modules/unistdio/u32-asprintf: New file.
30898         * modules/unistdio/u32-printf-parse: New file.
30899         * modules/unistdio/u32-snprintf: New file.
30900         * modules/unistdio/u32-sprintf: New file.
30901         * modules/unistdio/u32-vasnprintf: New file.
30902         * modules/unistdio/u32-vasprintf: New file.
30903         * modules/unistdio/u32-vsnprintf: New file.
30904         * modules/unistdio/u32-vsprintf: New file.
30905         * modules/unistdio/u32-u32-asnprintf: New file.
30906         * modules/unistdio/u32-u32-asprintf: New file.
30907         * modules/unistdio/u32-u32-snprintf: New file.
30908         * modules/unistdio/u32-u32-sprintf: New file.
30909         * modules/unistdio/u32-u32-vasnprintf: New file.
30910         * modules/unistdio/u32-u32-vasprintf: New file.
30911         * modules/unistdio/u32-u32-vsnprintf: New file.
30912         * modules/unistdio/u32-u32-vsprintf: New file.
30913         * modules/unistdio/ulc-asnprintf-tests: New file.
30914         * modules/unistdio/ulc-vasnprintf-tests: New file.
30915         * modules/unistdio/ulc-vasprintf-tests: New file.
30916         * modules/unistdio/ulc-vsnprintf-tests: New file.
30917         * modules/unistdio/ulc-vsprintf-tests: New file.
30918         * modules/unistdio/u8-asnprintf-tests: New file.
30919         * modules/unistdio/u8-vasnprintf-tests: New file.
30920         * modules/unistdio/u8-vasprintf-tests: New file.
30921         * modules/unistdio/u8-vsnprintf-tests: New file.
30922         * modules/unistdio/u8-vsprintf-tests: New file.
30923         * modules/unistdio/u16-asnprintf-tests: New file.
30924         * modules/unistdio/u16-vasnprintf-tests: New file.
30925         * modules/unistdio/u16-vasprintf-tests: New file.
30926         * modules/unistdio/u16-vsnprintf-tests: New file.
30927         * modules/unistdio/u16-vsprintf-tests: New file.
30928         * modules/unistdio/u32-asnprintf-tests: New file.
30929         * modules/unistdio/u32-vasnprintf-tests: New file.
30930         * modules/unistdio/u32-vasprintf-tests: New file.
30931         * modules/unistdio/u32-vsnprintf-tests: New file.
30932         * modules/unistdio/u32-vsprintf-tests: New file.
30933         * MODULES.html.sh (Unicode string functions): Add the new modules.
30934
30935 2007-07-01  Bruno Haible  <bruno@clisp.org>
30936
30937         * lib/sprintf.c (sprintf): Limit the available length estimation,
30938         to avoid address wraparound.
30939         * lib/vsprintf.c (vsprintf): Likewise.
30940         * modules/sprintf-posix (Dependencies): Add stdint.
30941         * modules/vsprintf-posix (Dependencies): Likewise.
30942
30943 2007-07-01  Bruno Haible  <bruno@clisp.org>
30944
30945         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
30946         Windows PATH as well. Conservative double-quoting. Comments.
30947
30948 2007-07-01  Bruno Haible  <bruno@clisp.org>
30949             Eric Blake  <ebb9@byu.net>
30950             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30951
30952         * gnulib-tool (self_abspathname): Fix algorithm to cope with
30953         empty components in $PATH, denoting '.'.
30954
30955 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30956
30957         * gnulib-tool: Fix indentation.
30958         (func_create_megatestdir): Likewise.
30959         Report by Bruno Haible.
30960
30961 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30962
30963         Sync from Automake.
30964         * build-aux/gnupload: Fix shell portability issues with for loops.
30965         Report by Karl Berry.
30966
30967 2007-06-29  Simon Josefsson  <simon@josefsson.org>
30968
30969         * build-aux/maint.mk (POURL): Use translationproject.org.
30970
30971 2007-06-27  Simon Josefsson  <simon@josefsson.org>
30972             Bruno Haible  <bruno@clisp.org>
30973
30974         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
30975         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
30976         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
30977         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
30978         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
30979
30980 2007-06-27  Bruno Haible  <bruno@clisp.org>
30981
30982         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
30983         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
30984
30985 2007-06-26  Karl Berry  <karl@gnu.org>
30986
30987         * MODULES.html.sh: remove xreadlink-with-size.
30988
30989 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
30990
30991         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
30992         method that I hope also handles the double-include problem noted
30993         by Bruno Haible in
30994         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
30995
30996 2007-06-23  Bruno Haible  <bruno@clisp.org>
30997
30998         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30999         Don't let the 'mostlyclean' target fail if the last subdirectory could
31000         not be removed.
31001         Reported by Karl Berry.
31002
31003 2007-06-23  Bruno Haible  <bruno@clisp.org>
31004
31005         * gnulib-tool (echo): Add a speedier workaround for ksh.
31006         * tests/test-echo.sh: Likewise.
31007
31008 2007-06-23  Bruno Haible  <bruno@clisp.org>
31009
31010         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
31011         * tests/test-echo.sh: Likewise.
31012
31013 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31014
31015         * gnulib-tool (IFS): Initialize early, so we don't set it to
31016         empty later.
31017         (self_abspathname): Rewrite algorithm to set it, reindent.
31018         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
31019         (func_create_megatestdir): Merge some sed scripts.
31020
31021 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31022
31023         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
31024         exposed by Sun Studio 11 cc on Solaris 8.
31025
31026 2007-06-22  Bruno Haible  <bruno@clisp.org>
31027
31028         * gnulib-tool (echo): Ensure the echo primitive does not interpret
31029         backslashes.
31030         * tests/test-echo.sh: New file.
31031
31032 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31033
31034         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
31035         simplify `sed_replace_build_aux' scripts, they are portable but
31036         echoing them with `echo' is not.
31037         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
31038
31039 2007-06-21  Karl Berry  <karl@gnu.org>
31040
31041         * config/srclist.txt: guess we can't handle the licenses via
31042         srclist at the moment.
31043
31044 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
31045
31046         * MODULES.html.sh: Add include_next.
31047         * modules/include_next: New file.
31048
31049 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31050
31051         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
31052         INCLUDE_NEXT.
31053         (gl_CHECK_NEXT_HEADERS): New macro.
31054         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
31055         the obsolescent gl_ABSOLUTE_HEADER.
31056         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
31057         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
31058         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31059         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31060         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31061         * m4/math_h.m4 (gl_MATH_H): Likewise.
31062         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31063         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31064         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31065         * m4/stdint.m4 (gl_STDINT_H): Likewise.
31066         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31067         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31068         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31069         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31070         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31072         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31073         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31074         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31075         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31076         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31077         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31078         * m4/inttypes.m4 (gl_INTTYPES_H): Define
31079         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
31080         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
31081         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
31082         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
31083         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
31084         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
31085         * lib/float_.h: Likewise.
31086         * lib/inttypes_.h: Likewise.
31087         * lib/math_.h: Likewise.
31088         * lib/search_.h: Likewise.
31089         * lib/signal_.h: Likewise.
31090         * lib/stdint_.h: Likewise.
31091         * lib/stdio_.h: Likewise.
31092         * lib/stdlib_.h: Likewise.
31093         * lib/string_.h: Likewise.
31094         * lib/sys_stat_.h: Likewise.
31095         * lib/sys_time_.h: Likewise.
31096         * lib/time_.h: Likewise.
31097         * lib/unistd_.h: Likewise.
31098         * lib/wchar_.h: Likewise.
31099         * lib/wctype_.h: Likewise.
31100         * lib/dirent_.h: Likewise.
31101         * lib/iconv_.h: Likewise.
31102         * lib/locale_.h: Likewise.
31103         * lib/netinet_in_.h: Likewise.
31104         * lib/sys_select_.h: Likewise.
31105         * lib/sys_socket_.h: Likewise.
31106         * lib/sysexits_.h: Likewise.
31107         * modules/fcntl (Depends-on): Depend on include_next, not
31108         absolute_header.
31109         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
31110         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
31111         * modules/fchdir: Likewise.
31112         * modules/float: Likewise.
31113         * modules/iconv_open: Likewise.
31114         * modules/inttypes: Likewise.
31115         * modules/locale: Likewise.
31116         * modules/math: Likewise.
31117         * modules/netinet_in: Likewise.
31118         * modules/search: Likewise.
31119         * modules/signal: Likewise.
31120         * modules/stdint: Likewise.
31121         * modules/stdio: Likewise.
31122         * modules/stdlib: Likewise.
31123         * modules/string: Likewise.
31124         * modules/sys_select: Likewise.
31125         * modules/sys_socket: Likewise.
31126         * modules/sys_stat: Likewise.
31127         * modules/sys_time: Likewise.
31128         * modules/sysexits: Likewise.
31129         * modules/time: Likewise.
31130         * modules/unistd: Likewise.
31131         * modules/wchar: Likewise.
31132         * modules/wctype: Likewise.
31133         * modules/sys_stat: Change maintainer to "all".
31134         * modules/unistd: Likewise.
31135
31136 2007-06-20  Karl Berry  <karl@gnu.org>
31137
31138         * config/srclist.txt: track www changes in license files.
31139
31140 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
31141
31142         * build-aux/bootstrap: Remove stray dot.
31143         Make sure build_aux settings are honored when linking
31144         gnulib_extra_files.
31145
31146 2007-06-19  Eric Blake  <ebb9@byu.net>
31147
31148         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31149         Allow compilation on cygwin.
31150
31151 2007-06-19  Jim Meyering  <jim@meyering.net>
31152
31153         xreadlink-with-size: Remove module.  No longer used.
31154         Ex-callers now use xreadlink or mreadlink-with-size.
31155         * modules/xreadlink-with-size: Remove module.
31156         * lib/xreadlink-with-size.c: Remove file.
31157         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
31158         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
31159         just before the function definition *is* accurate.
31160
31161         Eliminate one way canonicalize_filename_mode could exit.
31162         * lib/canonicalize.c (canonicalize_filename_mode):
31163         Use mreadlink_with_size, not xreadlink_with_size.
31164
31165 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
31166
31167         Detect porting problems to FreeBSD/arm, which has time_t wider than
31168         long int.  Original problem reported for GNU diff by Xin Li in
31169         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
31170         * modules/getdate (Depends-on): Add intprops, verify.
31171         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
31172         is an integer type no wider than long int.
31173
31174 2007-06-18  Jim Meyering  <jim@meyering.net>
31175
31176         New module: mreadlink-with-size.
31177         * MODULES.html.sh: Add mreadlink-with-size.
31178         * modules/mreadlink-with-size: New module
31179         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
31180         not xreadlink-with-size.
31181         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
31182
31183 2007-06-16  Bruno Haible  <bruno@clisp.org>
31184
31185         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
31186         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
31187         Reported by Gary V. Vaughan <gary@gnu.org>.
31188
31189 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
31190
31191         Revamp lchown so that it lives in unistd.h where it belongs.
31192         * lib/lchown.h: Remove.
31193         * lib/dirchownmod.c: Don't include lib/lchown.h.
31194         * lib/fchownat.c: Likewise.
31195         * lib/openat.c: Likewise.
31196         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
31197         does not follow symlinks.
31198         (EOPNOTSUPP): Define if not defined.
31199         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
31200         is defined to 0.
31201         (lchown): New decl.
31202         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
31203         Do not check for lchown decl.
31204         Set REPLACE_LCHOWN.
31205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
31206         REPLACE_LCHOWN.
31207         * modules/chown: Make it clear it follows symlinks.
31208         * modules/lchown: Make it clear it doesn't follow symlinks.
31209         (Files): Remove lib/lchown.h
31210         (Depends-on): Add unistd.
31211         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
31212         (Include): Include <unistd.h>, not "lchown.h".
31213         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
31214         REPLACE_LCHOWN.
31215
31216 2007-06-15  Jim Meyering  <jim@meyering.net>
31217
31218         Change license (GPL to LGPL) of fsusage and dependents.
31219         * modules/fsusage (License): Change to LGPL.
31220         * modules/full-read (License): Likewise.
31221         * modules/full-write (License): Likewise.
31222         * modules/safe-read (License): Likewise.
31223         * modules/safe-write (License): Likewise.
31224
31225 2007-06-14  Ben Pfaff  <blp@gnu.org>
31226
31227         Missing part of allocsa -> malloca transition.
31228         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
31229         gl_MALLOCA.
31230
31231 2007-06-12  Bruno Haible  <bruno@clisp.org>
31232
31233         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
31234         to ia64, x86_64, i386.
31235         Reported by Eric Blake.
31236
31237 2007-06-12  Bruno Haible  <bruno@clisp.org>
31238
31239         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
31240         cross-compiling to x86_64.
31241
31242 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
31243
31244         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
31245         glitch reported by Ralf Wildenhues in
31246         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
31247
31248         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
31249         Vin Shelton.
31250
31251 2007-06-11  Bruno Haible  <bruno@clisp.org>
31252
31253         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
31254         replacement string.
31255         Reported by Eric Blake.
31256
31257 2007-06-10  Bruno Haible  <bruno@clisp.org>
31258
31259         Prepare vasnprintf code for use with Unicode strings.
31260         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
31261         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
31262         TYPE_U32_STRING.
31263         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
31264         a_u32_string variants.
31265         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31266         * lib/printf-args.c: Don't include config.h and the specification
31267         header if PRINTF_FETCHARGS is already defined.
31268         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31269         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
31270         TYPE_U16_STRING, TYPE_U32_STRING.
31271         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
31272         u16_directive, u16_directives, u32_directive, u32_directives): New
31273         types.
31274         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
31275         New declarations.
31276         * lib/printf-parse.c: Don't include config.h and the specification
31277         header if PRINTF_PARSE is already defined. Eliminate the set of
31278         parameters for WIDE_CHAR_VERSION; the user of this file must provide
31279         them now. Include c-ctype.h.
31280         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
31281         directive and CHAR_T_ONLY_ASCII.
31282         * lib/vasnprintf.c: Don't include config.h and the specification header
31283         if VASNPRINTF is already defined.
31284         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
31285         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
31286         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
31287         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
31288         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
31289         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
31290         code accordingly.
31291         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
31292         pad_ourselves also in this case, with the 'c' and 's' directives, and
31293         with a different notion of "width".
31294         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
31295
31296 2007-06-10  Bruno Haible  <bruno@clisp.org>
31297
31298         * modules/unistr/u32-mbsnlen: New file.
31299         * lib/unistr/u32-mbsnlen.c: New file.
31300
31301         * modules/unistr/u16-mbsnlen: New file.
31302         * lib/unistr/u16-mbsnlen.c: New file.
31303
31304         * modules/unistr/u8-mbsnlen: New file.
31305         * lib/unistr/u8-mbsnlen.c: New file.
31306
31307         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
31308         declarations.
31309
31310 2007-06-10  Bruno Haible  <bruno@clisp.org>
31311
31312         * lib/string_.h (mbsnlen): New declaration.
31313         * lib/mbsnlen.c: New file.
31314         * m4/mbsnlen.m4: New file.
31315         * modules/mbsnlen: New file.
31316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
31317         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
31318         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
31319
31320 2007-06-10  Bruno Haible  <bruno@clisp.org>
31321
31322         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
31323
31324 2007-06-10  Bruno Haible  <bruno@clisp.org>
31325
31326         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
31327         * lib/mbuiter.h: Likewise.
31328
31329 2007-06-10  Bruno Haible  <bruno@clisp.org>
31330
31331         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
31332         declaration.
31333
31334 2007-06-10  Karl Berry  <karl@gnu.org>
31335
31336         * config/srclist.txt: remove gettext entries, Bruno prefers
31337         to update individually.
31338
31339 2007-06-10  Bruno Haible  <bruno@clisp.org>
31340
31341         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
31342         'maxlen'. Ensure only length + width bytes are allocated, not
31343         length + 1 + width.
31344
31345 2007-06-09  Bruno Haible  <bruno@clisp.org>
31346
31347         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
31348         (CHAR_T): Remove macro.
31349         (VASNPRINTF): Update.
31350
31351 2007-06-09  Bruno Haible  <bruno@clisp.org>
31352
31353         * MODULES.html.sh (Unicode string functions): Add the new modules.
31354
31355         * modules/uniconv/u32-conv-to-enc: New file.
31356         * lib/uniconv/u32-conv-to-enc.c: New file.
31357         * modules/uniconv/u32-conv-to-enc-tests: New file.
31358         * tests/uniconv/test-u32-conv-to-enc.c: New file.
31359
31360         * modules/uniconv/u16-conv-to-enc: New file.
31361         * lib/uniconv/u16-conv-to-enc.c: New file.
31362         * lib/uniconv/u-conv-to-enc.h: New file.
31363         * modules/uniconv/u16-conv-to-enc-tests: New file.
31364         * tests/uniconv/test-u16-conv-to-enc.c: New file.
31365
31366         * modules/uniconv/u8-conv-to-enc: New file.
31367         * lib/uniconv/u8-conv-to-enc.c: New file.
31368         * modules/uniconv/u8-conv-to-enc-tests: New file.
31369         * tests/uniconv/test-u8-conv-to-enc.c: New file.
31370
31371         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31372         u32_conv_to_encoding): New declarations.
31373
31374 2007-06-09  Bruno Haible  <bruno@clisp.org>
31375
31376         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
31377
31378 2007-06-09  Bruno Haible  <bruno@clisp.org>
31379
31380         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
31381         * modules/malloca: Renamed from modules/allocsa, updated.
31382         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
31383         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
31384         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
31385         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
31386         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
31387         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
31388         * modules/xmalloca: Renamed from modules/xallocsa, updated.
31389         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
31390         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
31391         * modules/c-strcasestr (Depends-on): Update.
31392         * lib/c-strcasestr.c: Update.
31393         * modules/c-strstr (Depends-on): Update.
31394         * lib/c-strstr.c: Update.
31395         * modules/canonicalize-lgpl (Depends-on): Update.
31396         * lib/canonicalize-lgpl.c: Update.
31397         * modules/clean-temp (Depends-on): Update.
31398         * lib/clean-temp.c: Update.
31399         * modules/csharpcomp (Depends-on): Update.
31400         * lib/csharpcomp.c: Update.
31401         * modules/csharpexec (Depends-on): Update.
31402         * lib/csharpexec.c: Update.
31403         * modules/javacomp (Depends-on): Update.
31404         * lib/javacomp.c: Update.
31405         * modules/javaexec (Depends-on): Update.
31406         * lib/javaexec.c: Update.
31407         * modules/mbscasestr (Depends-on): Update.
31408         * lib/mbscasestr.c: Update.
31409         * modules/mbsstr (Depends-on): Update.
31410         * lib/mbsstr.c: Update.
31411         * modules/setenv (Depends-on): Update.
31412         * lib/setenv.c: Update.
31413         * modules/strcasestr (Depends-on): Update.
31414         * lib/strcasestr.c: Update.
31415         * modules/striconveha (Depends-on): Update.
31416         * lib/striconveha.c: Update.
31417         * modules/relocatable-prog-wrapper (Files): Update.
31418         * lib/relocwrapper.c: Update.
31419         * build-aux/install-reloc: Update.
31420         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
31421
31422 2007-06-08  Bruno Haible  <bruno@clisp.org>
31423
31424         Port to uClibc.
31425         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
31426         * lib/fpurge.c (fpurge): Likewise.
31427         * lib/freading.c (freading): Likewise.
31428         * lib/fseeko.c (rpl_fseeko): Likewise.
31429         * lib/fseterr.c (fseterr): Likewise.
31430         * lib/fwriting.c (fwriting): Likewise.
31431         * tests/test-fflush.c (main): Avoid a failure on uClibc.
31432
31433 2007-06-08  Bruno Haible  <bruno@clisp.org>
31434
31435         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
31436         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
31437         * modules/gettext (Files): Add m4/intlmacosx.m4.
31438
31439 2007-06-07  Bruno Haible  <bruno@clisp.org>
31440
31441         * modules/localename-tests: New file.
31442         * tests/test-localename.c: New file.
31443
31444         New module 'localename'.
31445         * lib/localename.h: New file.
31446         * lib/localename.c: New file, from GNU gettext.
31447         * m4/localename.m4: New file.
31448         * modules/localename: New file.
31449
31450 2007-06-07  Bruno Haible  <bruno@clisp.org>
31451
31452         Work around the lack of <wchar.h> on some builds of uClibc.
31453         * doc/headers/wchar.texi: Update.
31454         * lib/wchar_.h: Include <wchar.h> only if it exists.
31455         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
31456         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
31457         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
31458         doesn't exist.
31459         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
31460         * modules/mbfile (Depends-on): Add wchar.
31461         * modules/mbiter (Depends-on): Likewise.
31462         * modules/mbuiter (Depends-on): Likewise.
31463         Reported by Simon Josefsson.
31464
31465 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31466
31467         Work around problem reported by Steven M. Schweda in
31468         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
31469         Tru64 5.1B with the Compaq compiler environment installed declares
31470         an 'isblank' function but does not define it in the C library.
31471         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
31472         * lib/regex_internal.h (isblank): Likewise.
31473         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
31474         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31475
31476 2007-06-05  Bruno Haible  <bruno@clisp.org>
31477
31478         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
31479         ia64.
31480         * modules/printf-safe: New file.
31481         * modules/fprintf-posix (Depends-on): Add printf-safe.
31482         * modules/printf-posix (Depends-on): Likewise.
31483         * modules/snprintf-posix (Depends-on): Likewise.
31484         * modules/sprintf-posix (Depends-on): Likewise.
31485         * modules/vasnprintf-posix (Depends-on): Likewise.
31486         * modules/vasprintf-posix (Depends-on): Likewise.
31487         * modules/vfprintf-posix (Depends-on): Likewise.
31488         * modules/vprintf-posix (Depends-on): Likewise.
31489         * modules/vsnprintf-posix (Depends-on): Likewise.
31490         * modules/vsprintf-posix (Depends-on): Likewise.
31491         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
31492         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
31493         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
31494         "no" on i386, x86_64, ia64.
31495         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
31496         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31497         on i386, x86_64, ia64.
31498         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
31499         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31500         on i386, x86_64, ia64.
31501         * tests/test-vasnprintf-posix.c: Include float.h.
31502         (LDBL80_WORDS): New macro.
31503         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31504         on i386, x86_64, ia64.
31505         * tests/test-vasprintf-posix.c: Include float.h.
31506         (LDBL80_WORDS): New macro.
31507         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31508         on i386, x86_64, ia64.
31509         * tests/test-snprintf-posix.c: Include float.h.
31510         * tests/test-sprintf-posix.c: Likewise.
31511         * tests/test-vsnprintf-posix.c: Likewise.
31512         * tests/test-vsprintf-posix.c: Likewise.
31513
31514 2007-06-05  Bruno Haible  <bruno@clisp.org>
31515
31516         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
31517         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
31518         non-IEEE numbers on i386, x86_64, ia64.
31519         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
31520         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
31521         * tests/test-isnanl.h: Include float.h.
31522         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
31523
31524 2007-06-05  Bruno Haible  <bruno@clisp.org>
31525
31526         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
31527         also the %a / %A. Handle the %a / %A code before this extra handling.
31528
31529 2007-06-05  Bruno Haible  <bruno@clisp.org>
31530
31531         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
31532         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
31533
31534 2007-06-05  Bruno Haible  <bruno@clisp.org>
31535
31536         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
31537         typo in variable name.
31538
31539 2007-06-05  Eric Blake  <ebb9@byu.net>
31540
31541         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
31542         Reported by Simon Josefsson.
31543
31544 2007-06-04  Bruno Haible  <bruno@clisp.org>
31545
31546         Avoid test failures on some PowerPC platforms.
31547         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
31548         Define differently for PowerPC.
31549         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
31550         Reported by Gary V. Vaughan <gary@gnu.org>.
31551
31552 2007-06-02  Bruno Haible  <bruno@clisp.org>
31553
31554         Fix test-stdint failure on FreeBSD/ia64.
31555         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
31556         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
31557         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
31558         * doc/headers/stdint.texi: Update.
31559
31560 2007-06-01  Bruno Haible  <bruno@clisp.org>
31561
31562         * tests/test-binary-io.c (main): Pass a third argument to open().
31563         Reported by Gary V. Vaughan <gary@gnu.org>.
31564
31565 2007-06-01  Bruno Haible  <bruno@clisp.org>
31566
31567         * doc/functions/frexpl.texi: Update for mingw.
31568
31569 2007-06-01  Bruno Haible  <bruno@clisp.org>
31570
31571         * tests/test-lseek.c (main): Disable test of errno for invalid third
31572         argument.
31573         * doc/functions/lseek.texi: Update.
31574         Reported by Gary V. Vaughan <gary@gnu.org>.
31575
31576 2007-05-28  Bruno Haible  <bruno@clisp.org>
31577
31578         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
31579
31580 2007-05-31  Eric Blake  <ebb9@byu.net>
31581
31582         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
31583         cross compiling.
31584
31585 2007-05-30  Eric Blake  <ebb9@byu.net>
31586         and Bruno Haible  <bruno@clisp.org>
31587
31588         Work around mingw test failures exposed by m4-1.4.9b.
31589         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
31590         * tests/test-unistd.c: Disable uid_t and git_t tests for the
31591         moment.
31592
31593 2007-05-30  Bruno Haible  <bruno@clisp.org>
31594
31595         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
31596         assuming that they are closed. Needed on HP-UX 11.
31597
31598 2007-05-29  Bruno Haible  <bruno@clisp.org>
31599
31600         Fix a problem with #include_next.
31601         * lib/dirent_.h: Split the double-inclusion guard.
31602         * lib/fcntl_.h: Likewise.
31603         * lib/float_.h: Likewise.
31604         * lib/iconv_.h: Likewise.
31605         * lib/inttypes_.h: Likewise.
31606         * lib/locale_.h: Likewise.
31607         * lib/math_.h: Likewise.
31608         * lib/netinet_in_.h: Likewise.
31609         * lib/search_.h: Likewise.
31610         * lib/signal_.h: Likewise.
31611         * lib/stdint_.h: Likewise.
31612         * lib/stdio_.h: Likewise.
31613         * lib/stdlib_.h: Likewise.
31614         * lib/string_.h: Likewise.
31615         * lib/sys_select_.h: Likewise.
31616         * lib/sys_socket_.h: Likewise.
31617         * lib/sys_stat_.h: Likewise.
31618         * lib/sys_time_.h: Likewise.
31619         * lib/sysexits_.h: Likewise.
31620         * lib/time_.h: Likewise.
31621         * lib/unistd_.h: Likewise.
31622         * lib/wchar_.h: Likewise.
31623         * lib/wctype_.h: Likewise.
31624
31625 2007-05-29  Bruno Haible  <bruno@clisp.org>
31626
31627         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
31628         for the moment.
31629
31630 2007-05-29  Bruno Haible  <bruno@clisp.org>
31631
31632         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
31633         invocation.
31634         Reported by Eric Blake.
31635
31636 2007-05-29  Bruno Haible  <bruno@clisp.org>
31637
31638         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
31639         compiling case.
31640
31641 2007-05-29  Eric Blake  <ebb9@byu.net>
31642             Bruno Haible  <bruno@clisp.org>
31643
31644         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
31645         cross compiles.
31646
31647 2007-05-28  Eric Blake  <ebb9@byu.net>
31648
31649         * modules/closein-tests (test_closein_LDADD): Support test on
31650         cygwin with libtool.
31651
31652 2007-05-28  Bruno Haible  <bruno@clisp.org>
31653
31654         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
31655         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31656         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31657         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31658         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31659         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31660         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31661         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31662         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31663
31664 2007-05-28  Eric Blake  <ebb9@byu.net>
31665
31666         Unconditionally include <config.h> in unit tests.
31667         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
31668         * tests/test-allocsa.c, tests/test-arcfour.c,
31669         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
31670         tests/test-array_list.c, tests/test-array_oset.c,
31671         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
31672         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
31673         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
31674         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
31675         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
31676         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
31677         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
31678         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
31679         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
31680         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
31681         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
31682         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
31683         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
31684         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
31685         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
31686         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
31687         test-md5.c, test-memmem.c, test-printf-posix.c,
31688         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
31689         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
31690         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
31691         test-strcasestr.c, test-striconv.c, test-striconveh.c,
31692         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
31693         test-vasnprintf-posix2.c, test-vasnprintf.c,
31694         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
31695         test-vfprintf-posix.c, test-vprintf-posix.c,
31696         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
31697         test-xvasprintf.c: Likewise.
31698
31699 2007-05-28  Bruno Haible  <bruno@clisp.org>
31700
31701         * gnulib-tool (func_import): Remember the --with-tests command-line
31702         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
31703         Reported by Eric Blake.
31704
31705 2007-05-28  Bruno Haible  <bruno@clisp.org>
31706
31707         * modules/ftell-tests: New file.
31708         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
31709         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
31710
31711         * lib/ftell.c: New file.
31712         * modules/ftell: New file.
31713         * m4/ftell.m4: New file.
31714         * doc/functions/ftell.texi: Update.
31715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
31716         REPLACE_FTELL.
31717         * lib/stdio_.h (rpl_ftell): New declaration.
31718         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
31719         REPLACE_FTELL.
31720
31721 2007-05-28  Eric Blake  <ebb9@byu.net>
31722
31723         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
31724
31725 2007-05-28  Bruno Haible  <bruno@clisp.org>
31726
31727         * modules/fseek-tests: New file.
31728         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
31729         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
31730
31731         * lib/fseek.c: New file.
31732         * modules/fseek: New file.
31733         * m4/fseek.m4: New file.
31734         * doc/functions/fseek.texi: Update.
31735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
31736         REPLACE_FSEEK.
31737         * lib/stdio_.h (rpl_fseek): New declaration.
31738         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
31739         REPLACE_FSEEK.
31740
31741 2007-05-28  Bruno Haible  <bruno@clisp.org>
31742
31743         * lib/stdio_.h (fflush): More comments.
31744
31745 2007-05-28  Bruno Haible  <bruno@clisp.org>
31746
31747         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
31748         runtime test.
31749
31750 2007-05-28  Eric Blake  <ebb9@byu.net>
31751
31752         Improve lseek module.
31753         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
31754         * lib/unistd_.h (lseek): Scale back link warning message.
31755         * tests/test-lseek.c: Beef up test.
31756         * tests/test-lseek.sh: Exercise more facets of lseek.
31757         Reported by Bruno Haible.
31758
31759 2007-05-28  Bruno Haible  <bruno@clisp.org>
31760
31761         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
31762         to define.
31763
31764 2007-05-27  Bruno Haible  <bruno@clisp.org>
31765
31766         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
31767
31768 2007-05-27  Bruno Haible  <bruno@clisp.org>
31769
31770         * modules/openmp: New file.
31771         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
31772         Noah Misch.
31773
31774 2007-05-26  Bruno Haible  <bruno@clisp.org>
31775
31776         * modules/chdir-long (Depends-on): Add fchdir.
31777         * modules/chdir-safer (Depends-on): Likewise.
31778         * modules/fts (Depends-on): Likewise.
31779         * modules/fts-lgpl (Depends-on): Likewise.
31780         * modules/openat (Depends-on): Likewise.
31781         * modules/savewd (Depends-on): Likewise.
31782
31783 2007-05-24  Eric Blake  <ebb9@byu.net>
31784
31785         Fix lseek on mingw.
31786         * modules/lseek: New module.
31787         * m4/lseek.m4: New file.
31788         * lib/lseek.c: New file.
31789         * modules/lseek-tests: New file.
31790         * tests/test-lseek.c: New file.
31791         * tests/test-lseek.sh: New file.
31792         * MODULES.html.sh: Document lseek module.
31793         * modules/fflush (Depends-on): Add lseek, fseeko.
31794         * modules/fseeko (Depends-on): Likewise.
31795         * modules/ftello (Depends-on): Likewise.
31796         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
31797         broken.
31798         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
31799         broken.
31800         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
31801         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
31802         * lib/ftello.c (rpl_ftello): Likewise.
31803         * tests/test-fseeko.c (main): Test this.
31804         * tests/test-fseeko.sh: Likewise.
31805         * tests/test-ftello.c (main): Likewise.
31806         * tests/test-ftello.sh: Likewise.
31807         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
31808         implies replacing fseek.
31809         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
31810         HAVE_FTELLO.
31811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
31812         * modules/unistd (Makefile.am): Likewise.
31813         * lib/unistd_.h (lseek): Declare a replacement.
31814         * doc/functions/lseek.texi (lseek): Document this fix.
31815         * doc/functions/fseek.texi (fseek): Likewise.
31816         * doc/functions/ftell.texi (ftell): Likewise.
31817
31818 2007-05-24  Bruno Haible  <bruno@clisp.org>
31819
31820         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
31821         in the printed representation of a NaN.
31822         * tests/test-vasprintf-posix.c (test_function): Likewise.
31823         * tests/test-snprintf-posix.h (test_function): Likewise.
31824         * tests/test-sprintf-posix.h (test_function): Likewise.
31825         Reported by Eric Blake.
31826
31827 2007-05-23  Eric Blake  <ebb9@byu.net>
31828
31829         Fix fseeko/ftello on cygwin 1.5.24.
31830         * doc/functions/fseeko.texi (fseeko): Document the fix.
31831         * doc/functions/ftello.texi (ftello): Document the fix.
31832         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
31833         * doc/functions/stdout.text (stdout): New file.
31834         * doc/functions/stderr.text (stderr): New file.
31835         * doc/gnulib.texi (Function Substitutes): Use new files.
31836         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
31837         prior to 1.7.0.
31838         * tests/test-ftello.c (main): Likewise for ftello.
31839         * tests/test-fseeko.sh: New file.
31840         * tests/test-ftello.sh: New file.
31841         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
31842         with seekable stdin.
31843         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
31844         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
31845         (gl_REPLACE_FSEEKO): New macro.
31846         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
31847         * modules/fseeko (Files): Distribute fseeko.c.
31848         * modules/ftello (Files): Distribute ftello.c.
31849         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
31850         mode.
31851         * lib/ftello.c (rpl_ftello): New file.
31852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
31853         fseeko, ftello.
31854         (gl_STDIN_LARGE_OFFSET): New macro.
31855         * modules/stdio (Makefile.am): Perform the replacement.
31856         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
31857
31858 2007-05-23  Bruno Haible  <bruno@clisp.org>
31859
31860         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
31861         GNULIB_POSIXCHECK is defined.
31862
31863 2007-05-21  Bruno Haible  <bruno@clisp.org>
31864
31865         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
31866         Check also the output for NaN arguments. When cross-compiling, guess
31867         no on IRIX.
31868         * lib/vasnprintf.c: Update comments.
31869         * tests/test-vasnprintf-posix.c (strisnan): New function.
31870         (test_function): Use it.
31871         * tests/test-vasprintf-posix.c (strisnan): New function.
31872         (test_function): Use it.
31873         * tests/test-snprintf-posix.h (strisnan): New function.
31874         (test_function): Use it.
31875         * tests/test-sprintf-posix.h (strisnan): New function.
31876         (test_function): Use it.
31877         Reported by Eric Blake.
31878
31879 2007-05-20  Bruno Haible  <bruno@clisp.org>
31880
31881         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
31882         numbers that fails on BeOS.
31883         * doc/functions/frexpl.texi: Update.
31884
31885 2007-05-20  Jim Meyering  <jim@meyering.net>
31886
31887         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
31888         forced upon us by glibc-2.6.
31889
31890 2007-05-20  Bruno Haible  <bruno@clisp.org>
31891
31892         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
31893         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
31894         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
31895         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
31896         NEED_PRINTF_INFINITE.
31897         (is_infinitel): New function.
31898         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
31899         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
31900         gl_PREREQ_VASNPRINTF_INFINITE.
31901         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
31902         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31903         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
31904         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
31905         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
31906         gl_PREREQ_VASNPRINTF_INFINITE.
31907         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31910         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31914         * doc/functions/fprintf.texi: Update.
31915         * doc/functions/printf.texi: Update.
31916         * doc/functions/snprintf.texi: Update.
31917         * doc/functions/sprintf.texi: Update.
31918         * doc/functions/vfprintf.texi: Update.
31919         * doc/functions/vprintf.texi: Update.
31920         * doc/functions/vsnprintf.texi: Update.
31921         * doc/functions/vsprintf.texi: Update.
31922
31923 2007-05-20  Bruno Haible  <bruno@clisp.org>
31924
31925         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
31926         was not found in libc.
31927         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31928
31929 2007-05-20  Bruno Haible  <bruno@clisp.org>
31930
31931         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
31932         printed as "-nan" instead of "nan".
31933         * tests/test-vasprintf-posix.c (test_function): Likewise.
31934         * tests/test-snprintf-posix.h (test_function): Likewise.
31935         * tests/test-sprintf-posix.h (test_function): Likewise.
31936         Needed for HP-UX 11.
31937
31938 2007-05-20  Jim Meyering  <jim@meyering.net>
31939
31940         Fix buggy test for the fchownat-deref bug.
31941         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
31942         symlink required for the run-test.  Without it, this test would
31943         always declare that fchownat doesn't work, and client code would
31944         unnecessarily use the replacement function with fixed libc.
31945         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
31946         Reported by Greg Schafer.
31947
31948 2007-05-19  Bruno Haible  <bruno@clisp.org>
31949
31950         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
31951         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
31952         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
31953         Needed for IRIX 6.5 and Solaris 2.5.1.
31954
31955 2007-05-19  Bruno Haible  <bruno@clisp.org>
31956
31957         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
31958         (test_function): Skip tests involving -0.0 on platforms where
31959         -0.0 = 0.0.
31960         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
31961         (test_function): Skip tests involving -0.0 on platforms where
31962         -0.0 = 0.0.
31963         * tests/test-snprintf-posix.h (have_minus_zero): New function.
31964         (test_function): Skip tests involving -0.0 on platforms where
31965         -0.0 = 0.0.
31966         * tests/test-sprintf-posix.h (have_minus_zero): New function.
31967         (test_function): Skip tests involving -0.0 on platforms where
31968         -0.0 = 0.0.
31969         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
31970         tests.
31971         * tests/test-printf-posix.h (test_function): Likewise.
31972         * tests/test-printf-posix.output: Remove all -0.0 related results.
31973         Needed for IRIX 6.5.
31974
31975 2007-05-19  Bruno Haible  <bruno@clisp.org>
31976
31977         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
31978         printed as "nan0x7fffffff" instead of "nan".
31979         * tests/test-vasprintf-posix.c (test_function): Likewise.
31980         * tests/test-snprintf-posix.h (test_function): Likewise.
31981         * tests/test-sprintf-posix.h (test_function): Likewise.
31982         * tests/test-fprintf-posix.h (NaN): Remove macro.
31983         (test_function): Remove all NaN related tests.
31984         * tests/test-printf-posix.h (NaN): Remove macro.
31985         (test_function): Remove all NaN related tests.
31986         * tests/test-printf-posix.output: Remove all NaN related results.
31987         Needed for IRIX 6.5.
31988
31989 2007-05-19  Bruno Haible  <bruno@clisp.org>
31990
31991         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
31992         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
31993
31994 2007-05-19  Bruno Haible  <bruno@clisp.org>
31995
31996         * lib/float_.h: New file.
31997         * m4/float_h.m4: New file.
31998         * modules/float: New file.
31999         * modules/isnanl (Dependencies): Add float.
32000         * modules/isnanl-nolibm (Dependencies): Likewise.
32001         * modules/mathl (Dependencies): Likewise.
32002         * modules/printf-frexpl (Dependencies): Likewise.
32003         * modules/signbit (Dependencies): Likewise.
32004         * modules/vasnprintf (Dependencies): Likewise.
32005         * doc/headers/float.texi: Update.
32006
32007 2007-05-19  Jim Meyering  <jim@meyering.net>
32008
32009         * lib/utimens.c (gl_futimens): Rename from futimens,
32010         now that glibc-2.6 declares futimens.
32011         * lib/utimens.h: Likewise.
32012
32013 2007-05-19  Bruno Haible  <bruno@clisp.org>
32014
32015         Avoid test failures on mingw.
32016         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
32017         * tests/test-printf-posix.sh: Likewise.
32018         * tests/test-vfprintf-posix.sh: Likewise.
32019         * tests/test-vprintf-posix.sh: Likewise.
32020
32021 2007-05-19  Bruno Haible  <bruno@clisp.org>
32022
32023         Fix *printf result for NaN, Inf, -0.0 on mingw.
32024         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
32025         * lib/vasnprintf.c: Include math.h and isnan.h.
32026         (is_infinite_or_zero): New function.
32027         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
32028         values in the %f, %F, %e, %E, %g, %G directives.
32029         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
32030         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32031         gl_PRINTF_INFINITE and test its result. Invoke
32032         gl_PREREQ_VASNPRINTF_INFINITE.
32033         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32034         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32035         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32036         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32037         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32038         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32039         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32040         * doc/functions/fprintf.texi: Update.
32041         * doc/functions/printf.texi: Update.
32042         * doc/functions/snprintf.texi: Update.
32043         * doc/functions/sprintf.texi: Update.
32044         * doc/functions/vfprintf.texi: Update.
32045         * doc/functions/vprintf.texi: Update.
32046         * doc/functions/vsnprintf.texi: Update.
32047         * doc/functions/vsprintf.texi: Update.
32048
32049 2007-05-19  Bruno Haible  <bruno@clisp.org>
32050
32051         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
32052         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
32053         Instead of multiplying with 10^k, set extra_zeroes to k.
32054         (scale10_round_long_double): Remove function.
32055
32056 2007-05-18  Bruno Haible  <bruno@clisp.org>
32057
32058         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
32059         introduced on 2007-05-06.
32060
32061 2007-05-18  Bruno Haible  <bruno@clisp.org>
32062
32063         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
32064         %g directives.
32065         * tests/test-vasprintf-posix.c (test_function): Likewise.
32066         * tests/test-snprintf-posix.h (test_function): Likewise.
32067         * tests/test-sprintf-posix.h (test_function): Likewise.
32068
32069 2007-05-18  Bruno Haible  <bruno@clisp.org>
32070
32071         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
32072         (strmatch): New function.
32073         (test_function): Test the %f directive on numbers of various exponents.
32074         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
32075         (strmatch): New function.
32076         (test_function): Test the %f directive on numbers of various exponents.
32077         * tests/test-snprintf-posix.h (strmatch): New function.
32078         (test_function): Test the %f directive on numbers of various exponents.
32079         * tests/test-sprintf-posix.h (strmatch): New function.
32080         (test_function): Test the %f directive on numbers of various exponents.
32081         * tests/test-snprintf-posix.c (SIZEOF): New macro.
32082         * tests/test-sprintf-posix.c (SIZEOF): New macro.
32083         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
32084         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
32085
32086 2007-05-18  Bruno Haible  <bruno@clisp.org>
32087
32088         Add support for 'long double' number output.
32089         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
32090         * lib/vasnprintf.c: Include math.h and float+.h.
32091         (mp_limb_t): New type.
32092         (GMP_LIMB_BITS): New macro.
32093         (mp_twolimb_t): New type.
32094         (GMP_TWOLIMB_BITS): New macro.
32095         (mpn_t): New type.
32096         (multiply, divide, convert_to_decimal, decode_long_double,
32097         scale10_round_long_double, scale10_round_decimal_long_double,
32098         floorlog10l): New functions.
32099         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
32100         for the %f, %F, %e, %E, %g, %G directives.
32101         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
32102         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32103         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
32104         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
32105         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32106         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32107         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32108         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32109         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32110         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32111         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32112         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
32113         * modules/snprintf-posix (Depends-on): Likewise.
32114         * modules/sprintf-posix (Depends-on): Likewise.
32115         * modules/vasnprintf-posix (Depends-on): Likewise.
32116         * modules/vasprintf-posix (Depends-on): Likewise.
32117         * modules/vfprintf-posix (Depends-on): Likewise.
32118         * modules/vsnprintf-posix (Depends-on): Likewise.
32119         * modules/vsprintf-posix (Depends-on): Likewise.
32120         * modules/vasnprintf (Files): Add lib/float+.h.
32121         * doc/functions/fprintf.texi: Update.
32122         * doc/functions/printf.texi: Update.
32123         * doc/functions/snprintf.texi: Update.
32124         * doc/functions/sprintf.texi: Update.
32125         * doc/functions/vfprintf.texi: Update.
32126         * doc/functions/vprintf.texi: Update.
32127         * doc/functions/vsnprintf.texi: Update.
32128         * doc/functions/vsprintf.texi: Update.
32129
32130 2007-05-18  Bruno Haible  <bruno@clisp.org>
32131
32132         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
32133
32134 2007-05-18  Bruno Haible  <bruno@clisp.org>
32135
32136         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
32137         for printing 64-bit integers. Needed for mingw.
32138
32139 2007-05-18  Bruno Haible  <bruno@clisp.org>
32140
32141         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32142         gl_FUNC_FREXPL_WORKS.
32143         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
32144
32145 2007-05-18  Bruno Haible  <bruno@clisp.org>
32146
32147         * modules/frexpl-nolibm-tests: New file.
32148
32149         * modules/frexpl-nolibm: New file.
32150         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
32151
32152 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
32153
32154         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
32155         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32156         GCC 4.2, which otherwise issues a lot of warnings.
32157         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
32158         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
32159         Likewise.
32160         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
32161         * modules/iconv_open (iconv.h): Likewise.
32162         * modules/locale (locale.h): Likewise.
32163         * modules/netinet_in (netinet/in.h): Likewise.
32164         * modules/sys_select (sys_select.h): Likewise.
32165         * modules/sys_socket (sys/socket.h): Likewise.
32166         * modules/sys_stat (sys/stat.h): Likewise.
32167         * modules/sysexits (sysexits.h): Likewise.
32168         * modules/unistd (unistd.h): Likewise.
32169
32170 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32171
32172         * modules/closein-tests (Makefile.am): Distribute
32173         `test-closein.sh'.
32174
32175 2007-05-17  Bruno Haible  <bruno@clisp.org>
32176
32177         * tests/test-printf-posix.output: Renamed from
32178         tests/test-fprintf-posix.out.
32179         * modules/fprintf-posix-tests: Update.
32180         * modules/printf-posix-tests: Update.
32181         * modules/vfprintf-posix-tests: Update.
32182         * modules/vprintf-posix-tests: Update.
32183         * tests/test-fprintf-posix.sh: Update.
32184         * tests/test-printf-posix.sh: Update.
32185         * tests/test-vfprintf-posix.sh: Update.
32186         * tests/test-vprintf-posix.sh: Update.
32187         Reported by Ralf Wildenhues.
32188
32189 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32190
32191         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
32192         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32193         GCC 4.2, which otherwise issues a lot of warnings.
32194         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
32195         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
32196         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
32197         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
32198         it should no longer be needed.
32199         * lib/string_.h: Likewise.
32200         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
32201         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
32202         * modules/inttypes (inttypes.h): Likewise.
32203         * modules/math (math.h): Likewise.
32204         * modules/search (search.h): Likewise.
32205         * modules/signal (signal.h): Likewise.
32206         * modules/stdint (stdint.h): Likewise.
32207         * modules/stdio (stdio.h): Likewise.
32208         * modules/stdlib (stdlib.h): Likewise.
32209         * modules/string (string.h): Likewise.
32210         * modules/sys_time (sys/time.h): Likewise.
32211         * modules/time (time.h): Likewise.
32212         * modules/wchar (wchar.h): Likewise.
32213         * modules/wctype (wtype.h): Likewise.
32214
32215 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32216
32217         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
32218
32219 2007-05-13  Bruno Haible  <bruno@clisp.org>
32220
32221         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
32222         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32223         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
32224         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
32225         (gl_PREREQ_STRTOK_R): Don't require it here.
32226
32227 2007-05-13  Bruno Haible  <bruno@clisp.org>
32228
32229         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
32230         when used in C++ mode.
32231
32232 2007-05-12  Bruno Haible  <bruno@clisp.org>
32233
32234         * lib/linebuffer.h: Tweak doc.
32235         * lib/linebuffer.c: Likewise.
32236
32237 2007-05-12  James Youngman  <jay@gnu.org>
32238
32239         * lib/linebuffer.c (readlinebuffer_delim): New function,
32240         like readlinebuffer, but use a caller-specified delimiter.
32241         (readlinebuffer): Just call readlinebuffer_delim with '\n'
32242         as the delimiter.
32243         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
32244
32245 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32246
32247         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
32248         * modules/openat (Files): Remove openat-die.c.
32249         (Depends-on): Add openat-die.
32250         * modules/openat-die: New module.
32251
32252 2007-05-06  Bruno Haible  <bruno@clisp.org>
32253
32254         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
32255         Update with info about Cygwin.
32256         * doc/functions/fprintf.texi: Update.
32257         * doc/functions/printf.texi: Update.
32258         * doc/functions/snprintf.texi: Update.
32259         * doc/functions/sprintf.texi: Update.
32260         * doc/functions/vfprintf.texi: Update.
32261         * doc/functions/vprintf.texi: Update.
32262         * doc/functions/vsnprintf.texi: Update.
32263         * doc/functions/vsprintf.texi: Update.
32264         Reported by Eric Blake.
32265
32266 2007-05-06  Bruno Haible  <bruno@clisp.org>
32267
32268         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
32269         padding ourselves for the floating-point directives.
32270         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
32271         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
32272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32273         gl_PRINTF_FLAG_ZERO and test its result. Invoke
32274         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
32275         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32276         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32277         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32279         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32280         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32281         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32282         * tests/test-snprintf-posix.h (test_function): Also check the width
32283         and some flags in the %f directive.
32284         * tests/test-sprintf-posix.h (test_function): Likewise.
32285         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32286         * tests/test-vasprintf-posix.c (test_function): Likewise.
32287         * doc/functions/fprintf.texi: Update.
32288         * doc/functions/printf.texi: Update.
32289         * doc/functions/snprintf.texi: Update.
32290         * doc/functions/sprintf.texi: Update.
32291         * doc/functions/vfprintf.texi: Update.
32292         * doc/functions/vprintf.texi: Update.
32293         * doc/functions/vsnprintf.texi: Update.
32294         * doc/functions/vsprintf.texi: Update.
32295
32296 2007-05-06  Bruno Haible  <bruno@clisp.org>
32297
32298         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
32299         pass the ' flag character to sprintf or snprintf.
32300         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
32301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
32302         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32303         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
32304         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
32305         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32306         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32307         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32308         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32309         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32310         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32311         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32312         * tests/test-snprintf-posix.h (test_function): Also check the grouping
32313         flag.
32314         * tests/test-sprintf-posix.h (test_function): Likewise.
32315         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32316         * tests/test-vasprintf-posix.c (test_function): Likewise.
32317         * doc/functions/fprintf.texi: Update.
32318         * doc/functions/printf.texi: Update.
32319         * doc/functions/snprintf.texi: Update.
32320         * doc/functions/sprintf.texi: Update.
32321         * doc/functions/vfprintf.texi: Update.
32322         * doc/functions/vprintf.texi: Update.
32323         * doc/functions/vsnprintf.texi: Update.
32324         * doc/functions/vsprintf.texi: Update.
32325
32326 2007-05-01  Bruno Haible  <bruno@clisp.org>
32327
32328         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
32329
32330 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
32331
32332         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
32333         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
32334
32335 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32336
32337         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
32338         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
32339         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
32340
32341 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
32342
32343         * lib/argp-help.c (struct hol_entry): New member `ord'.
32344         (HOL_ENTRY_PTRCMP): Use ord for comparison
32345         (hol_sort): Initialize ord.
32346
32347 2007-05-01  Bruno Haible  <bruno@clisp.org>
32348
32349         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
32350         Reported by Eric Blake.
32351         * doc/gnulib.texi (Function Substitutes): Update.
32352
32353 2007-05-01  Bruno Haible  <bruno@clisp.org>
32354
32355         * doc/functions.texi: Remove file, now redundant through
32356         doc/functions/*.texi.
32357
32358 2007-05-01  Bruno Haible  <bruno@clisp.org>
32359
32360         * modules/argp (Depends-on): Add sleep.
32361
32362 2007-05-01  Bruno Haible  <bruno@clisp.org>
32363
32364         * modules/sleep-tests: New file.
32365         * tests/test-sleep.c: New file.
32366
32367         * modules/sleep: New file.
32368         * lib/sleep.c: New file.
32369         * m4/sleep.m4: New file.
32370         * lib/unistd_.h (sleep): New declaration.
32371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
32372         HAVE_SLEEP.
32373         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
32374         * doc/functions/sleep.texi: Document the sleep module.
32375
32376 2007-05-01  Bruno Haible  <bruno@clisp.org>
32377
32378         * lib/sigprocmask.h: Remove file.
32379         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
32380         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
32381         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
32382         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
32383         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
32384         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
32385         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
32386         HAVE_SIGSET_T as a shell variable.
32387         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
32388         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
32389         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
32390         (Depends-on): Add signal. Remove verify.
32391         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
32392         (Include): Mention <signal.h> instead of sigprocmask.h.
32393         * NEWS: Mention the change.
32394         * lib/fatal-signal.c: Don't include sigprocmask.h.
32395
32396 2007-05-01  Bruno Haible  <bruno@clisp.org>
32397
32398         * modules/signal: New file.
32399         * lib/signal_.h: New file.
32400         * m4/signal_h.m4: New file.
32401
32402 2007-05-01  Bruno Haible  <bruno@clisp.org>
32403
32404         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
32405         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
32406         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
32407         HAVE_WCTYPE_CTMP_BUG into wctype.h.
32408
32409 2007-05-01  Bruno Haible  <bruno@clisp.org>
32410
32411         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
32412         configure time.
32413         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
32414         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
32415         * modules/sys_stat (Makefile.am): Substitute their values into
32416         sys/stat.h.
32417
32418 2007-05-01  Bruno Haible  <bruno@clisp.org>
32419
32420         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
32421         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
32422         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
32423
32424 2007-05-01  Bruno Haible  <bruno@clisp.org>
32425
32426         * doc/header/assert.texi: Undo last change: don't mention the gnulib
32427         'assert' module here.
32428
32429 2007-05-01  Bruno Haible  <bruno@clisp.org>
32430
32431         * doc/functions/*.texi: New files.
32432         * doc/functions/google-ranking.txt: New file.
32433         * doc/gnulib.texi (Function Substitutes): New chapter.
32434         (ctime, inet_ntoa): Remove sections.
32435         * doc/ctime.texi: Remove file.
32436         * doc/inet_ntoa.texi: Remove file.
32437         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
32438         dependencies.
32439         (%.info): New rule, specifying a --reference-limit.
32440
32441 2007-05-01  Bruno Haible  <bruno@clisp.org>
32442
32443         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
32444
32445 2007-05-01  Bruno Haible  <bruno@clisp.org>
32446
32447         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
32448         the portability of 'mkdir' to mingw systems.
32449
32450 2007-05-01  Bruno Haible  <bruno@clisp.org>
32451
32452         * doc/headers/google-ranking.txt: New file.
32453
32454 2007-04-30  Eric Blake  <ebb9@byu.net>
32455
32456         Prefer fseeko to fseek.
32457         * modules/getpass (Depends-on): Add fseeko.
32458         * lib/getpass.c (getpass): Use fseeko, not fseek.
32459
32460 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
32461
32462         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
32463         assumes the sorting is stable, while most qsort implementations
32464         are not.  Use argument addresses to ensure they never compare as
32465         equal.
32466
32467         * tests/test-argp-2.sh (usage-indent test): Fix output
32468         (func_compare): Restore diff options
32469         * tests/test-argp.c: Restore #include "progname.h"
32470
32471 2007-04-29  Bruno Haible  <bruno@clisp.org>
32472
32473         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
32474         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32475         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
32476         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32477         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
32478         (configure.ac): Define CHECK_SNPRINTF_POSIX.
32479         (TESTS, check_PROGRAMS): Add test-snprintf.
32480         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
32481         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
32482         (TESTS, check_PROGRAMS): Add test-vsnprintf.
32483         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
32484         assertions that fail on HP-UX, OSF/1, or IRIX.
32485         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
32486
32487 2007-04-29  Bruno Haible  <bruno@clisp.org>
32488
32489         * MODULES.html.sh (posix_functions): Remove 'contents'.
32490
32491 2007-04-29  Karl Berry  <karl@gnu.org>
32492
32493         * config/srclist.txt (gendocs_template_min): new entry.
32494
32495 2007-04-29  Bruno Haible  <bruno@clisp.org>
32496
32497         Work around fpurge bug on BSD systems.
32498         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
32499         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
32500         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
32501         fpurge to rpl_fpurge if the system already has this function.
32502         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
32503         the case where the system already has this function. Correct invariants
32504         on BSD systems.
32505         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
32506         BSD systems.
32507
32508 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32509
32510         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
32511         proposed by Sven Verdoolaege.
32512
32513         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
32514         options.
32515         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
32516         (usage and help tests): Update
32517
32518 2007-04-29  Bruno Haible  <bruno@clisp.org>
32519
32520         * tests/test-fflush.c (main): Use a file of size 17, not 10.
32521         Print more information in case of failure. Disable a test on BeOS.
32522
32523 2007-04-29  Bruno Haible  <bruno@clisp.org>
32524
32525         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
32526         This helps debugging on systems on which no gdb is available.
32527
32528 2007-04-29  Bruno Haible  <bruno@clisp.org>
32529
32530         * lib/freading.h: Improve comments.
32531         * lib/fwriting.h: Likewise.
32532         * tests/test-freading.c (main): Don't check freading immediately after
32533         repositioning. Needed for glibc.
32534
32535 2007-04-29  Bruno Haible  <bruno@clisp.org>
32536
32537         * lib/freading.c (freading): Trivial simplification.
32538
32539 2007-04-28  Bruno Haible  <bruno@clisp.org>
32540
32541         * tests/test-fwriting.c (main): Also test the interaction between
32542         fflush and fwriting.
32543         * modules/fwriting-tests (Depends-on): Add fflush.
32544
32545         * tests/test-freading.c (main): Also test the interaction between
32546         fflush and freading.
32547         * modules/freading-tests (Depends-on): Add fflush.
32548
32549 2007-04-28  Bruno Haible  <bruno@clisp.org>
32550
32551         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
32552         fseeko and ftello.
32553         Suggested by Eric Blake.
32554
32555 2007-04-28  Jim Meyering  <jim@meyering.net>
32556
32557         Avoid false-negative in gl_STDINT_H's C99 conformance test.
32558         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
32559         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
32560
32561 2007-04-27  Eric Blake  <ebb9@byu.net>
32562
32563         * doc/headers/assert.texi (assert.h): Document assert module use.
32564
32565 2007-04-27  Bruno Haible  <bruno@clisp.org>
32566
32567         * doc/headers/*.texi: New files.
32568         * doc/gnulib.texi (Header File Substitutes): New chapter.
32569         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
32570         dependencies.
32571         (standards.info ,standards.html, standards.dvi): Update dependencies.
32572         (mostlyclean, clean): New targets.
32573
32574 2007-04-27  Bruno Haible  <bruno@clisp.org>
32575
32576         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
32577         * modules/sysexits (Files, Makefile.am): Update.
32578
32579         * lib/sys_socket_.h: Renamed from lib/socket_.h.
32580         * modules/sys_socket (Files, Makefile.am): Update.
32581
32582         * lib/sys_stat_.h: Renamed from lib/stat_.h.
32583         * modules/sys_stat (Files, Makefile.am): Update.
32584
32585 2007-04-27  Eric Blake  <ebb9@byu.net>
32586
32587         * lib/freading.h: Improve comments.
32588         * lib/fwriting.h: Likewise.
32589         * lib/fflush.c: Likewise.
32590
32591         Fix closein for mingw.
32592         * modules/closein-tests: Add tests for closein.
32593         * tests/test-closein.c: New file.
32594         * tests/test-closein.sh: Likewise.
32595         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
32596         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
32597
32598 2007-04-27  Bruno Haible  <bruno@clisp.org>
32599
32600         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
32601         version is < 6.
32602         * lib/math_.h [__DECC]: Likewise.
32603         * lib/stdio_.h [__DECC]: Likewise.
32604         * lib/stdlib_.h [__DECC]: Likewise.
32605         * lib/string_.h [__DECC]: Likewise.
32606         * lib/time_.h [__DECC]: Likewise.
32607         * lib/wchar_.h [__DECC]: Likewise.
32608         * lib/wctype_.h [__DECC]: Likewise.
32609
32610 2007-04-27  Bruno Haible  <bruno@clisp.org>
32611
32612         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
32613
32614 2007-04-27  Bruno Haible  <bruno@clisp.org>
32615
32616         * lib/fflush.c: Add comments.
32617         * modules/fpurge-tests (Depends-on): Add fflush.
32618         * modules/freadable-tests (Depends-on): Likewise.
32619         * modules/fwritable-tests (Depends-on): Likewise.
32620
32621 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
32622
32623         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
32624         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
32625         Report by Bruno Haible <bruno@clisp.org>.
32626
32627 2007-04-26  Eric Blake  <ebb9@byu.net>
32628
32629         Fix fflush on mingw.
32630         * modules/fflush (Depends-on): Add freading.
32631         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
32632         but unread data.
32633
32634 2007-04-26  Eric Blake  <ebb9@byu.net>
32635         and Bruno Haible  <bruno@clisp.org>
32636
32637         Implement freading and fwriting.
32638         * lib/freading.c: New file.
32639         * lib/freading.h: Likewise.
32640         * m4/freading.m4: Likewise.
32641         * modules/freading: Likewise.
32642         * modules/freading-tests: Likewise.
32643         * tests/test-freading.c: Likewise.
32644         * lib/fwriting.c: New file.
32645         * lib/fwriting.h: Likewise.
32646         * m4/fwriting.m4: Likewise.
32647         * modules/fwriting: Likewise.
32648         * modules/fwriting-tests: Likewise.
32649         * tests/test-fwriting.c: Likewise.
32650         * MODULES.html.sh (File stream based Input/Output): Mention them.
32651
32652 2007-04-26  Bruno Haible  <bruno@clisp.org>
32653
32654         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
32655         'long' when we assume it.
32656         Suggested by Eric Blake.
32657
32658 2007-04-26  Bruno Haible  <bruno@clisp.org>
32659
32660         Ensure fseeko, ftello are declared on glibc systems.
32661         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
32662         * modules/fseeko (configure.ac-early): Likewise.
32663         * modules/ftello (configure.ac-early): Likewise.
32664         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
32665         AC_FUNC_FSEEKO for this.
32666         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
32667         (gl_CHECK_FSEEKO): Remove macro.
32668
32669 2007-04-26  Bruno Haible  <bruno@clisp.org>
32670
32671         * tests/test-fflush.c (main): Also check the ftell result after
32672         fflush and fseek/fseeko.
32673         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
32674         file descriptor position cache in the stream.
32675         * lib/fseeko.c (rpl_fseeko): Likewise.
32676
32677 2007-04-26  Bruno Haible  <bruno@clisp.org>
32678
32679         * modules/fflush-tests (Depends-on): Add fseeko.
32680
32681 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
32682             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32683
32684         * lib/argz_.h: ensure error_t definition is obtained in same
32685         mechanism system argz.h would have.
32686         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
32687         argz facilities are known bad.  Err on the side of caution if
32688         cross-compiling.
32689
32690 2007-04-25  Eric Blake  <ebb9@byu.net>
32691
32692         * lib/fpurge.c (includes): Use stdlib.h for free.
32693         * tests/test-fflush.c (main): Also test fflush-fseeko.
32694
32695 2007-04-25  Bruno Haible  <bruno@clisp.org>
32696
32697         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
32698         * lib/fseeko.c: New file.
32699         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
32700         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
32701         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
32702         gl_FUNC_FSEEKO.
32703         (gl_FUNC_FSEEKO): Invoke it.
32704         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
32705         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
32706         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
32707
32708 2007-04-25  Bruno Haible  <bruno@clisp.org>
32709
32710         * modules/fflush (Depends-on): Add ftello.
32711
32712 2007-04-25  Bruno Haible  <bruno@clisp.org>
32713
32714         * modules/ftello-tests: New file.
32715         * tests/test-ftello.c: New file.
32716
32717         * modules/ftello: New file.
32718         * m4/ftello.m4: New file.
32719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
32720         HAVE_FTELLO.
32721         * lib/stdio_.h (ftello): New declaration.
32722         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
32723         HAVE_FTELLO.
32724
32725 2007-04-25  Bruno Haible  <bruno@clisp.org>
32726
32727         * modules/fseeko-tests: New file.
32728         * tests/test-fseeko.c: New file.
32729
32730         * modules/fseeko: New file.
32731         * m4/fseeko.m4: New file.
32732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
32733         HAVE_FSEEKO.
32734         * lib/stdio_.h (fseeko): New declaration.
32735         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
32736         HAVE_FSEEKO.
32737
32738 2007-04-25  Bruno Haible  <bruno@clisp.org>
32739
32740         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
32741
32742 2007-04-25  Bruno Haible  <bruno@clisp.org>
32743
32744         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
32745         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
32746         * tests/test-unistd.c: Likewise.
32747         * tests/test-fcntl.c: Likewise.
32748
32749 2007-04-23  Eric Blake  <ebb9@byu.net>
32750
32751         * lib/fflush.c: Fix missing include.
32752         Reported by Bruno Haible.
32753
32754 2007-04-23  Bruno Haible  <bruno@clisp.org>
32755
32756         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
32757         Reported by Eric Blake.
32758
32759 2007-04-23  Bruno Haible  <bruno@clisp.org>
32760
32761         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
32762
32763 2007-04-23  Bruno Haible  <bruno@clisp.org>
32764
32765         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
32766
32767 2007-04-23  Bruno Haible  <bruno@clisp.org>
32768
32769         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
32770         Needed on HP-UX 11.
32771
32772 2007-04-16  Eric Blake  <ebb9@byu.net>
32773
32774         Make fflush rely on fpurge.
32775         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
32776         open coding all variants.
32777         * modules/fflush (Depends-on): Add fpurge and unistd.
32778         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
32779         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
32780
32781         Fix --with-tests compilation on cygwin.
32782         * modules/argmatch-tests (Makefile.am): List gnulib library first
32783         in LDADD.
32784         * modules/argp-tests (Makefile.am): Likewise.
32785         * modules/array-list-tests (Makefile.am): Likewise.
32786         * modules/array-oset-tests (Makefile.am): Likewise.
32787         * modules/avltree-list-tests (Makefile.am): Likewise.
32788         * modules/avltree-oset-tests (Makefile.am): Likewise.
32789         * modules/avltreehash-list-tests (Makefile.am): Likewise.
32790         * modules/carray-list-tests (Makefile.am): Likewise.
32791         * modules/dirname-tests (Makefile.am): Likewise.
32792         * modules/frexp-tests (Makefile.am): Likewise.
32793         * modules/isnanl-tests (Makefile.am): Likewise.
32794         * modules/linked-list-tests (Makefile.am): Likewise.
32795         * modules/linkedhash-list-tests (Makefile.am): Likewise.
32796         * modules/lock-tests (Makefile.am): Likewise.
32797         * modules/rbtree-list-tests (Makefile.am): Likewise.
32798         * modules/rbtree-oset-tests (Makefile.am): Likewise.
32799         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
32800         * modules/tls-tests (Makefile.am): Likewise.
32801         * modules/tsearch-tests (Makefile.am): Likewise.
32802         * modules/xvasprintf-tests (Makefile.am): Likewise.
32803
32804         Fix fpurge for cygwin.
32805         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
32806         value.
32807         * modules/fpurge-tests (Depends-on): Clean up trash.
32808
32809 2007-04-16  Simon Josefsson  <simon@josefsson.org>
32810
32811         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
32812
32813         * m4/autobuild.m4: Re-indent.
32814
32815 2007-04-13  Bruno Haible  <bruno@clisp.org>
32816
32817         * modules/fpurge-tests: New file.
32818         * tests/test-fpurge.c: New file.
32819
32820         * modules/fpurge: New file.
32821         * lib/fpurge.h: New file.
32822         * lib/fpurge.c: New file.
32823         * m4/fpurge.m4: New file.
32824
32825 2007-04-13  Bruno Haible  <bruno@clisp.org>
32826
32827         * modules/fbufmode-tests: New file.
32828         * tests/test-fbufmode.c: New file.
32829
32830         * modules/fbufmode: New file.
32831         * lib/fbufmode.h: New file.
32832         * lib/fbufmode.c: New file.
32833         * m4/fbufmode.m4: New file.
32834
32835 2007-04-13  Bruno Haible  <bruno@clisp.org>
32836
32837         * modules/fwritable-tests: New file.
32838         * tests/test-fwritable.c: New file.
32839
32840         * modules/fwritable: New file.
32841         * lib/fwritable.h: New file.
32842         * lib/fwritable.c: New file.
32843         * m4/fwritable.m4: New file.
32844
32845 2007-04-13  Bruno Haible  <bruno@clisp.org>
32846
32847         * modules/freadable-tests: New file.
32848         * tests/test-freadable.c: New file.
32849
32850         * modules/freadable: New file.
32851         * lib/freadable.h: New file.
32852         * lib/freadable.c: New file.
32853         * m4/freadable.m4: New file.
32854
32855 2007-04-13  Bruno Haible  <bruno@clisp.org>
32856
32857         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
32858         MOSTLYCLEANFILES.
32859
32860 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
32861
32862         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
32863         gzip bootstrap.conf to avoid dragging in i18n machinery.
32864         (gnulib_tool_option): Use it.
32865
32866 2007-04-13  Bruno Haible  <bruno@clisp.org>
32867
32868         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
32869         %F directives.
32870         * tests/test-vasprintf-posix.c (test_function): Likewise.
32871         * tests/test-snprintf-posix.h (test_function): Likewise.
32872         * tests/test-sprintf-posix.h (test_function): Likewise.
32873         * tests/test-fprintf-posix.h (test_function): Likewise.
32874         * tests/test-printf-posix.h (test_function): Likewise.
32875         * tests/test-fprintf-posix.out: Likewise.
32876
32877 2007-04-13  Bruno Haible  <bruno@clisp.org>
32878
32879         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
32880         * modules/tls-tests (configure.ac): Likewise.
32881         Reported by Arto C. Nirkko <anirkko@insel.ch>.
32882
32883 2007-04-13  Bruno Haible  <bruno@clisp.org>
32884
32885         * lib/tls.c (glthread_tls_get): Fix return type.
32886         Patch by Arto C. Nirkko <anirkko@insel.ch>.
32887
32888 2007-04-12  Eric Blake  <ebb9@byu.net>
32889
32890         * modules/gettime (Depends-on): Remove gettime.
32891         Reported by Dmitry V. Levin.
32892
32893 2007-04-12  Bruno Haible  <bruno@clisp.org>
32894
32895         * modules/fflush (Include): Mention <stdio.h>.
32896         * modules/strtoimax (Include): Mention <inttypes.h>.
32897         * modules/strtoumax (Include): Likewise.
32898
32899 2007-04-12  Eric Blake  <ebb9@byu.net>
32900
32901         * .cvsignore: New file.
32902         * .gitignore: Likewise.
32903
32904 2007-04-12  Bruno Haible  <bruno@clisp.org>
32905
32906         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
32907         not before, since $(LDADD) often contains libgnu.a.
32908         * modules/striconv-tests (test_striconv_LDADD): Likewise.
32909         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
32910         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
32911         Needed on Cygwin.
32912
32913 2007-04-12  Eric Blake  <ebb9@byu.net>
32914
32915         Work around glibc's failure to flush stdin on fclose.
32916         * lib/closein.c (close_stdin): Flush stdin before closing.
32917
32918         Work around glibc's failure to reset seekable stdin on exit.
32919         * modules/closein: New module.
32920         * lib/closein.c: New file.
32921         * lib/closein.h: Likewise.
32922         * m4/closein.m4: Likewise.
32923         * MODULES.html.sh (File stream based Input/Output): Document it.
32924
32925 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32926
32927         * gnulib-tool: Rename generated 'autobuild' script to
32928         'do-autobuild' in --create-megatestdir output.
32929
32930         * doc/gnulib.texi (Build robot for gnulib): Fix.
32931
32932 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32933
32934         * modules/sysexits (Depends-on): Add absolute-header.
32935
32936 2007-04-12  Eric Blake  <ebb9@byu.net>
32937
32938         No need to preserve errno on success.
32939         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
32940         Reported by Bruno Haible.
32941
32942 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32943
32944         * MODULES.html.sh (Support for maintaining and releasing
32945         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
32946
32947 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32948
32949         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
32950
32951 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32952
32953         * modules/autobuild: New module.
32954
32955         * m4/autobuild.m4: New file.
32956
32957 2007-04-11  Bruno Haible  <bruno@clisp.org>
32958
32959         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
32960         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
32961         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
32962         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
32963         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32964         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32965         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32966         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32967         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32968         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
32970         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32971         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32972         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
32973         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32974         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32975         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
32976         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32977         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32978         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
32979         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32980         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32981         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
32982         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32983         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32984         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
32985         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
32986         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
32987         Reported by Eric Blake.
32988
32989 2007-04-11  Bruno Haible  <bruno@clisp.org>
32990
32991         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
32992
32993 2007-04-10  Bruno Haible  <bruno@clisp.org>
32994
32995         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
32996         for NaN and Infinity. Needed on FreeBSD 6.1.
32997         * tests/test-vasnprintf-posix.c (test_function): Undo last change
32998         regarding results for "%010a" of Infinity and NaN.
32999         * tests/test-vasprintf-posix.c (test_function): Likewise.
33000         * tests/test-snprintf-posix.h (test_function): Likewise.
33001         * tests/test-sprintf-posix.h (test_function): Likewise.
33002         * tests/test-fprintf-posix.h (test_function): Likewise.
33003         * tests/test-printf-posix.h (test_function): Likewise.
33004         * tests/test-fprintf-posix.out: Likewise.
33005
33006 2007-04-10  Bruno Haible  <bruno@clisp.org>
33007
33008         * modules/locale-tests: New file.
33009         * tests/test-locale.c: New file.
33010
33011         * modules/locale: New file.
33012         * lib/locale_.h: New file.
33013         * m4/locale_h.m4: New file.
33014
33015 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
33016             Bruno Haible  <bruno@clisp.org>
33017
33018         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
33019         be determined, test for availability of the copysignf, copysign,
33020         copysignl functions.
33021         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
33022         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
33023         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
33024
33025 2007-04-09  Eric Blake  <ebb9@byu.net>
33026
33027         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
33028         * modules/stdio (Makefile.am): Support fflush.
33029         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33030         * modules/fflush: New file.
33031         * lib/fflush.c: Likewise.
33032         * m4/fflush.m4: Likewise.
33033         * modules/fflush-tests: New test.
33034         * tests/test-fflush.c: Likewise.
33035         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
33036
33037 2007-04-06  Bruno Haible  <bruno@clisp.org>
33038
33039         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
33040         (VASNPRINTF): Use signbit for faster determination whether to print a
33041         minus sign.
33042         * modules/vasnprintf (Files): Remove lib/float+.h.
33043         * modules/fprintf-posix (Depends-on): Add signbit.
33044         * modules/snprintf-posix (Depends-on): Likewise.
33045         * modules/sprintf-posix (Depends-on): Likewise.
33046         * modules/vasnprintf-posix (Depends-on): Likewise.
33047         * modules/vasprintf-posix (Depends-on): Likewise.
33048         * modules/vfprintf-posix (Depends-on): Likewise.
33049         * modules/vsnprintf-posix (Depends-on): Likewise.
33050         * modules/vsprintf-posix (Depends-on): Likewise.
33051
33052 2007-04-06  Bruno Haible  <bruno@clisp.org>
33053
33054         * tests/test-frexp.c (main): Test also the sign bit of zero results.
33055         * tests/test-frexpl.c (main): Likewise.
33056         * tests/test-ldexpl.c (main): Likewise.
33057         * modules/frexp-tests (Depends-on): Add signbit.
33058         * modules/frexpl-tests (Depdends-on): Likewise.
33059         * modules/ldexpl-tests (Depdends-on): Likewise.
33060
33061 2007-04-06  Bruno Haible  <bruno@clisp.org>
33062
33063         * modules/signbit-tests: New file.
33064         * tests/test-signbit.c: New file.
33065
33066         * modules/signbit: New file.
33067         * lib/signbitf.c: New file.
33068         * lib/signbitd.c: New file.
33069         * lib/signbitl.c: New file.
33070         * m4/signbit.m4: New file.
33071         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
33072         (signbit): New macro.
33073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
33074         REPLACE_SIGNBIT.
33075         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
33076         REPLACE_FREXPL into math.h.
33077
33078 2007-04-06  Bruno Haible  <bruno@clisp.org>
33079
33080         * modules/isnanf-nolibm-tests: New file.
33081         * tests/test-isnanf.c: New file.
33082
33083         * modules/isnanf-nolibm: New file.
33084         * lib/isnanf.h: New file.
33085         * lib/isnanf.c: New file.
33086         * lib/isnan.c: Consider the USE_FLOAT macro.
33087         * m4/isnanf.m4: New file.
33088
33089 2007-04-06  Bruno Haible  <bruno@clisp.org>
33090
33091         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
33092         (Link): New section.
33093
33094         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
33095
33096 2007-04-06  Bruno Haible  <bruno@clisp.org>
33097
33098         Assume the 'long double' type.
33099         * m4/longdouble.m4: Remove file.
33100         * config/srclist.txt: Don't mention longdouble.m4.
33101         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
33102         * lib/float+.h: Likewise.
33103         * lib/frexp.c: Likewise.
33104         * lib/printf-args.h: Likewise.
33105         * lib/printf-args.c: Likewise.
33106         * lib/printf-frexp.c: Likewise.
33107         * lib/printf-parse.c: Likewise.
33108         * lib/vasnprintf.c: Likewise.
33109         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
33110         * m4/intl.m4: Likewise.
33111         * m4/isnanl.m4: Likewise.
33112         * m4/printf.m4: Likewise.
33113         * m4/printf-frexpl.m4: Likewise.
33114         * m4/vasnprintf.m4: Likewise.
33115         * modules/allocsa (Files): Remove m4/longdouble.m4.
33116         * modules/gettext (Files): Likewise.
33117         * modules/relocatable-prog-wrapper (Files): Likewise.
33118         * modules/vasnprintf (Files): Likewise.
33119         * modules/isnanl (Files): Likewise.
33120         (Include): Simplify.
33121         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
33122         (Include): Simplify.
33123         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
33124         (Include): Simplify.
33125         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
33126         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33127         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
33128         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33129         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33130         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33131         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
33132         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33133         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33134         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33135         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
33136         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33137         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
33138         * tests/test-isnanl.c: Likewise.
33139         * tests/test-snprintf-posix.h: Likewise.
33140         * tests/test-sprintf-posix.h: Likewise.
33141         * tests/test-vasnprintf-posix.c: Likewise.
33142         * tests/test-vasnprintf-posix2.c: Likewise.
33143         * tests/test-vasprintf-posix.c: Likewise.
33144
33145 2007-04-06  Bruno Haible  <bruno@clisp.org>
33146
33147         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
33148         * lib/math_.h [__DECC]: Include the overridden include file through
33149         #include_next, outside the double-inclusion guard.
33150         * lib/stdio_.h [__DECC]: Likewise.
33151         * lib/stdlib_.h [__DECC]: Likewise.
33152         * lib/string_.h [__DECC]: Likewise.
33153         * lib/time_.h [__DECC]: Likewise.
33154         * lib/wchar_.h [__DECC]: Likewise.
33155         * lib/wctype_.h [__DECC]: Likewise.
33156         * lib/inttypes_.h [__DECC]: Likewise.
33157         Reported by Albert Chin <china@thewrittenword.com> in
33158         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
33159
33160 2007-04-04  Eric Blake  <ebb9@byu.net>
33161
33162         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
33163         1.5.x.
33164
33165 2007-04-04  Bruno Haible  <bruno@clisp.org>
33166
33167         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
33168         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
33169
33170 2007-04-04  Bruno Haible  <bruno@clisp.org>
33171
33172         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
33173         results for "%010a" of Infinity and NaN.
33174         * tests/test-vasprintf-posix.c (test_function): Likewise.
33175         * tests/test-snprintf-posix.h (test_function): Likewise.
33176         * tests/test-sprintf-posix.h (test_function): Likewise.
33177         * tests/test-fprintf-posix.h (test_function): Remove these tests.
33178         * tests/test-printf-posix.h (test_function): Likewise.
33179         * tests/test-fprintf-posix.out: Update.
33180         Needed for FreeBSD 6.1.
33181
33182 2007-04-04  Bruno Haible  <bruno@clisp.org>
33183
33184         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
33185         directly used by the gnulib modules nor by gnulib-tool.
33186
33187 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33188
33189         * DEPENDENCIES: Give overall description of version dependency
33190         desirability.  Use more-typical names for apps.
33191         Add shell, coreutils, diffutils, grep, tar, gzip.
33192
33193 2007-04-04  Simon Josefsson  <simon@josefsson.org>
33194
33195         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
33196
33197 2007-04-04  Karl Berry  <karl@gnu.org>
33198
33199         * MODULES.html.sh (func_module): missing '.
33200
33201 2007-04-03  Bruno Haible  <bruno@clisp.org>
33202
33203         * modules/argmatch-tests (Makefile.am): New variable
33204         test_argmatch_LDADD.
33205         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
33206         * modules/array-list-tests (Makefile.am): New variable
33207         test_array_list_LDADD.
33208         * modules/array-oset-tests (Makefile.am): New variable
33209         test_array_oset_LDADD.
33210         * modules/avltree-list-tests (Makefile.am): New variable
33211         test_avltree_list_LDADD.
33212         * modules/avltree-oset-tests (Makefile.am): New variable
33213         test_avltree_oset_LDADD.
33214         * modules/avltreehash-list-tests (Makefile.am): New variable
33215         test_avltreehash_list_LDADD.
33216         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
33217         test_canonicalize_lgpl_LDADD.
33218         * modules/carray-list-tests (Makefile.am): New variable
33219         test_carray_list_LDADD.
33220         * modules/dirname-tests (Makefile.am): New variable
33221         test_dirname_LDADD.
33222         * modules/linked-list-tests (Makefile.am): New variable
33223         test_linked_list_LDADD.
33224         * modules/linkedhash-list-tests (Makefile.am): New variable
33225         test_linkedhash_list_LDADD.
33226         * modules/rbtree-list-tests (Makefile.am): New variable
33227         test_rbtree_list_LDADD.
33228         * modules/rbtree-oset-tests (Makefile.am): New variable
33229         test_rbtree_oset_LDADD.
33230         * modules/rbtreehash-list-tests (Makefile.am): New variable
33231         test_rbtreehash_list_LDADD.
33232         * modules/xvasprintf-tests (Makefile.am): New variable
33233         test_xvasprintf_LDADD.
33234         Reported by Eric Blake.
33235
33236 2007-04-03  Eric Blake  <ebb9@byu.net>
33237
33238         * DEPENDENCIES: Weaken m4 requirements.
33239
33240 2007-04-03  Bruno Haible  <bruno@clisp.org>
33241
33242         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
33243         * modules/isnanl-tests (configure.ac): Likewise.
33244
33245 2007-04-03  Ben Pfaff  <blp@gnu.org>
33246
33247         * modules/iconv_open: Add $(srcdir)/ to source directory
33248         references in Makefile fragments that call gperf, to fix VPATH
33249         builds.
33250
33251 2007-04-03  Bruno Haible  <bruno@clisp.org>
33252
33253         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
33254         * lib/ldexpl.c: Undo last change.
33255
33256 2007-04-03  Bruno Haible  <bruno@clisp.org>
33257
33258         * modules/printf-frexpl (Depends-on): Undo last change.
33259         (Files): Add m4/ldexpl.m4.
33260
33261 2007-04-03  Bruno Haible  <bruno@clisp.org>
33262
33263         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
33264         * modules/isnanl (Link): New section.
33265
33266         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
33267         * modules/frexp (Link): New section.
33268
33269         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
33270         * modules/frexpl (Link): New section.
33271
33272         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
33273         * modules/ldexpl (Link): New section.
33274
33275 2007-04-03  Bruno Haible  <bruno@clisp.org>
33276
33277         * modules/TEMPLATE-EXTENDED: New file.
33278         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
33279
33280 2007-04-03  Bruno Haible  <bruno@clisp.org>
33281
33282         * DEPENDENCIES: New file.
33283         Suggested by Simon Josefsson.
33284
33285 2007-04-03  Bruno Haible  <bruno@clisp.org>
33286
33287         * doc/gnulib.texi: Escape @.
33288
33289 2007-04-03  James Youngman  <jay@gnu.org>
33290         and Paul Eggert  <eggert@cs.ucla.edu>
33291
33292         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
33293         birthtime on all systems that have birthtime, not just those which
33294         use st_birthtimensec rather than st_birthtim.  Putting zero in
33295         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
33296         that the birth time is not available for files on an NFS mount.
33297
33298 2007-04-03  Simon Josefsson  <simon@josefsson.org>
33299
33300         * modules/memxor: Move back from crypto/, suggested by Bruno.
33301         * modules/crypto/hmac-sha1: Fix memxor dependency.
33302
33303         * modules/crypto/gc: Moved from ../.
33304
33305 2007-04-02  Eric Blake  <ebb9@byu.net>
33306
33307         * lib/ldexpl.c (includes): Avoid libm.
33308
33309         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
33310
33311 2007-04-02  Bruno Haible  <bruno@clisp.org>
33312
33313         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
33314         on IRIX.
33315
33316 2007-04-02  Bruno Haible  <bruno@clisp.org>
33317
33318         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
33319         x86 or x86_64 platforms running MacOS X.
33320         Reported by Ryan Schmidt <@ryandesign.com>.
33321
33322 2007-04-02  Bruno Haible  <bruno@clisp.org>
33323
33324         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
33325         i386.
33326
33327 2007-04-01  Simon Josefsson  <simon@josefsson.org>
33328
33329         * modules/crypto/arcfour: Moved from ../.
33330         * modules/crypto/arcfour-tests: Moved from ../.
33331         * modules/crypto/arctwo: Moved from ../.
33332         * modules/crypto/arctwo-tests: Moved from ../.
33333         * modules/crypto/des: Moved from ../.
33334         * modules/crypto/des-tests: Moved from ../.
33335         * modules/crypto/gc-arcfour: Moved from ../.
33336         * modules/crypto/gc-arcfour-tests: Moved from ../.
33337         * modules/crypto/gc-arctwo: Moved from ../.
33338         * modules/crypto/gc-arctwo-tests: Moved from ../.
33339         * modules/crypto/gc-des: Moved from ../.
33340         * modules/crypto/gc-des-tests: Moved from ../.
33341         * modules/crypto/gc-hmac-md5: Moved from ../.
33342         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
33343         * modules/crypto/gc-hmac-sha1: Moved from ../.
33344         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
33345         * modules/crypto/gc-md2: Moved from ../.
33346         * modules/crypto/gc-md2-tests: Moved from ../.
33347         * modules/crypto/gc-md4: Moved from ../.
33348         * modules/crypto/gc-md4-tests: Moved from ../.
33349         * modules/crypto/gc-md5: Moved from ../.
33350         * modules/crypto/gc-md5-tests: Moved from ../.
33351         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
33352         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
33353         * modules/crypto/gc-random: Moved from ../.
33354         * modules/crypto/gc-rijndael: Moved from ../.
33355         * modules/crypto/gc-rijndael-tests: Moved from ../.
33356         * modules/crypto/gc-sha1: Moved from ../.
33357         * modules/crypto/gc-sha1-tests: Moved from ../.
33358         * modules/crypto/gc-tests: Moved from ../.
33359         * modules/crypto/hmac-md5: Moved from ../.
33360         * modules/crypto/hmac-md5-tests: Moved from ../.
33361         * modules/crypto/hmac-sha1: Moved from ../.
33362         * modules/crypto/hmac-sha1-tests: Moved from ../.
33363         * modules/crypto/md2: Moved from ../.
33364         * modules/crypto/md2-tests: Moved from ../.
33365         * modules/crypto/md4: Moved from ../.
33366         * modules/crypto/md4-tests: Moved from ../.
33367         * modules/crypto/md5: Moved from ../.
33368         * modules/crypto/md5-tests: Moved from ../.
33369         * modules/crypto/memxor: Moved from ../.
33370         * modules/crypto/rijndael: Moved from ../.
33371         * modules/crypto/rijndael-tests: Moved from ../.
33372         * modules/crypto/sha1: Moved from ../.
33373
33374 2007-03-30  James Youngman  <jay@gnu.org>
33375
33376         * tests/test-stat-time.c (prepare_test): use chmod() rather than
33377         rename() to change the ctime of a file (because ctime is unaffected
33378         by rename on jfs2 on AIX 5.1).
33379         (main): Start by doing cleanup, in case a previous run failed leaving
33380         test files behind.
33381
33382 2007-03-31  Bruno Haible  <bruno@clisp.org>
33383
33384         Support old proprietary implementations of iconv.
33385         * modules/iconv_open: New file.
33386         * lib/iconv_.h: New file.
33387         * m4/iconv_h.m4: New file.
33388         * lib/iconv_open.c: New file.
33389         * lib/iconv_open-aix.gperf: New file.
33390         * lib/iconv_open-hpux.gperf: New file.
33391         * lib/iconv_open-irix.gperf: New file.
33392         * lib/iconv_open-osf.gperf: New file.
33393         * m4/iconv_open.m4: New file.
33394         * modules/linebreak (Depends-on): Add iconv_open.
33395         * modules/striconv (Depends-on): Likewise.
33396         * modules/striconveh (Depends-on): Likewise.
33397         * modules/unicodeio (Depends-on): Likewise.
33398         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
33399         (iconv_t)(-1).
33400         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
33401         conversion if cd is (iconv_t)(-1).
33402         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
33403         is not possible.
33404
33405 2007-03-31  Bruno Haible  <bruno@clisp.org>
33406
33407         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33408         work on Solaris either. Protect also second use of "autodetect_jp".
33409
33410 2007-03-31  Bruno Haible  <bruno@clisp.org>
33411
33412         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
33413         the function is not present.
33414
33415 2007-03-31  Bruno Haible  <bruno@clisp.org>
33416
33417         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
33418         the function is not present.
33419
33420 2007-03-31  Bruno Haible  <bruno@clisp.org>
33421
33422         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
33423         a bug in HP-UX iconv_open().
33424
33425 2007-03-31  Bruno Haible  <bruno@clisp.org>
33426
33427         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
33428         (Mathematics <math.h>): New section, add fpieee.
33429         (Input/output <stdio.h>): Add fseterr.
33430         (Mathematics <math.h>): New section, add printf-frexp.
33431         (Container data structures): Add sublist.
33432         (Core language properties): Add fpucw, inline.
33433         (Functions for greatest-width integer types <inttypes.h>): Add
33434         imaxabs, imaxdiv, inttypes.
33435         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
33436         isnanl-nolibm, ldexp.
33437         (Mathematics <math.h>): New section, add printf-frexpl.
33438         (Support for systems lacking POSIX:2001): Add fprintf-posix,
33439         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
33440         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
33441         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
33442         (Unicode string functions): Add unistr/u*-mbtoucr.
33443         (Java): Add javacomp-script, javaexec-script.
33444         (C#): Add csharpcomp-script, csharpexec-script.
33445         (Support for building libraries and executables): Add havelib,
33446         relocatable-*.
33447         (Support for maintaining and releasing projects): Renamed from
33448         'Support for maintaining and release projects'. Add announce-gen.
33449
33450 2007-03-31  Bruno Haible  <bruno@clisp.org>
33451
33452         * README: Talk primarily about git.
33453         (git and CVS): Renamed from CVS.
33454         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
33455         gnulib is available through git.
33456         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
33457
33458 2007-03-30  Bruno Haible  <bruno@clisp.org>
33459
33460         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
33461         * lib/poll_.h: Likewise.
33462         * lib/stat_.h: Likewise.
33463         * lib/sys_time_.h: Likewise.
33464         * lib/sysexit_.h: Likewise.
33465         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
33466         * lib/stdbool_.h: Likewise.
33467         * lib/byteswap_.h: Add double-inclusion guard.
33468
33469 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
33470
33471         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
33472
33473 2007-03-30  Karl Berry  <karl@gnu.org>
33474
33475         * config/srclist-update: double space after USA in the license
33476         substitution, since that's how it's usually (?) written.
33477
33478 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33479
33480         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
33481         reported by Bruno Haible.
33482
33483 2007-03-29  Bruno Haible  <bruno@clisp.org>
33484
33485         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
33486         a bug in AIX iconv().
33487
33488 2007-03-29  Bruno Haible  <bruno@clisp.org>
33489
33490         * modules/ldexpl-tests: New file.
33491         * tests/test-ldexpl.c: New file.
33492
33493 2007-03-29  Bruno Haible  <bruno@clisp.org>
33494
33495         * lib/ldexpl.c: Include fpucw.h.
33496         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
33497         multiplication.
33498         * modules/ldexpl (Depends-on): Add fpucw.
33499
33500 2007-03-29  Bruno Haible  <bruno@clisp.org>
33501
33502         * modules/ldexpl: New file.
33503         * m4/ldexpl.m4: New file.
33504         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
33505         set.
33506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
33507         REPLACE_LDEXPL.
33508         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
33509         REPLACE_LDEXPL.
33510         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
33511         gl_FUNC_LDEXPL_WORKS.
33512         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
33513         * modules/mathl (Files): Remove lib/ldexpl.c.
33514         (Depends-on): Add ldexpl.
33515
33516 2007-03-29  Bruno Haible  <bruno@clisp.org>
33517
33518         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
33519
33520 2007-03-29  Bruno Haible  <bruno@clisp.org>
33521
33522         * tests/test-striconveh.c (main): Don't assume that a direct conversion
33523         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
33524         and possibly also HP-UX.
33525         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33526         work on AIX, IRIX, HP-UX, OSF/1.
33527         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
33528         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
33529         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
33530         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
33531         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
33532         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
33533
33534 2007-03-29  Bruno Haible  <bruno@clisp.org>
33535
33536         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
33537
33538 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33539
33540         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
33541         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
33542
33543 2007-03-29  Eric Blake  <ebb9@byu.net>
33544
33545         * lib/acl-internal.h: Remove redundant include.
33546         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
33547         Cygwin when a file is locked.
33548
33549 2007-03-29  Bruno Haible  <bruno@clisp.org>
33550
33551         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
33552         file.
33553         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
33554
33555 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33556
33557         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
33558         try to remove a parent directory if the child couldn't be removed
33559         (except for the first rmdir, which could fail because the child
33560         doesn't exist).  Problem reported by Jeff Blaine in
33561         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
33562
33563 2007-03-28  Bruno Haible  <bruno@clisp.org>
33564
33565         * lib/striconveh.c (utf8conv_carefully): New function.
33566         (mem_cd_iconveh_internal): Invoke it.
33567
33568 2007-03-28  Bruno Haible  <bruno@clisp.org>
33569
33570         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
33571         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
33572         input.
33573         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
33574         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
33575         unistr/u8-uctomb.
33576
33577 2007-03-28  Bruno Haible  <bruno@clisp.org>
33578
33579         * modules/unistr/u8-mbtoucr: New file.
33580         * lib/unistr/u8-mbtoucr.c: New file.
33581         * modules/unistr/u16-mbtoucr: New file.
33582         * lib/unistr/u16-mbtoucr.c: New file.
33583         * modules/unistr/u16-mbtoucr: New file.
33584         * lib/unistr/u16-mbtoucr.c: New file.
33585         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
33586
33587 2007-03-27  Simon Josefsson  <simon@josefsson.org>
33588             Bruno Haible  <bruno@clisp.org>
33589
33590         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
33591         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
33592         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
33593
33594         * m4/stdio_h.m4: Add stubs for vasprintf too.
33595
33596         * modules/stdio: Support vasprintf in sed command.
33597
33598         * modules/vasprintf: Depend on stdio for prototypes.  Remove
33599         vasprintf.h.  Add stdio module indicator.
33600
33601         * lib/stdio_.h: Declare asprintf and vasprintf, based on
33602         vasprintf.h.
33603
33604         * lib/vasprintf.h: File removed.
33605
33606         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
33607         * lib/vasprintf.c: Ditto.
33608         * lib/xvasprintf.c: Ditto.
33609         * tests/test-vasprintf-posix.c: Ditto.
33610         * tests/test-vasprintf.c: Ditto.
33611
33612 2007-03-27  Bruno Haible  <bruno@clisp.org>
33613
33614         Make vasnprintf multithread-safe.
33615         * lib/vasnprintf.c (decimal_point_char): New function.
33616         (VASNPRINTF): Use it.
33617         Suggested by Simon Josefsson.
33618
33619 2007-03-27  Eric Blake  <ebb9@byu.net>
33620
33621         Support sub-second birthtime on cygwin.
33622         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
33623         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
33624         (get_stat_birthtime): Also work with st_birthtim.
33625
33626 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33627
33628         * lib/stat-time.h (USE_BIRTHTIME): Remove.
33629         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
33630         (get_stat_birthtime_ns): Do not try to use "spare" fields.
33631         (get_stat_birthtime_ns): Simplify compile-time tests.
33632         (get_stat_birthtime): Change the API to look like
33633         get_stat_mtime etc., except return a negative tv_nsec on error.
33634         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
33635         Don't check for "spare" fields.
33636         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
33637         or for struct stat.st_birthtime, as these tests aren't used.
33638         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
33639
33640 2007-03-27  Bruno Haible  <bruno@clisp.org>
33641
33642         * lib/stat-time.h: Include <sys/stat.h>.
33643
33644 2007-03-27  James Youngman  <jay@gnu.org>
33645
33646         * lib/stat-time.h (get_stat_birthtime): New function for
33647           retrieving st_birthtime as provided by UFS2 (hence *BSD).
33648         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
33649           and its variants.
33650         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
33651         * modules/stat-time-test: New file.
33652         * tests/test-stat-time.c: New test, devised by Bruno Haible.
33653
33654 2007-03-26  Bruno Haible  <bruno@clisp.org>
33655
33656         Better support of signalling NaNs.
33657         * lib/atanl.c: Include isnanl.h.
33658         (atanl): Perform test for NaN at the beginning of the function and
33659         through a call to isnanl.
33660         * lib/cosl.c: Include isnanl.h.
33661         (cosl): Perform test for NaN at the beginning of the function and
33662         through a call to isnanl.
33663         * lib/ldexpl.c: Include isnanl.h.
33664         (ldexpl): Perform test for NaN through a call to isnanl.
33665         * lib/logl.c: Include isnanl.h.
33666         (logl): Perform test for NaN at the beginning of the function and
33667         through a call to isnanl.
33668         * lib/sinl.c: Include isnanl.h.
33669         (sinl): Perform test for NaN at the beginning of the function and
33670         through a call to isnanl.
33671         * lib/sqrtl.c: Include isnanl.h.
33672         (sqrtl): Perform test for NaN at the beginning of the function and
33673         through a call to isnanl.
33674         * lib/tanl.c: Include isnanl.h.
33675         (tanl): Perform test for NaN at the beginning of the function and
33676         through a call to isnanl.
33677         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
33678         * modules/mathl (Depends-on): Add isnanl.
33679
33680 2007-03-26  Eric Blake  <ebb9@byu.net>
33681
33682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
33683         regression in logic sense of previous patch.
33684
33685 2007-03-26  Bruno Haible  <bruno@clisp.org>
33686
33687         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
33688         unportable shell command "if ! ...".
33689         Reported by Ralf Wildenhues.
33690
33691 2007-03-25  Bruno Haible  <bruno@clisp.org>
33692
33693         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
33694         <sysexits.h> file, and only add EX_CONFIG.
33695         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
33696         absolute file name and whether it is sufficient. Substitute also
33697         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
33698         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
33699         ABSOLUTE_SYSEXITS_H into sysexits.h.
33700
33701 2007-03-25  Bruno Haible  <bruno@clisp.org>
33702
33703         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
33704         hints is NULL.
33705
33706 2007-03-25  Bruno Haible  <bruno@clisp.org>
33707
33708         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
33709         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
33710
33711 2007-03-25  Bruno Haible  <bruno@clisp.org>
33712
33713         * lib/vasnprintf.c: Include langinfo.h.
33714         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
33715         multithread-safe.
33716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
33717         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
33718         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33719         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33721         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33722         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33723         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
33724         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33725         Reported by Simon Josefsson.
33726
33727 2007-03-25  Bruno Haible  <bruno@clisp.org>
33728
33729         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
33730         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
33731         * modules/vasnprintf (Depends-on): Add stdint.
33732
33733 2007-03-25  Bruno Haible  <bruno@clisp.org>
33734
33735         * modules/fpieee: New file.
33736         * m4/fpieee.m4: New file.
33737         * modules/isnan-nolibm (Depends-on): Add fpieee.
33738         * modules/isnanl-nolibm (Depends-on): Add fpieee.
33739         * modules/isnanl (Depends-on): Add fpieee.
33740
33741 2007-03-25  Bruno Haible  <bruno@clisp.org>
33742
33743         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
33744
33745 2007-03-25  Bruno Haible  <bruno@clisp.org>
33746
33747         Avoid test failures on IRIX 6.5.
33748         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
33749         (main): Use it.
33750         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
33751         macros.
33752         (main): Use them.
33753
33754 2007-03-25  Bruno Haible  <bruno@clisp.org>
33755
33756         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
33757         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
33758         exists but doesn't work.
33759         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
33760         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
33761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
33762         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
33763
33764 2007-03-25  Bruno Haible  <bruno@clisp.org>
33765
33766         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
33767         returns inf. Needed on IRIX 6.5.
33768
33769 2007-03-25  Bruno Haible  <bruno@clisp.org>
33770
33771         * tests/test-frexpl.c: Include isnanl-nolibm.h.
33772         (main): Use isnanl instead of x != x idiom.
33773         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
33774
33775         * tests/test-frexp.c: Include isnan.h.
33776         (main): Use isnan instead of x != x idiom.
33777         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
33778
33779 2007-03-25  Bruno Haible  <bruno@clisp.org>
33780
33781         * tests/test-frexp.c (NaN): New function/macro.
33782         (main): Use it instead of 0.0 / 0.0.
33783         * tests/test-isnan.c (NaN): New function/macro.
33784         (main): Use it instead of 0.0 / 0.0.
33785         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
33786         (test_function): Use it instead of 0.0 / 0.0.
33787         * tests/test-vasprintf-posix.c (NaN): New function/macro.
33788         (test_function): Use it instead of 0.0 / 0.0.
33789         * tests/test-snprintf-posix.h (NaN): New function/macro.
33790         (test_function): Use it instead of 0.0 / 0.0.
33791         * tests/test-sprintf-posix.h (NaN): New function/macro.
33792         (test_function): Use it instead of 0.0 / 0.0.
33793         * tests/test-fprintf-posix.h (NaN): New function/macro.
33794         (test_function): Use it instead of 0.0 / 0.0.
33795         * tests/test-printf-posix.h (NaN): New function/macro.
33796         (test_function): Use it instead of 0.0 / 0.0.
33797
33798         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
33799
33800 2007-03-25  Bruno Haible  <bruno@clisp.org>
33801
33802         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
33803
33804 2007-03-25  Bruno Haible  <bruno@clisp.org>
33805
33806         * lib/regexec.c (merge_state_with_log): Make static.
33807
33808 2007-03-25  Bruno Haible  <bruno@clisp.org>
33809
33810         * lib/trigl.c (kernel_rem_pio2): Make static.
33811
33812 2007-03-25  Bruno Haible  <bruno@clisp.org>
33813
33814         * lib/sincosl.c (sincosl_table): Make static.
33815
33816 2007-03-25  Bruno Haible  <bruno@clisp.org>
33817
33818         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
33819         if the compiler does not support C99.
33820
33821 2007-03-25  Bruno Haible  <bruno@clisp.org>
33822
33823         * modules/time (Makefile.am): Ensure all rule action lines start with a
33824         tab.
33825
33826 2007-03-24  Bruno Haible  <bruno@clisp.org>
33827
33828         * modules/tsearch-tests: New file.
33829         * tests/test-tsearch.sh: New file.
33830         * tests/test-tsearch.c: New file, mostly copied from glibc.
33831
33832         * modules/search-tests: New file.
33833         * tests/test-search.c: New file.
33834
33835         * modules/search: New file.
33836         * lib/search_.h: New file, incorporating lib/tsearch.h.
33837         * m4/search_h.m4: New file.
33838         * lib/tsearch.h: Remove file.
33839         * lib/tsearch.c: Include search.h instead of tsearch.h.
33840         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
33841         HAVE_TSEARCH.
33842         * modules/tsearch (Files): Remove lib/tsearch.h.
33843         (Depends-on): Add search.
33844         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
33845         (Include): Change tsearch.h into search.h.
33846
33847 2007-03-24  Bruno Haible  <bruno@clisp.org>
33848
33849         * modules/fpucw: New file.
33850         * lib/fpucw.h: New file.
33851         * lib/frexp.c: Include fpucw.h.
33852         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
33853         (FUNC): Use them.
33854         * lib/printf-frexp.c: Include fpucw.h.
33855         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
33856         (FUNC): Use them.
33857         * lib/vasnprintf.c: Include fpucw.h.
33858         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
33859         'long double' calculations.
33860         * tests/test-frexpl.c: Include fpucw.h.
33861         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
33862         * tests/test-printf-frexpl.c: Include fpucw.h.
33863         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
33864         * modules/frexpl (Depends-on): Add fpucw.
33865         * modules/printf-frexpl (Depends-on): Likewise.
33866         * modules/fprintf-posix (Depends-on): Likewise.
33867         * modules/snprintf-posix (Depends-on): Likewise.
33868         * modules/sprintf-posix (Depends-on): Likewise.
33869         * modules/vasnprintf-posix (Depends-on): Likewise.
33870         * modules/vasprintf-posix (Depends-on): Likewise.
33871         * modules/vfprintf-posix (Depends-on): Likewise.
33872         * modules/vsnprintf-posix (Depends-on): Likewise.
33873         * modules/vsprintf-posix (Depends-on): Likewise.
33874         * modules/frexpl-tests (Depends-on): Likewise.
33875         * modules/printf-frexpl-tests (Depends-on): Likewise.
33876
33877 2007-03-24  Bruno Haible  <bruno@clisp.org>
33878
33879         * lib/float+.h: New file.
33880         * lib/isnan.c: Include float+.h.
33881         (SIZE): New macro.
33882         (FUNC): Compare only SIZE bytes of the value.
33883         * lib/vasnprintf.c: Include float+.h.
33884         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
33885         SIZEOF_LDBL or SIZEOF_DBL bytes.
33886         * modules/isnan-nolibm (Files): Add lib/float+.h.
33887         * modules/isnanl-nolibm (Files): Add lib/float+.h.
33888         * modules/isnanl (Files): Add lib/float+.h.
33889         * modules/vasnprintf (Files): Add lib/float+.h.
33890
33891 2007-03-24  Bruno Haible  <bruno@clisp.org>
33892
33893         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
33894         include isnanl-nolibm.h.
33895
33896 2007-03-24  Bruno Haible  <bruno@clisp.org>
33897
33898         * tests/test-read-file.c (main): Don't produce spurious output for
33899         expected situations. Make the test fail if it encountered unexpected
33900         results.
33901
33902 2007-03-24  Bruno Haible  <bruno@clisp.org>
33903
33904         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
33905         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
33906
33907 2007-03-24  Bruno Haible  <bruno@clisp.org>
33908
33909         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
33910
33911 2007-03-24  Bruno Haible  <bruno@clisp.org>
33912
33913         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
33914         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
33915
33916         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
33917         * modules/utf8-ucs4: Turn into a symbolic link to module
33918         unistr/u8-mbtouc.
33919
33920         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
33921         utf8-ucs4-unsafe.
33922         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
33923         unistr/u8-mbtouc-unsafe.
33924
33925         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
33926         * modules/utf16-ucs4: Turn into a symbolic link to module
33927         unistr/u16-mbtouc.
33928
33929         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
33930         utf16-ucs4-unsafe.
33931         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
33932         unistr/u16-mbtouc-unsafe.
33933
33934         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
33935         * modules/ucs4-utf8: Turn into a symbolic link to module
33936         unistr/u8-ubtomb.
33937
33938         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
33939         * modules/ucs4-utf16: Turn into a symbolic link to module
33940         unistr/u16-ubtomb.
33941
33942 2007-03-24  Bruno Haible  <bruno@clisp.org>
33943
33944         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
33945         Enable the function only if HAVE_INLINE.
33946         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
33947         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
33948         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
33949         Enable the function only if HAVE_INLINE.
33950         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
33951         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
33952         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
33953         Enable the function only if HAVE_INLINE.
33954         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
33955         Enable the function only if HAVE_INLINE.
33956         * modules/utf8-ucs4: Update.
33957         * modules/utf8-ucs4-unsafe: Update.
33958         * modules/utf16-ucs4: Update.
33959         * modules/utf16-ucs4-unsafe: Update.
33960         * modules/ucs4-utf8: Update.
33961         * modules/ucs4-utf16: Update.
33962
33963 2007-03-24  Bruno Haible  <bruno@clisp.org>
33964
33965         * lib/utf8-ucs4.h: Remove file.
33966         * lib/utf8-ucs4-unsafe.h: Remove file.
33967         * lib/utf16-ucs4.h: Remove file.
33968         * lib/utf16-ucs4-unsafe.h: Remove file.
33969         * lib/ucs4-utf8.h: Remove file.
33970         * lib/ucs4-utf16.h: Remove file.
33971         * lib/unistr.h: Include their previous contents.
33972         * m4/utf-ucs4.m4: Remove file.
33973         * m4/ucs4-utf.m4: Remove file.
33974         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
33975         (Depends-on): Add unistr/base.
33976         (configure.ac): Remove gl_UTF_UCS4.
33977         (Makefile.am): Update.
33978         (Include): Change to unistr.h.
33979         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
33980         (Depends-on): Add unistr/base.
33981         (configure.ac): Remove gl_UTF_UCS4.
33982         (Makefile.am): Update.
33983         (Include): Change to unistr.h.
33984         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
33985         (Depends-on): Add unistr/base.
33986         (configure.ac): Remove gl_UTF_UCS4.
33987         (Makefile.am): Update.
33988         (Include): Change to unistr.h.
33989         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
33990         (Depends-on): Add unistr/base.
33991         (configure.ac): Remove gl_UTF_UCS4.
33992         (Makefile.am): Update.
33993         (Include): Change to unistr.h.
33994         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
33995         (Depends-on): Add unistr/base.
33996         (configure.ac): Remove gl_UCS4_UTF.
33997         (Makefile.am): Update.
33998         (Include): Change to unistr.h.
33999         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
34000         (Depends-on): Add unistr/base.
34001         (configure.ac): Remove gl_UCS4_UTF.
34002         (Makefile.am): Update.
34003         (Include): Change to unistr.h.
34004         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
34005         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
34006         utf8-ucs4-unsafe.h.
34007         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
34008         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
34009         utf16-ucs4-unsafe.h.
34010         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
34011         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
34012         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
34013         * lib/unistr/u8-strchr.c: Likewise.
34014         * lib/unistr/u8-strrchr.c: Likewise.
34015         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
34016         * lib/unistr/u16-strchr.c: Likewise.
34017         * lib/unistr/u16-strrchr.c: Likewise.
34018         * lib/striconveh.c: Update.
34019         * lib/linebreak.c: Update.
34020
34021 2007-03-24  Bruno Haible  <bruno@clisp.org>
34022
34023         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
34024         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
34025
34026 2007-03-22  Bruno Haible  <bruno@clisp.org>
34027
34028         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
34029
34030 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
34031
34032         * MODULES.html.sh (File system functions): New module write-any-file.
34033         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
34034         * m4/write-any-file.m4: New files.
34035
34036 2007-03-23  Eric Blake  <ebb9@byu.net>
34037
34038         * gnulib-tool: Rearrange space-tab sequences, since some editors
34039         like to eat them.
34040
34041 2007-03-23  Eric Blake  <ebb9@byu.net>
34042
34043         * lib/version-etc.c (version_etc_va): Update license wording to
34044         be more concise.  Recommended by Richard Stallman.
34045
34046 2007-03-22  Bruno Haible  <bruno@clisp.org>
34047
34048         * lib/poll.c (MSG_PEEK): New fallback definition.
34049
34050 2007-03-22  Bruno Haible  <bruno@clisp.org>
34051
34052         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
34053         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
34054         (main): Update.
34055         Fixes a compilation error on BeOS.
34056
34057 2007-03-22  Bruno Haible  <bruno@clisp.org>
34058
34059         * modules/frexpl-tests: New file.
34060         * tests/test-frexpl.c: New file.
34061
34062         * modules/frexpl: New file.
34063         * m4/frexpl.m4: New file.
34064         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
34065         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
34066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
34067         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
34068         (Depends-on): Add frexpl. Remove isnanl-nolibm.
34069         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
34070
34071 2007-03-22  Bruno Haible  <bruno@clisp.org>
34072
34073         * lib/frexpl.c: Share code with lib/frexp.c.
34074         * modules/mathl (Files): Add lib/frexp.c.
34075         (Depends-on): Add isnanl-nolibm.
34076
34077 2007-03-22  Bruno Haible  <bruno@clisp.org>
34078
34079         * modules/printf-frexp (Files): Add m4/frexp.m4.
34080         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
34081         only if the found frexp function actually works.
34082
34083 2007-03-22  Bruno Haible  <bruno@clisp.org>
34084
34085         * lib/frexp.c: Remove older implementation that uses divisions.
34086
34087 2007-03-21  Bruno Haible  <bruno@clisp.org>
34088
34089         * modules/frexp-tests: New file.
34090         * tests/test-frexp.c: New file.
34091
34092         * modules/frexp: New file.
34093         * lib/frexp.c: New file.
34094         * m4/frexp.m4: New file.
34095         * lib/math_.h (frexp): New declaration.
34096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
34097         REPLACE_FREXP.
34098         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
34099
34100 2007-03-21  Bruno Haible  <bruno@clisp.org>
34101
34102         * modules/isnanl-tests: New file.
34103         * tests/test-isnanl.c: New file.
34104
34105         * modules/isnanl: New file.
34106         * lib/isnanl.h: New file.
34107         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
34108         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
34109         gl_FUNC_ISNANL_WORKS.
34110         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
34111         New macros.
34112
34113 2007-03-21  Bruno Haible  <bruno@clisp.org>
34114
34115         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
34116         lib/isnanl.h.
34117         (Include): Update.
34118         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
34119         * lib/vasnprintf.c: Update.
34120         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
34121         tests/test-isnanl.h, remove tests/test-isnanl.c.
34122         (Makefile.am): Update.
34123         * tests/test-isnanl-nolibm.c: New file.
34124         * tests/test-isnanl.h: New file.
34125         * tests/test-isnanl.c: Remove file.
34126
34127 2007-03-21  Jim Meyering  <jim@meyering.net>
34128
34129         When trying to open ".", treat ESTALE like EACCES.
34130         * lib/savewd.c (savewd_save): Resort to forking not just upon
34131         failure with EACCES, but also when errno is ESTALE.
34132
34133 2007-03-20  Bruno Haible  <bruno@clisp.org>
34134
34135         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
34136         Needed on AIX 5.1. Reported by Matthew Woehlke.
34137
34138 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34139
34140         Suggestions by Bruno Haible:
34141         * lib/acl-internal.h: Include "gettext.h" rather than rolling
34142         our own.
34143         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
34144         * modules/acl (Depends-on): Add gettext.
34145
34146 2007-03-19  Bruno Haible  <bruno@clisp.org>
34147
34148         * modules/iconvme: Remove file.
34149         * lib/iconvme.h: Remove file.
34150         * lib/iconvme.c: Remove file.
34151         * m4/iconvme.m4: Remove file.
34152
34153 2007-03-19  Bruno Haible  <bruno@clisp.org>
34154
34155         * doc/relocatable-maint.texi: Break long shell script line.
34156         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34157
34158 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34159
34160         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
34161         handle file_has_acl.
34162         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
34163         * lib/acl.c: Move header inclusions and related macro defns into
34164         lib/acl-internal.h.
34165         (S_ISLNK): Remove defn, since that's now done for us.
34166         (file_has_acl): Move to lib/file-has-acl.c.
34167         Call acl_trivial if available.  This is the crucial part of the fix.
34168         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
34169         shared within the library.  Rewrite a bit, partly to make it compatible
34170         with the GNU coding style.
34171         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
34172         Remove unnecessary double-quotes.
34173         Don't test for acl_to_text; the build will catch that.
34174         Replace acl_entries if it doesn't exist and it is needed.
34175         Check for -lsec and acl_trivial (as used on Solaris 10).
34176         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
34177         lib/file-has-acl.c.
34178         (Depends-on): Add sys_stat, for S_ISLNK.
34179
34180 2007-03-19  Ben Pfaff  <blp@gnu.org>
34181
34182         * doc/gnulib.texi: Fix typos.
34183         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34184
34185 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34186
34187         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
34188         If size is zero here, buf must be zero.
34189
34190 2007-03-19  Simon Josefsson  <simon@josefsson.org>
34191
34192         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
34193         <bruno@clisp.org>.
34194
34195 2007-03-18  Bruno Haible  <bruno@clisp.org>
34196
34197         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
34198         Suggested by Eric Blake.
34199
34200 2007-03-18  Ben Pfaff  <blp@gnu.org>
34201
34202         * doc/relocatable.texi: Recommend using as prefix a directory
34203         that does not exist and will never be created.  Based on
34204         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
34205         and others.
34206
34207 2007-03-17  Bruno Haible  <bruno@clisp.org>
34208
34209         * lib/fchownat.c: Include lchown.h.
34210
34211 2007-03-17  Bruno Haible  <bruno@clisp.org>
34212
34213         Fix endless loop when the given allocated size was > INT_MAX.
34214         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
34215         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
34216         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
34217         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
34218         * lib/sprintf.c (sprintf): Likewise.
34219
34220 2007-03-17  Bruno Haible  <bruno@clisp.org>
34221
34222         * tests/test-argp-2.sh (func_compare): Output a context diff.
34223
34224 2007-03-17  Bruno Haible  <bruno@clisp.org>
34225
34226         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
34227         locale's decimal-point character.
34228
34229 2007-03-17  Bruno Haible  <bruno@clisp.org>
34230
34231         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
34232         before comparing it. Needed because on some platforms (e.g. x86) a
34233         'long double' occupies less bytes than sizeof (long double).
34234
34235 2007-03-17  Bruno Haible  <bruno@clisp.org>
34236
34237         * tests/test-crc.c (main): Make printf statements 64-bit clean.
34238         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
34239         * tests/test-getaddrinfo.c (simple): Likewise.
34240         * tests/test-read-file.c (main): Likewise.
34241
34242 2007-03-17  Bruno Haible  <bruno@clisp.org>
34243
34244         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
34245
34246 2007-03-17  Bruno Haible  <bruno@clisp.org>
34247
34248         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
34249         unused variable.
34250
34251 2007-03-17  Bruno Haible  <bruno@clisp.org>
34252
34253         * tests/test-c-strcasecmp.c: Include c-strcase.h.
34254         * tests/test-c-strncasecmp.c: Likewise.
34255
34256 2007-03-17  Bruno Haible  <bruno@clisp.org>
34257
34258         * modules/stdlib (Depends-on): Add unistd.
34259         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
34260         Needed for MacOS X 10.3.
34261
34262 2007-03-17  Bruno Haible  <bruno@clisp.org>
34263
34264         * lib/unistr/u-strdup.h: Include <stdlib.h>.
34265
34266 2007-03-17  Bruno Haible  <bruno@clisp.org>
34267
34268         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
34269
34270 2007-03-17  Bruno Haible  <bruno@clisp.org>
34271
34272         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
34273         to reflect files copied from gnulib (with or without modifications).
34274         Suggested by Jim Meyering.
34275
34276 2007-03-17  Eric Blake  <ebb9@byu.net>
34277
34278         * NEWS: Document stdlib change from 2007-02-18.
34279
34280 2007-03-17  Jim Meyering  <jim@meyering.net>
34281
34282         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
34283         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
34284         someone uses a name containing shell meta-characters.
34285         Reported by Alfred M. Szmidt.
34286
34287         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
34288
34289 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34290
34291         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
34292         and copy gettext configuration files only if configure.ac contains
34293         a use of AM_GNU_GETTEXT_VERSION.
34294
34295 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34296
34297         * build-aux/bootstrap (gnulib_name): New variable.
34298         (gnulib_tool_options): Use it.
34299
34300 2007-03-13  Simon Josefsson  <simon@josefsson.org>
34301
34302         * tests/test-des.c: Use new namespace.
34303
34304 2007-03-15  Bruno Haible  <bruno@clisp.org>
34305
34306         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
34307         Reported by James Youngman <jay@gnu.org>.
34308
34309 2007-03-15  Bruno Haible  <bruno@clisp.org>
34310
34311         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
34312         declared prototype. Needed with cc on OSF/1 5.1.
34313
34314 2007-03-15  Bruno Haible  <bruno@clisp.org>
34315
34316         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
34317         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
34318         (struct gl_list_implementation): Add dispose_fn argument to the
34319         'create_empty', 'create' methods.
34320         (struct gl_list_impl_base): Add field 'dispose_fn'.
34321         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
34322         argument.
34323         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
34324         dispose_fn argument.
34325         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
34326         dispose_fn on the dropped values.
34327         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
34328         dispose_fn argument.
34329         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
34330         dropped values.
34331         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
34332         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34333         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
34334         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34335         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
34336         argument.
34337         (gl_tree_list_free): Call dispose_fn on the dropped values.
34338         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
34339         the dropped values.
34340         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
34341         Add dispose_fn argument.
34342         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
34343         Call dispose_fn on the dropped values.
34344         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
34345         Add dispose_fn argument.
34346         (gl_sublist_create): Initialize the 'dispose_fn' field.
34347         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
34348         * tests/test-array_list.c (main): Update.
34349         * tests/test-carray_list.c (main): Update.
34350         * tests/test-avltree_list.c (main): Update.
34351         * tests/test-rbtree_list.c (main): Update.
34352         * tests/test-avltreehash_list.c (main): Update.
34353         * tests/test-rbtreehash_list.c (main): Update.
34354         * tests/test-linked_list.c (main): Update.
34355         * tests/test-linkedhash_list.c (main): Update.
34356         * tests/test-array_oset.c (main): Update.
34357
34358 2007-03-15  Bruno Haible  <bruno@clisp.org>
34359
34360         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
34361         (gl_oset_create_empty): Add dispose_fn argument.
34362         (struct gl_oset_implementation): Add dispose_fn argument to
34363         'create_empty' method.
34364         (struct gl_oset_impl_base): Add dispose_fn field.
34365         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
34366         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
34367         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
34368         values.
34369         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
34370         (gl_tree_oset_free): Call dispose_fn on the dropped values.
34371         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34372         dropped value.
34373         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34374         dropped value.
34375         * tests/test-array_oset.c (main): Update.
34376         * tests/test-avltree_oset.c (main): Update.
34377         * tests/test-rbtree_oset.c (main): Update.
34378         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
34379
34380 2007-03-13  Bruno Haible  <bruno@clisp.org>
34381
34382         * tests/test-stdbool.c (i): Update after last patch.
34383
34384 2007-03-12  Bruno Haible  <bruno@clisp.org>
34385
34386         * lib/quotearg.c: Include <wctype.h> early, before the definition of
34387         the iswprint macro. Needed on Solaris 2.5.1.
34388
34389 2007-03-12  Bruno Haible  <bruno@clisp.org>
34390
34391         * tests/test-printf-frexp.c (main): Declare x as volatile.
34392
34393 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34394
34395         * doc/gnulib.texi (Build robot for gnulib): New section.
34396
34397 2007-03-12  Jim Meyering  <jim@meyering.net>
34398
34399         * build-aux/bootstrap: New file.
34400         * build-aux/bootstrap.conf: New file, from coreutils.
34401
34402 2007-03-11  Bruno Haible  <bruno@clisp.org>
34403
34404         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
34405
34406 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34407
34408         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
34409         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
34410         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
34411
34412 2007-03-11  Bruno Haible  <bruno@clisp.org>
34413
34414         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
34415         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
34416
34417 2007-03-11  Bruno Haible  <bruno@clisp.org>
34418
34419         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
34420         formula. Needed for SunPRO C 5.0.
34421
34422 2007-03-11  Bruno Haible  <bruno@clisp.org>
34423
34424         * modules/long-options (Depends-on): Add getopt.
34425
34426 2007-03-11  Bruno Haible  <bruno@clisp.org>
34427
34428         * modules/modechange (Depends-on): Add stdbool.
34429
34430 2007-03-11  Bruno Haible  <bruno@clisp.org>
34431
34432         * modules/i-ring (Depends-on): Add stdbool.
34433
34434 2007-03-11  Bruno Haible  <bruno@clisp.org>
34435
34436         * modules/gc-des (Depends-on): Add stdbool.
34437
34438 2007-03-11  Bruno Haible  <bruno@clisp.org>
34439
34440         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
34441
34442 2007-03-11  Bruno Haible  <bruno@clisp.org>
34443
34444         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
34445
34446 2007-03-11  Bruno Haible  <bruno@clisp.org>
34447
34448         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
34449
34450 2007-03-11  Bruno Haible  <bruno@clisp.org>
34451
34452         * lib/vasnprintf.c (sprintf): Undefine.
34453
34454 2007-03-11  Bruno Haible  <bruno@clisp.org>
34455
34456         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
34457         initializers in SunPRO C and Compaq C compilers.
34458
34459 2007-03-11  Bruno Haible  <bruno@clisp.org>
34460
34461         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
34462         decrementing code ANSI C compliant.
34463
34464 2007-03-11  Bruno Haible  <bruno@clisp.org>
34465
34466         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
34467         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
34468
34469 2007-03-11  Bruno Haible  <bruno@clisp.org>
34470
34471         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
34472         <stdbool.h> substitute doesn't pass.
34473
34474 2007-03-11  Bruno Haible  <bruno@clisp.org>
34475
34476         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
34477
34478 2007-03-11  Bruno Haible  <bruno@clisp.org>
34479
34480         * gnulib-tool (func_create_megatestdir): Create also an autobuild
34481         script, for submission to autobuild.josefsson.org.
34482
34483 2007-03-10  Bruno Haible  <bruno@clisp.org>
34484
34485         * modules/canonicalize-lgpl-tests: New file.
34486         * tests/test-canonicalize-lgpl.sh: New file.
34487         * tests/test-canonicalize-lgpl.c: New file.
34488
34489         * modules/c-strcase-tests: New file.
34490         * tests/test-c-strcase.sh: New file.
34491         * tests/test-c-strcasecmp.c: New file.
34492         * tests/test-c-strncasecmp.c: New file.
34493
34494         * modules/atexit-tests: New file.
34495         * tests/test-atexit.sh: New file.
34496         * tests/test-atexit.c: New file.
34497
34498 2007-03-10  Bruno Haible  <bruno@clisp.org>
34499
34500         * tests/test-binary-io.sh: Use temporary filenames that are not so
34501         likely to clash with those of other tests (in a parallel make).
34502         * tests/test-binary-io.c: Likewise.
34503
34504 2007-03-10  Bruno Haible  <bruno@clisp.org>
34505
34506         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
34507         fallback; use #error instead.
34508         Suggested by Simon Josefsson.
34509
34510 2007-03-10  Bruno Haible  <bruno@clisp.org>
34511
34512         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
34513         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
34514         first and the last.
34515
34516 2007-03-10  Bruno Haible  <bruno@clisp.org>
34517
34518         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
34519
34520 2007-03-10  Bruno Haible  <bruno@clisp.org>
34521
34522         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
34523         "make distcheck".
34524         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
34525         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
34526         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
34527
34528 2007-03-10  Bruno Haible  <bruno@clisp.org>
34529
34530         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
34531         variable.
34532         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
34533         variable.
34534
34535 2007-03-09  Eric Blake  <ebb9@byu.net>
34536         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
34537
34538         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
34539         types are not being provided by gnulib.
34540         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
34541         types are supported.
34542
34543 2007-03-10  Bruno Haible  <bruno@clisp.org>
34544
34545         * lib/stdio_.h (__attribute__): New macro.
34546         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
34547         vsprintf): Specify __attribute__ __format__ for GCC.
34548         Suggested by Eric Blake.
34549
34550 2007-03-09  Bruno Haible  <bruno@clisp.org>
34551
34552         * modules/printf-posix-tests: New file.
34553         * tests/test-printf-posix.sh: New file.
34554         * tests/test-printf-posix.c: New file.
34555
34556         * modules/printf-posix: New file.
34557         * lib/printf.c: New file.
34558         * m4/printf-posix-rpl.m4: New file.
34559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
34560         REPLACE_PRINTF.
34561         * lib/stdio_.h (printf): New declaration.
34562         (format, __format__, ____printf____, ____scanf____, ____strftime____,
34563         ____strfmon____): New macros.
34564         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
34565         REPLACE_PRINTF.
34566
34567 2007-03-09  Bruno Haible  <bruno@clisp.org>
34568
34569         * tests/test-vasnprintf-posix2.sh: New file.
34570         * tests/test-vasnprintf-posix2.c: New file.
34571         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
34572         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
34573         (Makefile.am): Activate test-vasnprintf-posix2.sh.
34574
34575         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
34576         a locale dependent decimal point, rather than always '.'.
34577
34578 2007-03-09  Eric Blake  <ebb9@byu.net>
34579
34580         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
34581         spite of platforms like Tandem/NSK that define it to -1.
34582
34583 2007-03-08  Bruno Haible  <bruno@clisp.org>
34584
34585         * modules/vprintf-posix-tests: New file.
34586         * tests/test-vprintf-posix.sh: New file.
34587         * tests/test-vprintf-posix.c: New file.
34588         * tests/test-printf-posix.h: New file.
34589
34590         * modules/vprintf-posix: New file.
34591         * lib/vprintf.c: New file.
34592         * m4/vprintf-posix.m4: New file.
34593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
34594         REPLACE_VPRINTF.
34595         * lib/stdio_.h (vprintf): New declaration.
34596         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
34597         REPLACE_VPRINTF.
34598
34599 2007-03-08  Bruno Haible  <bruno@clisp.org>
34600
34601         * modules/fprintf-posix-tests: New file.
34602         * tests/test-fprintf-posix.sh: New file.
34603         * tests/test-fprintf-posix.c: New file.
34604
34605         * modules/fprintf-posix: New file.
34606         * lib/fprintf.c: New file.
34607         * m4/fprintf-posix.m4: New file.
34608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
34609         REPLACE_FPRINTF.
34610         * lib/stdio_.h (fprintf): New declaration.
34611         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
34612         REPLACE_FPRINTF.
34613
34614 2007-03-08  Bruno Haible  <bruno@clisp.org>
34615
34616         * modules/vfprintf-posix-tests: New file.
34617         * tests/test-vfprintf-posix.sh: New file.
34618         * tests/test-vfprintf-posix.c: New file.
34619         * tests/test-fprintf-posix.h: New file.
34620         * tests/test-fprintf-posix.out: New file.
34621
34622         * modules/vfprintf-posix: New file.
34623         * lib/vfprintf.c: New file.
34624         * m4/vfprintf-posix.m4: New file.
34625         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
34626         REPLACE_VFPRINTF.
34627         * lib/stdio_.h (vfprintf): New declaration.
34628         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
34629         REPLACE_VFPRINTF.
34630
34631 2007-03-08  Bruno Haible  <bruno@clisp.org>
34632
34633         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
34634
34635 2007-03-08  Bruno Haible  <bruno@clisp.org>
34636
34637         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
34638         instead of 'expr' invocations.
34639         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34640         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34642         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
34643         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34644         Suggested by Paul Eggert.
34645
34646 2007-03-08  Bruno Haible  <bruno@clisp.org>
34647
34648         * modules/fseterr-tests: New file.
34649         * tests/test-fseterr.c: New file.
34650
34651         * modules/fseterr: New file.
34652         * lib/fseterr.h: New file.
34653         * lib/fseterr.c: New file.
34654
34655 2007-03-08  Bruno Haible  <bruno@clisp.org>
34656
34657         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
34658         * lib/getopt_.h: Likewise.
34659         * lib/mbswidth.h: Likewise.
34660         * lib/setenv.h: Likewise.
34661         * lib/vasnprintf.h: Likewise.
34662         * lib/vasprintf.h: Likewise.
34663         * lib/verror.h: Likewise.
34664         * lib/xsetenv.h: Likewise.
34665         * lib/xvasprintf.h: Likewise.
34666
34667 2007-03-08  Jim Meyering  <jim@meyering.net>
34668
34669         * users.txt: Add parted.
34670
34671         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
34672
34673 2007-03-07  Bruno Haible  <bruno@clisp.org>
34674
34675         * m4/printf.m4: Make the shell script snippets copy&pastable.
34676
34677 2007-03-02  Bruno Haible  <bruno@clisp.org>
34678
34679         * lib/netinet_in_.h: New file.
34680         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
34681         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
34682         * modules/netinet_in (Files): Add lib/netinet_in_.h.
34683         (Depends-on): Add absolute-header.
34684         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
34685         into netinet/in.h.
34686
34687 2007-03-03  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/sys_select_.h: New file.
34690         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
34691         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
34692         * modules/sys_select (Files): Add lib/sys_select_.h.
34693         (Depends-on): Add absolute-header.
34694         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
34695         into sys/select.h.
34696
34697 2007-03-02  Bruno Haible  <bruno@clisp.org>
34698
34699         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
34700         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
34701         values.
34702         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
34703         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
34704         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
34705         * modules/sys_socket (Depends-on): Add absolute-header.
34706         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
34707         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
34708         (Include): Remove requirement of inclusion of <sys/types.h>.
34709
34710 2007-03-02  Bruno Haible  <bruno@clisp.org>
34711
34712         * lib/byteswap_.h (bswap_32): Fix formula.
34713
34714 2007-03-06  Bruno Haible  <bruno@clisp.org>
34715
34716         * modules/sprintf-posix-tests: New file.
34717         * tests/test-sprintf-posix.c: New file.
34718
34719         * modules/sprintf-posix: New file.
34720         * lib/sprintf.c: New file.
34721         * m4/sprintf-posix.m4: New file.
34722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
34723         REPLACE_SPRINTF.
34724         * lib/stdio_.h (sprintf): New declaration.
34725         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
34726         REPLACE_SPRINTF.
34727
34728 2007-03-06  Bruno Haible  <bruno@clisp.org>
34729
34730         * modules/vsprintf-posix-tests: New file.
34731         * tests/test-vsprintf-posix.c: New file.
34732         * tests/test-sprintf-posix.h: New file.
34733
34734         * modules/vsprintf-posix: New file.
34735         * lib/vsprintf.c: New file.
34736         * m4/vsprintf-posix.m4: New file.
34737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
34738         REPLACE_VSPRINTF.
34739         * lib/stdio_.h (vsprintf): New declaration.
34740         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
34741         REPLACE_VSPRINTF.
34742
34743 2007-03-06  Bruno Haible  <bruno@clisp.org>
34744
34745         * modules/vsnprintf (Depend-on): Remove minmax.
34746
34747 2007-03-06  Bruno Haible  <bruno@clisp.org>
34748
34749         * modules/snprintf-posix-tests: New file.
34750         * tests/test-snprintf-posix.c: New file.
34751
34752         * modules/snprintf-posix: New file.
34753         * m4/snprintf-posix.m4: New file.
34754         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
34755         gl_FUNC_SNPRINTF.
34756         (gl_FUNC_SNPRINTF): Invoke it.
34757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
34758         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
34759         is set.
34760         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
34761
34762 2007-03-06  Bruno Haible  <bruno@clisp.org>
34763
34764         * modules/vsnprintf-posix-tests: New file.
34765         * tests/test-vsnprintf-posix.c: New file.
34766         * tests/test-snprintf-posix.h: New file.
34767
34768         * modules/vsnprintf-posix: New file.
34769         * m4/vsnprintf-posix.m4: New file.
34770         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
34771         gl_FUNC_VSNPRINTF.
34772         (gl_FUNC_VSNPRINTF): Invoke it.
34773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
34774         * lib/stdio_.h (vsnprintf): Define as a replacement if
34775         REPLACE_VSNPRINTF is set.
34776         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
34777
34778 2007-03-06  Bruno Haible  <bruno@clisp.org>
34779
34780         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
34781         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
34782
34783 2007-03-06  Bruno Haible  <bruno@clisp.org>
34784
34785         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
34786         (asinl): Declare also if HAVE_DECL_ASINL is set.
34787         (atanl): Declare also if HAVE_DECL_ATANL is set.
34788         (ceill): Declare also if HAVE_DECL_CEILL is set.
34789         (cosl): Declare also if HAVE_DECL_COSL is set.
34790         (expl): Declare also if HAVE_DECL_EXPL is set.
34791         (floorl): Declare also if HAVE_DECL_FLOORL is set.
34792         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
34793         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
34794         (logl): Declare also if HAVE_DECL_LOGL is set.
34795         (sinl): Declare also if HAVE_DECL_SINL is set.
34796         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
34797         (tanl): Declare also if HAVE_DECL_TANL is set.
34798         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
34799         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
34800         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
34801         declaration of frexpl, ldexpl.
34802         * modules/printf-frexpl (Depends-on): Add math.
34803         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
34804
34805 2007-03-05  Bruno Haible  <bruno@clisp.org>
34806
34807         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
34808         frexpl and ldexpl are declared.
34809         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
34810
34811 2007-03-05  Bruno Haible  <bruno@clisp.org>
34812
34813         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
34814         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
34815
34816 2007-03-05  Bruno Haible  <bruno@clisp.org>
34817
34818         * lib/stdio_.h: Include <stddef.h>.
34819
34820 2007-03-05  Bruno Haible  <bruno@clisp.org>
34821
34822         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
34823
34824 2007-03-05  Bruno Haible  <bruno@clisp.org>
34825
34826         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
34827         NetBSD 4, from Ralf Wildenhues.
34828
34829 2007-03-04  Bruno Haible  <bruno@clisp.org>
34830
34831         * lib/vasprintf.h: Update #if logic for the case when the functions
34832         exist but are overridden.
34833
34834 2007-03-04  Bruno Haible  <bruno@clisp.org>
34835
34836         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
34837         implementations: glibc-2.4 and MacOS X 10.3.
34838         * tests/test-vasnprintf-posix.c (test_function): Test also the case
34839         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
34840         * tests/test-vasprintf-posix.c (test_function): Likewise.
34841
34842 2007-03-04  Bruno Haible  <bruno@clisp.org>
34843
34844         * modules/vasprintf-posix-tests: New file.
34845         * tests/test-vasprintf-posix.c: New file.
34846
34847         * modules/vasprintf-posix: New file.
34848         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
34849         defined.
34850         * m4/vasprintf-posix.m4: New file.
34851         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
34852         gl_FUNC_VASPRINTF.
34853         (gl_FUNC_VASPRINTF): Invoke it.
34854         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
34855         here.
34856         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
34857
34858 2007-03-04  Bruno Haible  <bruno@clisp.org>
34859
34860         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
34861         REPLACE_GETTIMEOFDAY.
34862         * modules/sys_time (Makefile.am): Likewise.
34863         * m4/sys_time_h.m4: Likewise.
34864         * m4/gettimeofday.m4: Likewise.
34865
34866 2007-03-04  Bruno Haible  <bruno@clisp.org>
34867
34868         * modules/vasnprintf-posix-tests: New file.
34869         * tests/test-vasnprintf-posix.c: New file.
34870
34871         * modules/vasnprintf-posix: New file.
34872         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
34873         printf-frexpl.h.
34874         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
34875         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
34876         REPLACE_VASNPRINTF is defined.
34877         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
34878         gl_FUNC_VASNPRINTF.
34879         (gl_FUNC_VASNPRINTF): Invoke it.
34880         * m4/vasnprintf-posix.m4: New file.
34881         * m4/printf.m4: New file.
34882
34883 2007-03-04  Bruno Haible  <bruno@clisp.org>
34884
34885         Compile progreloc.c only if --enable-relocatable is specified.
34886         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
34887         if --enable-relocatable was specified.
34888         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
34889         lib_SOURCES.
34890
34891 2007-03-04  Jim Meyering  <jim@meyering.net>
34892
34893         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
34894         Use it consistently, rather than enumerating errno constants.
34895
34896 2007-03-04  Bruno Haible  <bruno@clisp.org>
34897
34898         * modules/xvasprintf-tests: New file.
34899         * tests/test-xvasprintf.c: New file.
34900
34901         * modules/vasprintf-tests: New file.
34902         * tests/test-vasprintf.c: New file.
34903
34904         * modules/vasnprintf-tests: New file.
34905         * tests/test-vasnprintf.c: New file.
34906
34907         * modules/vsnprintf-tests: New file.
34908         * tests/test-vsnprintf.c: New file.
34909
34910         * modules/snprintf-tests: New file.
34911         * tests/test-snprintf.c: New file.
34912
34913 2007-03-04  Bruno Haible  <bruno@clisp.org>
34914
34915         Compile relocatable.c only if --enable-relocatable is specified.
34916         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
34917         gl_RELOCATABLE_LIBRARY.
34918         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
34919         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
34920         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
34921         gl_RELOCATABLE_LIBRARY.
34922         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
34923         (Makefile.am): Remove lib_SOURCES.
34924         * modules/relocatable-lib-lgpl (configure.ac): Invoke
34925         gl_RELOCATABLE_LIBRARY.
34926         (Makefile.am): Remove lib_SOURCES.
34927         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
34928         always.
34929         * modules/relocatable-prog-wrapper (configure.ac): Invoke
34930         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
34931
34932 2007-03-04  Bruno Haible  <bruno@clisp.org>
34933
34934         * modules/argmatch-tests: New file.
34935         * tests/test-argmatch.c: New file.
34936
34937         * tests/test-allocsa.c (main): Halve the number of loop runs.
34938
34939         * modules/alloca-opt-tests: New file.
34940         * tests/test-alloca-opt.c: New file.
34941
34942 2007-03-04  Jim Meyering  <jim@meyering.net>
34943
34944         Work around difference between Linux ACLs and Solaris 10 ZFS.
34945         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
34946         for EINVAL.
34947
34948 2007-03-03  Bruno Haible  <bruno@clisp.org>
34949
34950         * modules/relocatable-prog (Depends-on): Add back progreloc's
34951         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
34952
34953 2007-03-03  Bruno Haible  <bruno@clisp.org>
34954
34955         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
34956         * modules/relocatable-lib: New file.
34957
34958 2007-03-03  Bruno Haible  <bruno@clisp.org>
34959
34960         * modules/relocatable-prog: Renamed from modules/relocatable.
34961         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
34962
34963 2007-03-03  Bruno Haible  <bruno@clisp.org>
34964
34965         * modules/relocatable-script (Files): Add doc/relocatable.texi,
34966         m4/relocatable-lib.m4.
34967         (Depends-on): Remove 'relocatable'.
34968         (configure.ac): Add gl_RELOCATABLE_NOP.
34969
34970 2007-03-03  Bruno Haible  <bruno@clisp.org>
34971
34972         * modules/relocatable-prog-wrapper: New file.
34973         * modules/relocatable (Depends-on): Add it. Remove all other
34974         dependencies except progname.
34975         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
34976
34977         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
34978         (gl_FUNC_STRERROR): Nop.
34979         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
34980
34981         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
34982         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
34983
34984         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
34985         (gl_FUNC_READLINK): Update.
34986
34987         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
34988
34989 2007-03-03  Bruno Haible  <bruno@clisp.org>
34990
34991         * lib/xreadlink.c: Include <unistd.h> unconditionally.
34992         * modules/xreadlink (Depends-on): Add unistd.
34993         * modules/xreadlink-with-size (Depends-on): Likewise.
34994
34995 2007-03-03  Bruno Haible  <bruno@clisp.org>
34996
34997         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
34998         extracted from gt_FUNC_SETENV.
34999         (gt_FUNC_SETENV): Remove macro.
35000         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
35001         remove gt_FUNC_SETENV.
35002
35003 2007-03-03  Bruno Haible  <bruno@clisp.org>
35004
35005         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
35006         ENABLE_RELOCATABLE here.
35007         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
35008
35009 2007-03-03  Bruno Haible  <bruno@clisp.org>
35010
35011         * modules/rbtreehash-list-tests (Depends-on): Add progname.
35012         * tests/test-rbtreehash_list.c: Include progname.h.
35013         (main): Call set_program_name.
35014
35015         * modules/rbtree-oset-tests (Depends-on): Add progname.
35016         * tests/test-rbtree_oset.c: Include progname.h.
35017         (main): Call set_program_name.
35018
35019         * modules/rbtree-list-tests (Depends-on): Add progname.
35020         * tests/test-rbtree_list.c: Include progname.h.
35021         (main): Call set_program_name.
35022
35023         * modules/linked-list-tests (Depends-on): Add progname.
35024         * tests/test-linked_list.c: Include progname.h.
35025         (main): Call set_program_name.
35026
35027 2007-03-03  Bruno Haible  <bruno@clisp.org>
35028
35029         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
35030         All uses of __restrict changed to _Restrict_.
35031         * lib/glob_.h (__restrict): Remove macro.
35032
35033 2007-03-02  Bruno Haible  <bruno@clisp.org>
35034
35035         * modules/gettext (configure.ac): Require gettext infrastructure
35036         from version 0.16.1.
35037
35038 2007-03-02  Bruno Haible  <bruno@clisp.org>
35039
35040         * modules/linkedhash-list-tests (Depends-on): Add progname.
35041         * tests/test-linkedhash_list.c: Include progname.h.
35042         (main): Call set_program_name.
35043
35044         * modules/carray-list-tests (Depends-on): Add progname.
35045         * tests/test-carray_list.c: Include progname.h.
35046         (main): Call set_program_name.
35047
35048         * modules/avltreehash-list-tests (Depends-on): Add progname.
35049         * tests/test-avltreehash_list.c: Include progname.h.
35050         (main): Call set_program_name.
35051
35052         * modules/avltree-oset-tests (Depends-on): Add progname.
35053         * tests/test-avltree_oset.c: Include progname.h.
35054         (main): Call set_program_name.
35055
35056         * modules/avltree-list-tests (Depends-on): Add progname.
35057         * tests/test-avltree_list.c: Include progname.h.
35058         (main): Call set_program_name.
35059
35060         * modules/array-oset-tests (Depends-on): Add progname.
35061         * tests/test-array_oset.c: Include progname.h.
35062         (main): Call set_program_name.
35063
35064         * modules/array-list-tests (Depends-on): Add progname.
35065         * tests/test-array_list.c: Include progname.h.
35066         (main): Call set_program_name.
35067
35068         * modules/argp-tests (Depends-on): Add progname.
35069         * tests/test-argp.c: Include argp.h first. Include progname.h.
35070         (main): Call set_program_name.
35071
35072 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35073
35074         * doc/gnulib-tool.texi (Initial import): Reword description of
35075         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
35076         limited effect even if defined after the first system include.
35077
35078 2007-03-01  Bruno Haible  <bruno@clisp.org>
35079
35080         * build-aux/config.libpath: Update to libtool-1.5.22.
35081         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35082
35083 2007-03-01  Bruno Haible  <bruno@clisp.org>
35084
35085         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
35086         foo_CFLAGS.
35087         Reported by Ralf Wildenhues.
35088
35089 2007-03-01  Bruno Haible  <bruno@clisp.org>
35090
35091         * build-aux/install-reloc: Remove object files left over by some
35092         compilers.
35093         Reported by Ralf Wildenhues.
35094
35095 2007-03-01  Bruno Haible  <bruno@clisp.org>
35096
35097         * build-aux/install-reloc: Break long lines.
35098
35099 2007-03-01  Bruno Haible  <bruno@clisp.org>
35100
35101         * doc/relocatable.texi: Document that it may not work on OpenBSD.
35102         Reported by Ralf Wildenhues.
35103
35104 2007-03-01  Bruno Haible  <bruno@clisp.org>
35105
35106         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
35107         include ordering constraints.
35108
35109 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35110
35111         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
35112         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
35113         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
35114         as another example.
35115         * lib/time_.h: Fix misspelling.
35116         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35117         Require gl_HEADER_TIME_H_DEFAULTS.
35118         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
35119         * m4/time_r.m4 (gl_TIME_R): Likewise.
35120         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
35121
35122 2007-03-01  Bruno Haible  <bruno@clisp.org>
35123
35124         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
35125         * m4/utimens.m4 (gl_UTIMENS): Likewise.
35126
35127 2007-03-01  Jim Meyering  <jim@meyering.net>
35128
35129         * modules/xreadlink (Maintainer): Add my name.
35130         * modules/xreadlink-with-size (Depends-on): Alphabetize.
35131
35132 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
35133             Bruno Haible  <bruno@clisp.org>
35134
35135         * build-aux/install-reloc: Compile also c-ctype.c.
35136         * build-aux/relocatable.sh.in: New file.
35137         * doc/relocatable.texi: New file.
35138         * doc/relocatable-maint.texi: New file.
35139         * doc/gnulib.texi: Include relocatable-maint.texi.
35140         * lib/progreloc.c: Include unistd.h unconditionally.
35141         * lib/relocwrapper.c: Include unistd.h unconditionally.
35142         Include c-ctype.h.
35143         (add_dotbin): Use c_tolower.
35144         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
35145         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
35146         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
35147         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
35148         to m4/relocatable-lib.m4.
35149         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
35150         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
35151         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
35152         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
35153         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
35154         * modules/relocatable: New file.
35155         * modules/relocatable-lib: New file.
35156         * modules/relocatable-script: New file.
35157
35158 2007-02-28  Bruno Haible  <bruno@clisp.org>
35159
35160         Import --enable-relocatable infrastructure.
35161         * build-aux/config.libpath: New file, from GNU gettext.
35162         * build-aux/install-reloc: New file, from GNU gettext.
35163         * build-aux/reloc-ldflags: New file, from GNU gettext.
35164         * lib/relocatable.h: New file, from GNU gettext.
35165         * lib/relocatable.c: New file, from GNU gettext.
35166         * lib/relocwrapper.c: New file, from GNU gettext.
35167         * m4/relocatable.m4: New file, from GNU gettext.
35168
35169 2007-02-28  Bruno Haible  <bruno@clisp.org>
35170
35171         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
35172
35173         * modules/xreadlink: New file, from GNU gettext with modifications.
35174         * lib/xreadlink.c: New file, from GNU gettext.
35175         * lib/xreadlink.h: Add comments.
35176         (xreadlink): New declaration.
35177
35178         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
35179         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
35180         lib/xreadlink-with-size.c.
35181         (configure.ac): Remove gl_XREADLINK invocation.
35182         (Makefile.am): Augment lib_SOURCES.
35183         * m4/xreadlink.m4: Remove file.
35184         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
35185         (xreadlink_with_size): Renamed from xreadink.
35186         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
35187         * modules/canonicalize (Depends-on): Replace xreadlink with
35188         xreadlink-with-size.
35189         * lib/canonicalize.c (canonicalize_filename_mode): Update.
35190
35191 2007-02-25  Jim Meyering  <jim@meyering.net>
35192
35193         * build-aux/announce-gen: When complaining about excess arguments,
35194         list them.
35195
35196 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35197
35198         * README: Document signed integer overflow situation more
35199         accurately.
35200
35201 2007-02-25  Bruno Haible  <bruno@clisp.org>
35202
35203         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
35204         'a' or 'A' conversion.
35205
35206 2007-02-25  Bruno Haible  <bruno@clisp.org>
35207
35208         * modules/filename: Renamed from modules/pathname.
35209         (Files): Replace lib/pathname.h with lib/filename.h. Replace
35210         lib/concatpath.c with lib/concat-filename.c.
35211         (Makefile.am): Update.
35212         (Include): Replace pathname.h with filename.h.
35213         * lib/filename.h: Renamed from lib/pathname.h.
35214         (concatenated_filename): Renamed from concatenated_pathname.
35215         * lib/concat-filename.c: Renamed from lib/concatpath.c.
35216         (concatenated_filename): Renamed from concatenated_pathname.
35217         * lib/findprog.c: Include filename.h instead of pathname.h.
35218         (find_in_path): Update.
35219         * lib/javacomp.c: Include filename.h instead of pathname.h.
35220         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35221         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35222         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35223         is_oldgcj_14_13_usable, is_javac_usable): Update.
35224         * lib/javaexec.c: Include filename.h instead of pathname.h.
35225         (execute_java_class): Update.
35226         * modules/findprog: Update.
35227         * modules/javacomp: Update.
35228         * modules/javaexec: Update.
35229         * MODULES.html.sh (File system functions): Add 'filename', remove
35230         'pathname'.
35231
35232 2007-02-25  Bruno Haible  <bruno@clisp.org>
35233
35234         * modules/printf-frexpl-tests: New file.
35235         * tests/test-printf-frexpl.c: New file.
35236
35237         * modules/printf-frexpl: New file.
35238         * lib/printf-frexpl.h: New file.
35239         * lib/printf-frexpl.c: New file.
35240         * m4/printf-frexpl.m4: New file.
35241
35242 2007-02-25  Bruno Haible  <bruno@clisp.org>
35243
35244         * modules/printf-frexp-tests: New file.
35245         * tests/test-printf-frexp.c: New file.
35246
35247         * modules/printf-frexp: New file.
35248         * lib/printf-frexp.h: New file.
35249         * lib/printf-frexp.c: New file.
35250         * m4/printf-frexp.m4: New file.
35251
35252 2007-02-25  Bruno Haible  <bruno@clisp.org>
35253
35254         Assume automake >= 1.10 for the tests.
35255         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
35256         * modules/arctwo-tests: Likewise.
35257         * modules/argp-tests: Likewise.
35258         * modules/avltree-list-tests: Likewise.
35259         * modules/avltree-oset-tests: Likewise.
35260         * modules/avltreehash-list-tests: Likewise.
35261         * modules/carray-list-tests: Likewise.
35262         * modules/crc-tests: Likewise.
35263         * modules/des-tests: Likewise.
35264         * modules/gc-arcfour-tests: Likewise.
35265         * modules/gc-arctwo-tests: Likewise.
35266         * modules/gc-des-tests: Likewise.
35267         * modules/gc-hmac-md5-tests: Likewise.
35268         * modules/gc-hmac-sha1-tests: Likewise.
35269         * modules/gc-md2-tests: Likewise.
35270         * modules/gc-md4-tests: Likewise.
35271         * modules/gc-md5-tests: Likewise.
35272         * modules/gc-pbkdf2-sha1-tests: Likewise.
35273         * modules/gc-rijndael-tests: Likewise.
35274         * modules/gc-sha1-tests: Likewise.
35275         * modules/gc-tests: Likewise.
35276         * modules/getaddrinfo-tests: Likewise.
35277         * modules/hmac-md5-tests: Likewise.
35278         * modules/hmac-sha1-tests: Likewise.
35279         * modules/linked-list-tests: Likewise.
35280         * modules/linkedhash-list-tests: Likewise.
35281         * modules/lock-tests: Likewise.
35282         * modules/md2-tests: Likewise.
35283         * modules/md4-tests: Likewise.
35284         * modules/md5-tests: Likewise.
35285         * modules/rbtree-list-tests: Likewise.
35286         * modules/rbtree-oset-tests: Likewise.
35287         * modules/rbtreehash-list-tests: Likewise.
35288         * modules/read-file-tests: Likewise.
35289         * modules/rijndael-tests: Likewise.
35290         * modules/stdint-tests: Likewise.
35291         * modules/tls-tests: Likewise.
35292
35293 2007-02-24  Bruno Haible  <bruno@clisp.org>
35294
35295         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
35296         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
35297         function; instead check whether isnan with a double argument links.
35298         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
35299         function; instead check whether isnan with a 'long double' argument
35300         links.
35301         Reported by Eric Blake <ebb9@byu.net>.
35302
35303 2007-02-24  Bruno Haible  <bruno@clisp.org>
35304
35305         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
35306         defined.
35307         * lib/isnanl.c: Remove all code. Just include isnan.c.
35308         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
35309
35310 2007-02-25  Jim Meyering  <jim@meyering.net>
35311
35312         Avoid conflicting types for 'unsetenv' on FreeBSD.
35313         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
35314         conflicting with FreeBSD's (5.0 and 6.1) function declaration
35315         in stdlib.h.
35316
35317 2007-02-24  Bruno Haible  <bruno@clisp.org>
35318
35319         * modules/isnanl-nolibm-tests: New file.
35320         * tests/test-isnanl.c: New file.
35321
35322         * modules/isnanl-nolibm: New file.
35323         * lib/isnanl.h: New file.
35324         * lib/isnanl.c: New file.
35325         * m4/isnanl.m4: New file.
35326
35327 2007-02-24  Bruno Haible  <bruno@clisp.org>
35328
35329         * modules/isnan-nolibm-tests: New file.
35330         * tests/test-isnan.c: New file.
35331
35332         * modules/isnan-nolibm: New file.
35333         * lib/isnan.h: New file.
35334         * lib/isnan.c: New file.
35335         * m4/isnan.m4: New file.
35336
35337 2007-02-24  Bruno Haible  <bruno@clisp.org>
35338
35339         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
35340         assume that an exponent fits in 20 bits.
35341
35342 2007-02-24  Jim Meyering  <jim@meyering.net>
35343
35344         * m4/regex.m4: Update the description of the configure-time option,
35345         --without-included-regex, to state accurately what the defaults are,
35346         and perhaps to give people an idea why using this option is risky.
35347
35348 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
35349
35350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
35351         loops on small arguments.  This attempts to avoid the problem
35352         Bruno Haible reported for AIX 4.3.2 in
35353         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
35354
35355 2007-02-23  Bruno Haible  <bruno@clisp.org>
35356
35357         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
35358         Needed for help2man.
35359
35360 2007-02-23  Karl Berry  <karl@gnu.org>
35361
35362         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
35363         exists, foo.h should be cvs-ignored, not committed.
35364
35365 2007-02-23  Eric Blake  <ebb9@byu.net>
35366
35367         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
35368         * lib/stat-time.h (includes): Likewise.
35369         * lib/utimecmp.c (includes): Likewise.
35370         * lib/utimens.h (includes): Likewise.
35371         * lib/getdate.y (includes): Also include "timespec.h" for use
35372         internal to the module.
35373         * modules/utimens (Depends-on): Revert yesterday's patch.
35374         * modules/nanosleep (Depends-on): Add missing dependency.
35375
35376 2007-02-22  Bruno Haible  <bruno@clisp.org>
35377
35378         * lib/glob.c: Don't include getlogin_r.h.
35379
35380 2007-02-22  Jim Meyering  <jim@meyering.net>
35381
35382         * modules/utimens (Depends-on): Add timespec, required for
35383         utimens.h's inclusion of timespec.h.
35384
35385 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35386
35387         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
35388         long unreadable paths in GNU/Linux.  Problem reported by Andreas
35389         Schwab in
35390         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
35391         I'll try to think of a better way to fix the Solaris problem.
35392
35393         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
35394         like glibc; on Solaris 10, it fails with errno == EINVAL.
35395         POSIX says the behavior is unspecified if the first argument is NULL,
35396         so play it safe and never pass NULL to the system getcwd.
35397
35398 2007-02-21  Jim Meyering  <jim@meyering.net>
35399
35400         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
35401         of gettimeofday.  It would conflict with the one now always
35402         provided via sys_time_.h.  Reported by Matthew Woehlke, as
35403         an IRIX 6.5 build failure.
35404
35405 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35406
35407         Minor fixups to port to Solaris 10 with Sun C 5.8.
35408         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
35409         * modules/getcwd (Depends-on): Add dirfd.
35410         * lib/putenv.c (putenv): #undef it.
35411         (rpl_putenv): New decl.
35412         (malloc, free): Include <stdlib.h> rather than prototyping separately.
35413
35414 2007-02-20  Bruno Haible  <bruno@clisp.org>
35415
35416         * modules/stdio-tests: New file.
35417         * tests/test-stdio.c: New file.
35418
35419         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
35420         (Depends-on): Add stdio.
35421         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35422         (Include): Use <stdio.h> instead of vsnprintf.h.
35423         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35424         HAVE_DECL_VSNPRINTF.
35425         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
35426
35427         * modules/snprintf (Files): Remove lib/snprintf.h.
35428         (Depends-on): Add stdio.
35429         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35430         (Include): Use <stdio.h> instead of snprintf.h.
35431         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35432         HAVE_DECL_SNPRINTF.
35433         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
35434         * lib/getaddrinfo.c: Likewise.
35435
35436         * modules/stdio: New file.
35437         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
35438         * lib/snprintf.h: Remove file.
35439         * lib/vsnprintf.h: Remove file.
35440         * lib/.cppi-disable: Remove snprintf.h.
35441         * m4/stdio_h.m4: New file.
35442         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
35443
35444 2007-02-20  Jim Meyering  <jim@meyering.net>
35445
35446         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
35447         used by e.g., mingw.  From Bruno Haible.
35448
35449 2007-02-19  Bruno Haible  <bruno@clisp.org>
35450
35451         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
35452         warnings.
35453         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35454
35455 2007-02-19  Bruno Haible  <bruno@clisp.org>
35456
35457         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
35458         from mingw users.
35459
35460 2007-02-19  Bruno Haible  <bruno@clisp.org>
35461
35462         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
35463         warnings.
35464         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
35465
35466 2007-02-19  Jim Meyering  <jim@meyering.net>
35467
35468         Don't use FD after a successful "fdopendir (fd)".
35469         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
35470         Reset it by calling dirfd on the just-obtained DIR*.
35471
35472         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
35473         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
35474
35475 2007-02-18  Bruno Haible  <bruno@clisp.org>
35476
35477         * lib/readlink.c: Include <unistd.h>.
35478         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
35479         HAVE_READLINK.
35480         * modules/readlink (Depends-on): Add unistd.
35481         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35482         (Include): Add <unistd.h>.
35483
35484         * lib/getlogin_r.h: Remove file.
35485         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
35486         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
35487         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
35488         HAVE_DECL_GETLOGIN_R.
35489         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
35490         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35491         (Include): Use <unistd.h> instead of getlogin_r.h.
35492
35493         * lib/getcwd.h: Remove file.
35494         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
35495         * lib/xgetcwd.c: Likewise.
35496         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
35497         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
35498         * modules/getcwd (Files): Remove lib/getcwd.h.
35499         (Depends-on): Add unistd.
35500         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35501         (Include): Use <unistd.h> instad of getcwd.h.
35502
35503         * lib/ftruncate.c: Include <unistd.h> first.
35504         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
35505         Set HAVE_FTRUNCATE.
35506         * modules/ftruncate (Depends-on): Add unistd.
35507         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35508
35509         * lib/fchdir.c: Include <unistd.h> first.
35510         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
35511         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
35512         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
35513         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35514         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
35515
35516         * lib/dup2.c: Include <unistd.h> first.
35517         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
35518         HAVE_DUP2.
35519         * modules/dup2 (Depends-on): Add unistd.
35520         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35521
35522         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
35523         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
35524         REPLACE_CHOWN. Don't define chown as a macro here.
35525         * modules/chown (Depends-on): Add unistd.
35526         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35527
35528         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
35529         Add definition for GL_LINK_WARNING.
35530         (chown, dup2): New declarations.
35531         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
35532         link warning.
35533         (ftruncate): New declaration.
35534         (getcwd): New declaration, taken from old getcwd.h.
35535         (getlogin_r): New declaration, taken from old getlogin_r.h.
35536         (readlink): New declaration.
35537         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
35538         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
35539         (gl_PREREQ_UNISTD): Remove macro.
35540         (gl_UNISTD_MODULE_INDICATOR): New macro.
35541         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
35542         many new variables. Don't set UNISTD_H.
35543         * modules/unistd (Description): Change.
35544         (Depends-on): Add link-warning.
35545         (configure.ac): Update.
35546         (Makefile.am): Create unistd.h always. Substitute many new variables
35547         into it.
35548
35549 2007-02-18  Bruno Haible  <bruno@clisp.org>
35550
35551         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
35552         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
35553         HAVE_GETSUBOPT.
35554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
35555         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
35556         * lib/getsubopt.h: Remove file.
35557         * modules/getsubopt (Files): Remove lib/getsubopt.h.
35558         (Depends-on): Add stdlib.
35559         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35560         (Includes): Use <stdlib.h> instead of getsubopt.h.
35561         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
35562         Set HAVE_GETSUBOPT.
35563         * lib/getsubopt.c: Don't include getsubopt.h.
35564
35565 2007-02-18  Bruno Haible  <bruno@clisp.org>
35566
35567         * modules/fchdir (Depends-on): Add dup2.
35568
35569 2007-02-18  Bruno Haible  <bruno@clisp.org>
35570
35571         * lib/stdlib_.h: Handle glibc's special invocation convention
35572         specially.
35573
35574 2007-02-18  Bruno Haible  <bruno@clisp.org>
35575
35576         * modules/stdlib-tests: New file.
35577         * tests/test-stdlib.c: New file.
35578
35579         * modules/mkstemp (Files): Remove lib/mkstemp.h.
35580         (Depends-on): Add stdlib.
35581         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35582         (Includes): Use <stdlib.h> instead of mkstemp.h.
35583         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
35584         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
35585         * lib/mkstemp.c: Don't include mkstemp.h.
35586         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
35587         * lib/stdlib--.h: Don't include mkstemp.h.
35588
35589         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
35590         (Depends-on): Add stdlib.
35591         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35592         (Includes): Use <stdlib.h> instead of mkdtemp.h.
35593         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
35594         HAVE_MKDTEMP.
35595         * lib/mkdtemp.c: Don't include mkdtemp.h.
35596         * lib/clean-temp.c: Don't include mkdtemp.h.
35597
35598         * modules/exit (Files): Remove lib/exit.h.
35599         (Depends-on): Add stdlib.
35600         (Makefile.am): Remove lib_SOURCES.
35601         (Include): Use <stdlib.h> instead of exit.h.
35602         * lib/argmatch.c: Don't include exit.h.
35603         * lib/execute.c: Likewise.
35604         * lib/pagealign_alloc.c: Likewise.
35605         * lib/pipe.c: Likewise.
35606         * lib/wait-process.c: Likewise.
35607         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
35608         * lib/exitfail.c: Likewise.
35609         * lib/savewd.c: Likewise.
35610         * lib/xsetenv.c: Likewise.
35611
35612         * modules/stdlib: New file.
35613         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
35614         and extra comments about mkstemp().
35615         * lib/exit.h: Remove file.
35616         * lib/mkdtemp.h: Remove file.
35617         * lib/mkstemp.h: Remove file.
35618         * m4/stdlib_h.m4: New file.
35619         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
35620
35621 2007-02-18  Bruno Haible  <bruno@clisp.org>
35622
35623         * modules/math-tests: New file.
35624         * tests/test-math.c: New file.
35625
35626         * modules/math: New file.
35627         * modules/mathl (Files): Remove lib/mathl.h.
35628         (Depends-on): Add math.
35629         (Makefile.am): Don't mention mathl.h.
35630         (Include): Use <math.h> instead of mathl.h.
35631         * lib/math_.h: New file.
35632         * lib/mathl.h: Remove file.
35633         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
35634         mathl.h.
35635         * lib/asinl.c: Likewise.
35636         * lib/atanl.c: Likewise.
35637         * lib/ceill.c: Likewise.
35638         * lib/cosl.c: Likewise.
35639         * lib/expl.c: Likewise.
35640         * lib/floorl.c: Likewise.
35641         * lib/frexpl.c: Likewise.
35642         * lib/ldexpl.c: Likewise.
35643         * lib/logl.c: Likewise.
35644         * lib/sincosl.c: Likewise.
35645         * lib/sinl.c: Likewise.
35646         * lib/sqrtl.c: Likewise.
35647         * lib/tanl.c: Likewise.
35648         * lib/trigl.c: Likewise.
35649         * m4/math_h.m4: New file.
35650         * MODULES.html.sh (Mathematics): Add math.
35651
35652 2007-02-17  Bruno Haible  <bruno@clisp.org>
35653
35654         * modules/wctype-tests: New file.
35655         * tests/test-wctype.c: New file.
35656
35657         * modules/wchar-tests: New file.
35658         * tests/test-wchar.c: New file.
35659
35660         * modules/unistd-tests: New file.
35661         * tests/test-unistd.c: New file.
35662
35663         * modules/time-tests: New file.
35664         * tests/test-time.c: New file.
35665
35666         * modules/sysexits-tests: New file.
35667         * tests/test-sysexits.c: New file.
35668
35669         * modules/sys_time-tests: New file.
35670         * tests/test-sys_time.c: New file.
35671
35672         * modules/sys_stat-tests: New file.
35673         * tests/test-sys_stat.c: New file.
35674
35675         * modules/sys_socket-tests: New file.
35676         * tests/test-sys_socket.c: New file.
35677
35678         * modules/sys_select-tests: New file.
35679         * tests/test-sys_select.c: New file.
35680
35681         * modules/string-tests: New file.
35682         * tests/test-string.c: New file.
35683
35684         * modules/stdbool-tests: New file.
35685         * tests/test-stdbool.c: New file.
35686
35687         * modules/netinet_in-tests: New file.
35688         * tests/test-netinet_in.c: New file.
35689
35690         * modules/inttypes-tests: New file.
35691         * tests/test-inttypes.c: New file.
35692
35693         * modules/fcntl-tests: New file.
35694         * tests/test-fcntl.c: New file.
35695
35696         * modules/byteswap-tests: New file.
35697         * tests/test-byteswap.c: New file.
35698
35699         * modules/arpa_inet-tests: New file.
35700         * tests/test-arpa_inet.c: New file.
35701
35702 2007-02-17  Bruno Haible  <bruno@clisp.org>
35703
35704         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
35705         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
35706         if the corresponding module is not enabled. Emit link warnings if
35707         the function is used nevertheless.
35708         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
35709         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
35710         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
35711         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
35712         * modules/inttypes (Depends-on): Add link-warning.
35713         (Makefile.am): Copy the contents of build-aux/link-warning.h into
35714         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
35715         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
35716         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
35717         * modules/imaxdiv (configure.ac): Likewise.
35718         * modules/strtoimax (configure.ac): Likewise.
35719         * modules/strtoumax (configure.ac): Likewise.
35720
35721 2007-02-17  Bruno Haible  <bruno@clisp.org>
35722
35723         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
35724         gl_STRING_MODULE_INDICATOR_DEFAULTS.
35725         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
35726         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
35727
35728 2007-02-17  Bruno Haible  <bruno@clisp.org>
35729
35730         * modules/link-warning: New file.
35731         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
35732         * lib/string_.h (GL_LINK_WARNING): Remove definition.
35733         * modules/string (Depends-on): Add link-warning.
35734         (Makefile.am): Copy the contents of build-aux/link-warning.h into
35735         string.h.
35736         * MODULES.html.sh (Support for building libraries and executables): Add
35737         link-warning.
35738
35739 2007-02-17  Bruno Haible  <bruno@clisp.org>
35740
35741         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
35742         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
35743         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
35744         long lines.
35745
35746 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
35747             Bruno Haible  <bruno@clisp.org>
35748
35749         * modules/tmpfile: New file.
35750         * lib/tmpfile.c: New file.
35751         * m4/tmpfile.m4: New file.
35752         * MODULES.html.sh (func_all_modules): New section "Input/output".
35753
35754 2007-02-15  Bruno Haible  <bruno@clisp.org>
35755
35756         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
35757         (supports_delete_on_close): New function.
35758         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
35759
35760 2007-02-14  Bruno Haible  <bruno@clisp.org>
35761
35762         * modules/mbspcasecmp-tests: New file.
35763         * tests/test-mbspcasecmp.sh: New file.
35764         * tests/test-mbspcasecmp.c: New file.
35765
35766         New module mbspcasecmp.
35767         * modules/mbspcasecmp: New file.
35768         * lib/mbspcasecmp.c: New file.
35769         * lib/string_.h (strncasecmp): Change warning message.
35770         (mbspcasecmp): New declaration.
35771         * m4/mbspcasecmp.m4: New file.
35772         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35773         GNULIB_MBSPCASECMP.
35774         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
35775         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
35776
35777 2007-02-14  Bruno Haible  <bruno@clisp.org>
35778
35779         * modules/mbsncasecmp-tests: New file.
35780         * tests/test-mbsncasecmp.sh: New file.
35781         * tests/test-mbsncasecmp.c: New file.
35782
35783         New module mbsncasecmp.
35784         * modules/mbsncasecmp: New file.
35785         * lib/mbsncasecmp.c: New file.
35786         * lib/string_.h (mbsncasecmp): New declaration.
35787         * m4/mbsncasecmp.m4: New file.
35788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35789         GNULIB_MBSNCASECMP.
35790         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
35791         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
35792
35793 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35794
35795         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
35796         Verify that it doesn't overlap with our flags.
35797         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
35798         do not have the desired effect in multibyte locales; instead, use
35799         mbscasecmp.
35800         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
35801         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
35802         we don't require GNU fnmatch ourselves (if our users require it, they
35803         should do so explicitly).
35804
35805         Fix regex code so it doesn't rely on strcasecmp.
35806         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
35807         Otherwise, include gnulib's langinfo.h.
35808         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
35809         undesirable behavior in non-C locales.  Instead, rely on localecharset.
35810         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
35811         * modules/regex (FILES): Remove m4/codeset.m4.
35812         (Depends-on): Add localcharset.  Remove strcase.
35813
35814 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35815
35816         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
35817         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
35818
35819 2007-02-13  Bruno Haible  <bruno@clisp.org>
35820
35821         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
35822         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35823
35824 2007-02-12  Bruno Haible  <bruno@clisp.org>
35825
35826         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
35827         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
35828         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
35829         time warning rather than a link error.
35830
35831 2007-02-12  Bruno Haible  <bruno@clisp.org>
35832
35833         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
35834         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
35835         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35836
35837 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
35838
35839         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
35840         args, not 2.
35841
35842 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
35843
35844         New module 'time', so that apps can include <time.h> as per
35845         POSIX and GNU instead of separate include files like time_r.h
35846         and timegm.h.  This implementation tries out a simpler approach
35847         for replacing decls in standard include files (as compared to
35848         the string module), somewhat as an experiment.
35849
35850         * config/srclist.txt: Comment out mktime.c for now.
35851         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
35852         since it doesn't apply any more.  Use generic wording instead.
35853         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
35854         'time'.
35855         * lib/time_.h, m4/time_h.m4, modules/time: New files.
35856         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
35857         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
35858         Don't include <sys/types.h>; no longer needed since we assume C89.
35859         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
35860         * lib/strftime.c: Likewise.
35861         * lib/time_r.c: Likewise.
35862         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
35863         * lib/nanosleep.c: Include <time.h> first, to check interface.
35864         * lib/strptime.c: Likewise.
35865         * lib/time_r.c: Likewise.
35866         * lib/timegm.c: Likewise.
35867         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
35868         needed.
35869         * lib/timegm.c: Don't include timegm.h; no longer needed.
35870         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
35871         time.h now handles any problems in that area.
35872         (struct timespec, nanosleep): Remove; time.h now arranges for these.
35873         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
35874         that time.h defines struct timespec.
35875         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
35876         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
35877         handles that.
35878         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
35879         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
35880         needed.  Set REPLACE_LOCALTIME.
35881         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
35882         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
35883         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
35884         nanosleep; time_h.m4 now does that.  Don't require
35885         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
35886         module handles this now.
35887         * modules/getdate (Depends-on): Remove timespec.  Add time.
35888         * modules/nanosleep (Depends-on): Likewise.
35889         * modules/stat-time (Depends-on): Likewise.
35890         * modules/nanosleep (Include): Include time.h, not timespec.h.
35891         * modules/strptime (Files): Remove lib/strptime.h.
35892         (Depends-on): Add extensions, time.
35893         (Include): Include time.h, not strptime.h.
35894         * modules/time_r (Files): Remove lib/time_r.h.
35895         (Depends-on): Add time.
35896         (Include): Include time.h, not time_r.h.
35897         * modules/timegm: Likewise.
35898         * modules/timespec (Description): Now does timespec-related decls
35899         of our own, instead of struct timespec itself.
35900         (Depends-on): Add time; remove extensions.
35901         (Maintainer): Add self.
35902         * modules/utimecmp (Depends-on): Add time; remove timespec.
35903         * modules/utimens (Depends-on): Likewise.
35904         * modules/xnanosleep (Depends-on): Likewise.
35905
35906 2007-02-11  Bruno Haible  <bruno@clisp.org>
35907
35908         * lib/c-strstr.c: Include allocsa.h.
35909         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35910         * lib/c-strcasestr.c: Include allocsa.h.
35911         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35912         * lib/strcasestr.c: Include allocsa.h.
35913         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35914         * lib/mbsstr.c: Include allocsa.h.
35915         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
35916         allocsa/freesa instead of malloc/free.
35917         * lib/mbscasestr.c: Include allocsa.h.
35918         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
35919         allocsa/freesa instead of malloc/free.
35920         * modules/c-strstr (Depends-on): Add allocsa.
35921         * modules/c-strcasestr (Depends-on): Likewise.
35922         * modules/strcasestr (Depends-on): Likewise.
35923         * modules/mbsstr (Depends-on): Likewise.
35924         * modules/mbscasestr (Depends-on): Likewise.
35925
35926 2007-02-11  Bruno Haible  <bruno@clisp.org>
35927
35928         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
35929
35930         * modules/mbsspn-tests: New file.
35931         * tests/test-mbsspn.sh: New file.
35932         * tests/test-mbsspn.c: New file.
35933
35934 2007-02-11  Bruno Haible  <bruno@clisp.org>
35935
35936         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
35937
35938         * modules/mbspbrk-tests: New file.
35939         * tests/test-mbspbrk.sh: New file.
35940         * tests/test-mbspbrk.c: New file.
35941
35942 2007-02-11  Bruno Haible  <bruno@clisp.org>
35943
35944         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
35945         unneeded cast.
35946
35947         * modules/mbscspn-tests: New file.
35948         * tests/test-mbscspn.sh: New file.
35949         * tests/test-mbscspn.c: New file.
35950
35951 2007-02-11  Bruno Haible  <bruno@clisp.org>
35952
35953         * modules/mbscasecmp-tests: New file.
35954         * tests/test-mbscasecmp.sh: New file.
35955         * tests/test-mbscasecmp.c: New file.
35956
35957 2007-02-11  Bruno Haible  <bruno@clisp.org>
35958
35959         Ensure O(n) worst-case complexity of mbscasestr.
35960         * lib/mbscasestr.c: Include stdbool.h.
35961         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
35962         functions.
35963         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
35964         the bookkeeping indicates that it's worth it.
35965         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
35966
35967         * modules/mbscasestr-tests: New file.
35968         * tests/test-mbscasestr1.c: New file.
35969         * tests/test-mbscasestr2.sh: New file.
35970         * tests/test-mbscasestr2.c: New file.
35971         * tests/test-mbscasestr3.sh: New file.
35972         * tests/test-mbscasestr3.c: New file.
35973         * tests/test-mbscasestr4.sh: New file.
35974         * tests/test-mbscasestr4.c: New file.
35975         * m4/locale-tr.m4: New file.
35976
35977 2007-02-11  Bruno Haible  <bruno@clisp.org>
35978
35979         Ensure O(n) worst-case complexity of mbsstr.
35980         * lib/mbsstr.c: Include stdbool.h.
35981         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
35982         functions.
35983         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
35984         bookkeeping indicates that it's worth it.
35985         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
35986
35987         * modules/mbsstr-tests: New file.
35988         * tests/test-mbsstr1.c: New file.
35989         * tests/test-mbsstr2.sh: New file.
35990         * tests/test-mbsstr2.c: New file.
35991         * tests/test-mbsstr3.sh: New file.
35992         * tests/test-mbsstr3.c: New file.
35993         * m4/locale-fr.m4: New file.
35994
35995 2007-02-11  Bruno Haible  <bruno@clisp.org>
35996
35997         * lib/mbsrchr.c (mbsrchr): Fix bug.
35998
35999         * modules/mbsrchr-tests: New file.
36000         * tests/test-mbsrchr.sh: New file.
36001         * tests/test-mbsrchr.c: New file.
36002
36003 2007-02-11  Bruno Haible  <bruno@clisp.org>
36004
36005         * lib/mbschr.c (mbschr): Fix bug.
36006
36007         * modules/mbschr-tests: New file.
36008         * tests/test-mbschr.sh: New file.
36009         * tests/test-mbschr.c: New file.
36010         * m4/locale-zh.m4: New file.
36011
36012 2007-02-11  Bruno Haible  <bruno@clisp.org>
36013
36014         Support for copying multibyte string iterators.
36015         * lib/mbiter.h: Include <string.h>.
36016         (mbiter_multi_copy): New function.
36017         (mbi_copy): New macro.
36018         * lib/mbuiter.h: Include <string.h>.
36019         (mbuiter_multi_copy): New function.
36020         (mbui_copy): New macro.
36021
36022 2007-02-11  Bruno Haible  <bruno@clisp.org>
36023
36024         New module mbslen.
36025         * modules/mbslen: New file.
36026         * lib/mbslen.c: New file.
36027         * lib/string_.h (mbslen): New declaration.
36028         * m4/mbslen.m4: New file.
36029         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36030         GNULIB_MBSLEN.
36031         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
36032         * MODULES.html.sh (Internationalization functions): Add mbslen.
36033
36034 2007-02-11  Bruno Haible  <bruno@clisp.org>
36035
36036         Ensure O(n) worst-case complexity of strcasestr substitute.
36037         * lib/strcasestr.c: Include stdbool.h.
36038         (knuth_morris_pratt): New function.
36039         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36040         bookkeeping indicates that it's worth it.
36041         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
36042
36043         * modules/strcasestr-tests: New file.
36044         * tests/test-strcasestr.c: New file.
36045
36046 2007-02-11  Bruno Haible  <bruno@clisp.org>
36047
36048         Ensure O(n) worst-case complexity of c_strcasestr.
36049         * lib/c-strcasestr.c: Include stdbool.h, string.h.
36050         (knuth_morris_pratt): New function.
36051         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
36052         the bookkeeping indicates that it's worth it.
36053         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
36054
36055         * modules/c-strcasestr-tests: New file.
36056         * tests/test-c-strcasestr.c: New file.
36057
36058 2007-02-11  Bruno Haible  <bruno@clisp.org>
36059
36060         Ensure O(n) worst-case complexity of c_strstr.
36061         * lib/c-strstr.c: Include stdbool.h, string.h.
36062         (knuth_morris_pratt): New function.
36063         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36064         bookkeeping indicates that it's worth it.
36065         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
36066
36067         * lib/c-strstr.c: Complete rewrite for maintainability.
36068
36069         * modules/c-strstr-tests: New file.
36070         * tests/test-c-strstr.c: New file.
36071
36072 2007-02-11  Bruno Haible  <bruno@clisp.org>
36073
36074         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
36075         5.2.1 and earlier, whereby \055 was treated just like the range
36076         delimiter '-'.
36077         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36078
36079 2007-02-08  Bruno Haible  <bruno@clisp.org>
36080
36081         * modules/regex (Depends-on): Add stdbool.
36082         Reported by Dalibor Topic <robilad@kaffe.org>.
36083
36084 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36085
36086         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
36087         Prefer returning from main to exiting from it.
36088         Remove unnecessary parens after sizeof.
36089
36090 2007-02-05  Bruno Haible  <bruno@clisp.org>
36091
36092         New module mbssep.
36093         * modules/mbssep: New file.
36094         * lib/mbssep.c: New file.
36095         * lib/string_.h (strsep): Add a conditional link warning.
36096         (mbssep): New declaration.
36097         * m4/mbssep.m4: New file.
36098         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36099         GNULIB_MBSSEP.
36100         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
36101         * MODULES.html.sh (Internationalization functions): Add mbssep.
36102
36103 2007-02-05  Bruno Haible  <bruno@clisp.org>
36104
36105         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
36106         Optimize search in case of 1 delimiter.
36107
36108 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36109
36110         * lib/acl.h: Include sys/types.h before sys/acl.h.
36111
36112 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36113
36114         Merge upstream fix for glibc bugzilla #3957:
36115
36116         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
36117
36118         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
36119         bit for RE_HAT_LISTS_NOT_NEWLINE.
36120         (build_charclass_op): Remove bogus comment.
36121
36122 2007-02-05  Simon Josefsson  <simon@josefsson.org>
36123
36124         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
36125
36126 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36127
36128         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
36129         * lib/memmem.c [!defined _LIBC]: Include config.h.
36130
36131 2007-02-04  Bruno Haible  <bruno@clisp.org>
36132
36133         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
36134         warning message.
36135
36136 2007-02-04  Bruno Haible  <bruno@clisp.org>
36137
36138         New module mbstok_r.
36139         * modules/mbstok_r: New file.
36140         * lib/mbstok_r.c: New file.
36141         * lib/string_.h (strtok_r): Change argument names to match the
36142         comments. Add a conditional link warning.
36143         (mbstok_r): New declaration.
36144         * m4/mbstok_r.m4: New file.
36145         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36146         GNULIB_MBSTOK_R.
36147         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
36148         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
36149
36150 2007-02-04  Bruno Haible  <bruno@clisp.org>
36151
36152         New module mbsspn.
36153         * modules/mbsspn: New file.
36154         * lib/mbsspn.c: New file.
36155         * lib/string_.h (strspn): Add a conditional link warning.
36156         (mbsspn): New declaration.
36157         * m4/mbsspn.m4: New file.
36158         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36159         GNULIB_MBSSPN.
36160         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
36161         * MODULES.html.sh (Internationalization functions): Add mbsspn.
36162
36163 2007-02-04  Bruno Haible  <bruno@clisp.org>
36164
36165         New module mbspbrk.
36166         * modules/mbspbrk: New file.
36167         * lib/mbspbrk.c: New file.
36168         * lib/string_.h (strpbrk): Add a conditional link warning.
36169         (mbspbrk): New declaration.
36170         * m4/mbspbrk.m4: New file.
36171         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36172         GNULIB_MBSPBRK.
36173         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
36174         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
36175
36176 2007-02-04  Bruno Haible  <bruno@clisp.org>
36177
36178         New module mbscspn.
36179         * modules/mbscspn: New file.
36180         * lib/mbscspn.c: New file.
36181         * lib/string_.h (strcspn): Add a conditional link warning.
36182         (mbscspn): New declaration.
36183         * m4/mbscspn.m4: New file.
36184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36185         GNULIB_MBSCSPN.
36186         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
36187         * MODULES.html.sh (Internationalization functions): Add mbscspn.
36188
36189 2007-02-04  Bruno Haible  <bruno@clisp.org>
36190
36191         New module mbscasestr, reduced goal of strcasestr.
36192         * modules/mbscasestr: New file.
36193         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
36194         (mbscasestr): Renamed from strcasestr.
36195         * lib/strcasestr.c: Don't include mbuiter.h.
36196         (strcasestr): Remove support for multibyte locales.
36197         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
36198         Change the conditional link warning.
36199         (mbscasestr): New declaration.
36200         * m4/mbscasestr.m4: New file.
36201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
36202         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
36203         REPLACE_STRCASESTR.
36204         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
36205         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36206         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36207         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
36208         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
36209         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36210         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
36211         (Depends-on): Remove mbuiter.
36212         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
36213
36214 2007-02-04  Bruno Haible  <bruno@clisp.org>
36215
36216         Simplify handling of strncasecmp.
36217         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
36218         the conditional link warning.
36219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36220         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
36221         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
36222         * modules/strcase (configure.ac): Don't invoke
36223         gl_STRING_MODULE_INDICATOR.
36224         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
36225
36226 2007-02-04  Bruno Haible  <bruno@clisp.org>
36227
36228         New module mbscasecmp, reduced goal of strcasecmp.
36229         * modules/mbscasecmp: New file.
36230         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
36231         (mbscasecmp): Renamed from strcasecmp.
36232         * lib/strcasecmp.c: Don't include mbuiter.h.
36233         (strcasecmp): Remove support for multibyte locales.
36234         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
36235         Change the conditional link warning.
36236         (mbscasecmp): New declaration.
36237         * m4/mbscasecmp.m4: New file.
36238         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
36239         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
36240         REPLACE_STRCASECMP.
36241         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
36242         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36243         GNULIB_MBSCASECMP.
36244         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
36245         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
36246         * modules/strcase (Files): Remove m4/mbrtowc.m4.
36247         (Depends-on): Remove mbuiter.
36248         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
36249
36250 2007-02-04  Bruno Haible  <bruno@clisp.org>
36251
36252         New module mbsstr. Remove module strstr.
36253         * modules/mbsstr: New file.
36254         * modules/strstr: Remove file.
36255         * lib/mbsstr.c: Renamed from lib/strstr.c.
36256         (mbsstr): Renamed from strstr.
36257         * lib/string_.h (strstr): Remove declaration. Change the conditional
36258         link warning.
36259         (mbsstr): New declaration.
36260         * m4/mbsstr.m4: New file.
36261         * m4/strstr.m4: Remove file.
36262         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
36263         REPLACE_STRSTR.
36264         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
36265         Don't initialize GNULIB_STRSTR.
36266         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
36267         substitute GNULIB_STRSTR and REPLACE_STRSTR.
36268         * MODULES.html.sh (Internationalization functions): Add mbsstr.
36269         (Support for systems lacking ANSI C 89): Remove strstr.
36270
36271 2007-02-04  Bruno Haible  <bruno@clisp.org>
36272
36273         New module mbsrchr.
36274         * modules/mbsrchr: New file.
36275         * lib/mbsrchr.c: New file.
36276         * lib/string_.h (strrchr): Add a conditional link warning.
36277         (mbsrchr): New declaration.
36278         * m4/mbsrchr.m4: New file.
36279         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36280         GNULIB_MBSRCHR.
36281         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
36282         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
36283
36284 2007-02-04  Bruno Haible  <bruno@clisp.org>
36285
36286         New module mbschr.
36287         * modules/mbschr: New file.
36288         * lib/mbschr.c: New file.
36289         * lib/string_.h (strchr): Add a conditional link warning.
36290         (mbschr): New declaration.
36291         * m4/mbschr.m4: New file.
36292         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36293         GNULIB_MBSCHR.
36294         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
36295         * MODULES.html.sh (Internationalization functions): Add mbschr.
36296
36297 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36298
36299         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
36300
36301         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
36302
36303 2007-02-04  Bruno Haible  <bruno@clisp.org>
36304
36305         New module description section 'configure.ac-early'.
36306         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
36307         (func_get_autoconf_early_snippet): New function.
36308         (func_import, func_create_testdir): Use it. Remove special cases for
36309         modules 'extensions' and 'lock'.
36310         * modules/extensions (configure.ac-early): Require
36311         gl_USE_SYSTEM_EXTENSIONS.
36312         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
36313
36314 2007-02-04  Bruno Haible  <bruno@clisp.org>
36315
36316         Make use of gcj-4.3's -fsource and -ftarget option.
36317         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
36318         and if so try the options -fsource and -ftarget.
36319         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
36320         source_version, ftarget_option, target_version arguments.
36321         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
36322         (is_envjavac_oldgcj_14_14_usable): Renamed from
36323         is_envjavac_gcj_14_14_usable.
36324         (is_envjavac_oldgcj_14_13_usable): Renamed from
36325         is_envjavac_gcj_14_13_usable.
36326         (is_gcj_present): Update.
36327         (is_gcj_43, is_gcj43_usable): New functions.
36328         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
36329         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
36330         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
36331         try the options -fsource and -ftarget.
36332
36333 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36334
36335         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
36336         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
36337         larger value.
36338
36339 2007-02-03  Jim Meyering  <jim@meyering.net>
36340
36341         Give tools a better chance to allocate space for very large buffers.
36342         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
36343
36344         Make pwd and readlink work also when run with an unreadable parent dir
36345         on systems with openat support.
36346         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
36347         provided getcwd function, even when we have openat support.
36348         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
36349
36350 2007-02-02  Bruno Haible  <bruno@clisp.org>
36351
36352         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36353         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
36354         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
36355         portability problems if one of these functions is only used on specific
36356         platforms.
36357         Reported by Paul Eggert.
36358
36359 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36360
36361         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
36362         is causing more trouble than it's curing.
36363         * lib/regex_internal.h (__mempcpy): Remove.
36364         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
36365         (and make the code a tad smaller to boot).
36366         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
36367
36368 2007-02-02  Jim Meyering  <jim@meyering.net>
36369
36370         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
36371         section, not in the Makefile.am: one.
36372
36373 2007-02-02  Eric Blake  <ebb9@byu.net>
36374
36375         * lib/strchrnul.c: Always include config.h first.
36376
36377         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
36378         gnulib strstr is not necessary here.
36379
36380 2007-02-02  Simon Josefsson  <simon@josefsson.org>
36381
36382         * m4/socklen.m4: Fix typo.
36383
36384 2007-02-02  Eric Blake  <ebb9@byu.net>
36385
36386         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
36387         * modules/netinet_in (Makefile.am): Likewise.
36388
36389 2007-02-01  Bruno Haible  <bruno@clisp.org>
36390
36391         * lib/string_.h (GL_LINK_WARNING): New macro.
36392         (strcasecmp, strstr, strcasestr): If provided by the system,
36393         conditionally define as a macro that leads to a warning instead of to
36394         an error.
36395         (strncasecmp): Conditionally define as a macro that leads to a warning.
36396
36397 2007-02-01  Karl Berry  <karl@gnu.org>
36398
36399         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
36400
36401 2007-02-01  Bruno Haible  <bruno@clisp.org>
36402
36403         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
36404         renamings.
36405
36406 2007-02-01  Eric Blake  <ebb9@byu.net>
36407
36408         * modules/regex (Depends-on): Revert dependence on mempcpy.
36409         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
36410         module's definition of mempcpy.
36411         Reported by Paul Eggert.
36412
36413 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
36414
36415         * lib/string_.h: If the gnulib module XYZ is not present, undefine
36416         the symbol XYZ before redefining it.  This fixes a problem with
36417         programs that don't use XYZ, when compiled on systems that define
36418         XYZ to something else.
36419
36420 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36421
36422         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
36423         occurs when "mkdir -m foo" creates a setgid directory that is (1)
36424         writeable to group or other and (2) is intended to have a special
36425         mode bit that is set or cleared.  In such a case, the directory
36426         should be neither group- nor other-writeable until the special
36427         mode bits are right.
36428
36429 2007-01-31  Eric Blake  <ebb9@byu.net>
36430
36431         * modules/mountlist (Depends-on): Add strstr.
36432
36433         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
36434         bug.
36435         * modules/string (Makefile.am): Remove redundant replacement.
36436         * modules/regex (Depends-on): Add mempcpy.
36437
36438 2007-01-31  Bruno Haible  <bruno@clisp.org>
36439
36440         New module description field 'Link'.
36441         * gnulib-tool (func_usage): Document --extract-link-directive.
36442         (sed_extract_prog): Recognize 'Link' directive.
36443         (func_get_link_directive): New function.
36444         (func_import): Show summary of link directives.
36445         Handle --extract-link-directive option.
36446         * modules/acl (Link): New section.
36447         * modules/clock-time (Link): New section.
36448         * modules/euidaccess (Link): New section.
36449         * modules/gettext (Link): New section.
36450         * modules/iconv (Link): New section.
36451         * modules/lock (Link): New section.
36452         * modules/nanosleep (Link): New section.
36453         * modules/readline (Link): New section.
36454
36455 2007-01-27  Bruno Haible  <bruno@clisp.org>
36456
36457         Enforce the use of gnulib modules for unportable <string.h> functions.
36458         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
36459         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
36460         (gl_HEADER_STRING_H_BODY): Require it.
36461         * lib/string_.h: If the gnulib module XYZ is not present, redefine
36462         the symbol XYZ to one that gives a link error.
36463         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
36464         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
36465         * modules/mempcpy (configure.ac): Likewise.
36466         * modules/memrchr (configure.ac): Likewise.
36467         * modules/stpcpy (configure.ac): Likewise.
36468         * modules/stpncpy (configure.ac): Likewise.
36469         * modules/strcase (configure.ac): Likewise.
36470         * modules/strcasestr (configure.ac): Likewise.
36471         * modules/strchrnul (configure.ac): Likewise.
36472         * modules/strdup (configure.ac): Likewise.
36473         * modules/strndup (configure.ac): Likewise.
36474         * modules/strnlen (configure.ac): Likewise.
36475         * modules/strpbrk (configure.ac): Likewise.
36476         * modules/strsep (configure.ac): Likewise.
36477         * modules/strstr (configure.ac): Likewise.
36478         * modules/strtok_r (configure.ac): Likewise.
36479
36480 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
36481
36482         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
36483
36484 2007-01-30  Jim Meyering  <jim@meyering.net>
36485
36486         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
36487
36488 2007-01-29  Bruno Haible  <bruno@clisp.org>
36489
36490         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
36491         * lib/execute.c: Likewise.
36492         * lib/pipe.c: Likewise.
36493         * lib/printf-args.h: Likewise.
36494         * lib/printf-args.c: Likewise.
36495         * lib/printf-parse.c: Likewise.
36496         * lib/vasnprintf.c: Likewise.
36497
36498 2007-01-29  Eric Blake  <ebb9@byu.net>
36499
36500         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
36501         declaration.
36502
36503 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36504
36505         * lib/strptime.h (strptime): Use 'restrict' for args where
36506         POSIX requires this.
36507         * lib/strptime.c (strptime): Likewise.
36508         Change license notice from LGPL to GPL, since gnulib-tool will
36509         change this as needed.
36510         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
36511         defined.
36512         Include "strptime.h" first, to check interface.
36513         Do not #undef _LIBC and _NL_CURRENT.
36514         Do not include <stdlib.h>; no longer needed.
36515         Include "time_r.h" and declare ptime_locale_status
36516         only if _LIBC is not defined.
36517         (__P): Remove unused macro.
36518         (match_string): Bring back glibc version, but use it only if _LIBC
36519         is defined.
36520         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
36521         Remove unnecessary assertion and abort() call.
36522         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
36523         * m4/strptime.m4: Fix serial number comment.
36524         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
36525         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
36526         (Depends-on): Add time_r.
36527
36528 2007-01-29  Bruno Haible  <bruno@clisp.org>
36529
36530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36531         strptime.
36532         * modules/strptime (Depends-on): Add stdbool.
36533         * lib/strptime.h: Include <time.h> always. Add comments.
36534
36535 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36536
36537         * modules/strptime: New file.
36538         * lib/strptime.h: New file.
36539         * lib/strptime.c: New file.
36540         * m4/strptime.m4: New file.
36541
36542 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
36543
36544         * MODULES.html.sh: New module mpsort.
36545         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
36546
36547         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
36548         a circularity problem with HP-UX ia64 reported by Bob Proulx in
36549         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
36550         All uses changed.
36551         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
36552         All uses changed.
36553         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
36554         to _Restrict_.
36555         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
36556         the parameter matches the prototype.
36557
36558 2007-01-28  Jim Meyering  <jim@meyering.net>
36559
36560         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
36561         sys/time.h here, reverting that part of the previous patch:
36562         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
36563
36564 2007-01-28  Bruno Haible  <bruno@clisp.org>
36565
36566         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
36567         value of $(SYS_TIME_H).
36568         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
36569         remove it conditionally, too. [added by Jim Meyering]
36570         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
36571         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
36572         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
36573         GETTIMEOFDAY_REPLACEMENT to 1.
36574
36575 2007-01-28  Bruno Haible  <bruno@clisp.org>
36576
36577         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
36578         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
36579         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
36580         Set UNISTD_H instead of UNISTD_H2.
36581         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
36582
36583 2007-01-28  Bruno Haible  <bruno@clisp.org>
36584
36585         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
36586         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
36587
36588 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36589
36590         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
36591         (func_create_testdir): Ensure C locale for `grep' and `tr'
36592         character ranges.
36593         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
36594         ACLOCAL_AMFLAGS parsing state machine.
36595
36596 2007-01-27  Bruno Haible  <bruno@clisp.org>
36597
36598         * modules/unistr/base: Update.
36599
36600 2007-01-27  Bruno Haible  <bruno@clisp.org>
36601
36602         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
36603         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
36604         * modules/unistr/u32-mbtouc-unsafe: Renamed from
36605         modules/unistr/u32-mbtouc.
36606         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
36607         * lib/unistr.h: Update.
36608         * lib/linebreak.c: Update.
36609         * modules/unistr/u32-mbtouc: Renamed from
36610         modules/unistr/u32-mbtouc-safe.
36611         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
36612         * lib/unistr.h: Update.
36613         * lib/unistr/u32-to-u8.c: Update.
36614         * lib/unistr/u32-to-u16.c: Update.
36615
36616 2007-01-27  Bruno Haible  <bruno@clisp.org>
36617
36618         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
36619         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
36620         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
36621         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
36622         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
36623         * modules/unistr/u16-mbtouc-unsafe: Renamed from
36624         modules/unistr/u16-mbtouc.
36625         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
36626         * lib/unistr.h: Update.
36627         * lib/linebreak.c: Update.
36628         * modules/linebreak: Update.
36629         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
36630         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
36631         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
36632         * modules/unistr/u16-mbtouc: Renamed from
36633         modules/unistr/u16-mbtouc-safe.
36634         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
36635         * lib/unistr.h: Update.
36636         * lib/unistr/u16-to-u8.c: Update.
36637         * modules/unistr/u16-to-u8: Update.
36638         * lib/unistr/u16-to-u32.c: Update.
36639         * modules/unistr/u16-to-u32: Update.
36640
36641 2007-01-27  Bruno Haible  <bruno@clisp.org>
36642
36643         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
36644         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
36645         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
36646         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
36647         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
36648         * modules/unistr/u8-mbtouc-unsafe: Renamed from
36649         modules/unistr/u8-mbtouc.
36650         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
36651         * lib/unistr.h: Update.
36652         * lib/striconveh.c: Update.
36653         * modules/striconveh: Update.
36654         * lib/linebreak.c: Update.
36655         * modules/linebreak: Update.
36656         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
36657         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
36658         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
36659         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
36660         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
36661         * lib/unistr.h: Update.
36662         * lib/striconveh.c: Update.
36663         * modules/striconveh: Update.
36664         * lib/unistr/u8-to-u16.c: Update.
36665         * modules/unistr/u8-to-u16: Update.
36666         * lib/unistr/u8-to-u32.c: Update.
36667         * modules/unistr/u8-to-u32: Update.
36668
36669 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36670
36671         Sync from Libtool.
36672         * lib/argz.c: Do not include strings.h nor memory.h, include
36673         string.h unconditionally.  Patch by Simon Josefsson.
36674
36675 2007-01-27  Bruno Haible  <bruno@clisp.org>
36676
36677         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
36678         from gl_HEADER_STRING_H_BODY.
36679         (gl_HEADER_STRING_H_BODY): Require it.
36680         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
36681         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
36682         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
36683         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
36684         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36685         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
36686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36687         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
36688         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
36689         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36690         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
36691         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
36692         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
36693         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36694         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36695
36696 2007-01-27  Bruno Haible  <bruno@clisp.org>
36697
36698         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
36699         check_PROGRAMS into noinst_PROGRAMS.
36700         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
36701         check_PROGRAMS in this case.
36702         (func_import): Set for_test to false.
36703         (func_create_testdir): Set for_test to true.
36704
36705 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
36706             Bruno Haible  <bruno@clisp.org>
36707
36708         * modules/strcasestr (Files): Remove lib/strcasestr.h.
36709         (Depends-on): Add string.
36710         (Includes): Use <string.h> instead of strcasestr.h.
36711         * modules/string (Makefile.am): Also substitute the value of
36712         REPLACE_STRCASESTR.
36713         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
36714         assume strcasestr is declared in <string.h> not <strings.h>. Also
36715         set REPLACE_STRCASESTR.
36716         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
36717         REPLACE_STRCASESTR.
36718         * lib/strcasestr.h: Remove file.
36719         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
36720         * lib/string_.h (strcasestr): New declaration.
36721
36722 2007-01-27  Bruno Haible  <bruno@clisp.org>
36723
36724         * lib/string_.h: Use 'extern'.
36725
36726 2007-01-27  Jim Meyering  <jim@meyering.net>
36727
36728         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
36729         of set-but-not-used local, "q".
36730
36731         * lib/mempcpy.c: Include <config.h> before <string.h>.
36732         This fixes a compilation error on HP-UX, due to the system's
36733         "restrict"-using mempcpy prototype.
36734
36735 2007-01-26  Bruno Haible  <bruno@clisp.org>
36736
36737         Small optimization.
36738         * lib/javacomp.c: Include c-strstr.h.
36739          (is_envjavac_gcj): Use c_strstr instead of strstr.
36740         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
36741
36742 2007-01-26  Bruno Haible  <bruno@clisp.org>
36743
36744         * MODULES.html.sh (Unicode string functions): Add the new modules.
36745
36746         * modules/uniconv/u32-strconv-to-locale: New file.
36747         * lib/uniconv/u32-strconv-to-locale.c: New file.
36748
36749         * modules/uniconv/u16-strconv-to-locale: New file.
36750         * lib/uniconv/u16-strconv-to-locale.c: New file.
36751
36752         * modules/uniconv/u8-strconv-to-locale: New file.
36753         * lib/uniconv/u8-strconv-to-locale.c: New file.
36754
36755         * modules/uniconv/u32-strconv-from-locale: New file.
36756         * lib/uniconv/u32-strconv-from-locale.c: New file.
36757
36758         * modules/uniconv/u16-strconv-from-locale: New file.
36759         * lib/uniconv/u16-strconv-from-locale.c: New file.
36760
36761         * modules/uniconv/u8-strconv-from-locale: New file.
36762         * lib/uniconv/u8-strconv-from-locale.c: New file.
36763
36764         * modules/uniconv/u32-strconv-to-enc: New file.
36765         * lib/uniconv/u32-strconv-to-enc.c: New file.
36766         * modules/uniconv/u32-strconv-to-enc-tests: New file.
36767         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
36768
36769         * modules/uniconv/u16-strconv-to-enc: New file.
36770         * lib/uniconv/u16-strconv-to-enc.c: New file.
36771         * lib/uniconv/u-strconv-to-enc.h: New file.
36772         * modules/uniconv/u16-strconv-to-enc-tests: New file.
36773         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
36774
36775         * modules/uniconv/u8-strconv-to-enc: New file.
36776         * lib/uniconv/u8-strconv-to-enc.c: New file.
36777         * modules/uniconv/u8-strconv-to-enc-tests: New file.
36778         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
36779
36780         * modules/uniconv/u32-strconv-from-enc: New file.
36781         * lib/uniconv/u32-strconv-from-enc.c: New file.
36782         * modules/uniconv/u32-strconv-from-enc-tests: New file.
36783         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
36784
36785         * modules/uniconv/u16-strconv-from-enc: New file.
36786         * lib/uniconv/u16-strconv-from-enc.c: New file.
36787         * modules/uniconv/u16-strconv-from-enc-tests: New file.
36788         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
36789
36790         * modules/uniconv/u8-strconv-from-enc: New file.
36791         * lib/uniconv/u8-strconv-from-enc.c: New file.
36792         * lib/uniconv/u-strconv-from-enc.h: New file.
36793         * modules/uniconv/u8-strconv-from-enc-tests: New file.
36794         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
36795
36796         * modules/uniconv/u32-conv-from-enc: New file.
36797         * lib/uniconv/u32-conv-from-enc.c: New file.
36798         * modules/uniconv/u32-conv-from-enc-tests: New file.
36799         * tests/uniconv/test-u32-conv-from-enc.c: New file.
36800
36801         * modules/uniconv/u16-conv-from-enc: New file.
36802         * lib/uniconv/u16-conv-from-enc.c: New file.
36803         * lib/uniconv/u-conv-from-enc.h: New file.
36804         * modules/uniconv/u16-conv-from-enc-tests: New file.
36805         * tests/uniconv/test-u16-conv-from-enc.c: New file.
36806
36807         * modules/uniconv/u8-conv-from-enc: New file.
36808         * lib/uniconv/u8-conv-from-enc.c: New file.
36809         * modules/uniconv/u8-conv-from-enc-tests: New file.
36810         * tests/uniconv/test-u8-conv-from-enc.c: New file.
36811
36812         * modules/uniconv/base: New file.
36813         * lib/uniconv.h: New file.
36814
36815 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
36816
36817         * doc/gnulib-tool.texi (Initial import): Update to match current
36818         behavior with strdup module.
36819         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
36820         * lib/memmem.h: Remove; all uses removed.  This is now done
36821         by <string.h>.
36822         * lib/mempcpy.h: Likewise.
36823         * lib/memrchr.h: Likewise.
36824         * lib/stpcpy.h: Likewise.
36825         * lib/stpncpy.h: Likewise.
36826         * lib/strcase.h: Likewise.
36827         * lib/strchrnul.h: Likewise.
36828         * lib/strdup.h: Likewise.
36829         * lib/strndup.h: Likewise.
36830         * lib/strnlen.h: Likewise.
36831         * lib/strpbrk.h: Likewise.
36832         * lib/strsep.h: Likewise.
36833         * lib/strstr.h: Likewise.
36834         * lib/strtok_r.h: Likewise.
36835         * lib/string_.h: New file.
36836         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
36837         Rely on <string.h> instead.
36838         * lib/canon-host.c: Likewise.
36839         * lib/chdir-long.c: Likewise.
36840         * lib/concatpath.c: Likewise.
36841         * lib/exclude.c: Likewise.
36842         * lib/fchdir.c: Likewise.
36843         * lib/getaddrinfo.c: Likewise.
36844         * lib/getcwd.c: Likewise.
36845         * lib/getsubopt.c: Likewise.
36846         * lib/glob.c: Likewise.
36847         * lib/hard-locale.c: Likewise.
36848         * lib/iconvme.c: Likewise.
36849         * lib/javacomp.c: Likewise.
36850         * lib/mempcpy.c: Likewise.
36851         * lib/memrchr.c: Likewise.
36852         * lib/regex_internal.h: Likewise.
36853         * lib/stpncpy.c: Likewise.
36854         * lib/strcasecmp.c: Likewise.
36855         * lib/strchrnul.c: Likewise.
36856         * lib/strdup.c: Likewise.
36857         * lib/striconv.c: Likewise.
36858         * lib/striconveh.c: Likewise.
36859         * lib/striconveha.c: Likewise.
36860         * lib/strncasecmp.c: Likewise.
36861         * lib/strndup.c: Likewise.
36862         * lib/strnlen.c: Likewise.
36863         * lib/strsep.c: Likewise.
36864         * lib/strstr.c: Likewise.
36865         * lib/strtok_r.c: Likewise.
36866         * lib/userspec.c: Likewise.
36867         * lib/w32spawn.h: Likewise.
36868         * lib/xstrndup.c: Likewise.
36869         * lib/mountlist.c (strstr): Remove decl.
36870         * m4/string_h.m4: New file.
36871         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
36872         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
36873         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
36874         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
36875         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
36876         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
36877         Set REPLACE_STRCASECMP if necessary.
36878         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
36879         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
36880         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
36881         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
36882         HAVE_DECL_STRDUP if necessary.
36883         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
36884         since gl_FUNC_STRNDUP does that now.
36885         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
36886         Check for decl here...
36887         (gl_PREREQ_STRNLEN): ... not here.
36888         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
36889         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
36890         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
36891         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
36892         necessary.
36893         * modules/string: New file.
36894         * modules/memmem (Files): Remove special-purpose include file.
36895         (Depends-on): Add string.
36896         (Include): Include <string.h>, not the removed file.
36897         * modules/mempcpy: Likewise.
36898         * modules/memrchr: Likewise.
36899         * modules/stpcpy: Likewise.
36900         * modules/stpncpy: Likewise.
36901         * modules/strcase: Likewise.
36902         * modules/strchrnul: Likewise.
36903         * modules/strdup: Likewise.
36904         * modules/strndup: Likewise.
36905         * modules/strnlen: Likewise.
36906         * modules/strpbrk: Likewise.
36907         * modules/strsep: Likewise.
36908         * modules/strstr: Likewise.
36909         * modules/strtok_r: Likewise.
36910         * tests/test-dirname.c: Don't include "strdup.h", since
36911         <string.h> now suffices.
36912         * tests/test-memmem.c: Don't include "memmem.h", since
36913         <string.h> now suffices.
36914
36915 2007-01-25  Bruno Haible  <bruno@clisp.org>
36916
36917         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
36918         *resultp is 0.
36919
36920         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
36921         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
36922         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
36923         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
36924
36925         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
36926         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
36927         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
36928         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
36929         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
36930         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
36931
36932 2007-01-24  Bruno Haible  <bruno@clisp.org>
36933
36934         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
36935         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
36936         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
36937         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
36938         gl_FUNC_FTS_CORE.
36939         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
36940         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
36941         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36942         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
36943         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
36944         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
36945         gl_FUNC_FCHOWNAT.
36946         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
36947         gl_FUNC_STRFTIME.
36948         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
36949         Reported by Ralf Wildenhues.
36950
36951 2007-01-24  Bruno Haible  <bruno@clisp.org>
36952
36953         Drop AC_REQUIRE calls that are redundant with the module dependencies.
36954         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
36955         gl_GETADDRINFO.
36956         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
36957         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
36958         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
36959
36960 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
36961
36962         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
36963         Don't use 'exit'; just return from 'main'.
36964         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
36965
36966         * lib/fnmatch_.h: Readjust white space and comments to match
36967         glibc, to avoid spurious diffs.
36968
36969 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36970
36971         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
36972         2004-12-01 change by Jakub Jelinek, since this code won't compile
36973         if !LIBC.  Problem reported by Bob Proulx.
36974
36975 2007-01-23  Bruno Haible  <bruno@clisp.org>
36976
36977         * lib/striconveh.c: Include c-strcaseeq.h.
36978         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
36979         * modules/striconveh (Depends-on): Add c-strcaseeq.
36980
36981 2007-01-23  Bruno Haible  <bruno@clisp.org>
36982
36983         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
36984
36985         * modules/c-strcaseeq: New file.
36986         * lib/c-strcaseeq.h: New file.
36987
36988         * modules/streq: New file.
36989         * lib/streq.h: New file.
36990
36991 2007-01-23  Bruno Haible  <bruno@clisp.org>
36992
36993         * modules/striconveha-tests: New file.
36994         * tests/test-striconveha.c: New file.
36995
36996         * lib/striconveha.h: Include <stdbool.h>.
36997         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
36998         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
36999         (mem_iconveha_notranslit): Renamed from mem_iconveha.
37000         (mem_iconveha): New function.
37001         (str_iconveha_notranslit): Renamed from str_iconveha.
37002         (str_iconveha): New function.
37003         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
37004         c-strcase.
37005
37006 2007-01-23  Bruno Haible  <bruno@clisp.org>
37007
37008         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
37009         encodings without forgiving before trying any encoding with handler.
37010         (str_iconveha): Try all encodings without forgiving before trying any
37011         encoding with handler.
37012
37013 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37014
37015         Import the following changes from libc.
37016
37017         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37018
37019         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
37020
37021         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
37022
37023         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
37024         normal_bracket label.
37025
37026         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37027
37028         [BZ #361]
37029         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
37030         to normal_bracket after fetching the next character.
37031
37032 2007-01-22  Bruno Haible  <bruno@clisp.org>
37033
37034         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
37035         argument.
37036         * lib/striconveh.c (iconv_carefully_1): New function.
37037         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
37038         argument.
37039         (str_cd_iconveh): Update.
37040         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
37041         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
37042         * tests/test-striconveh.c (MAGIC): New macro.
37043         (new_offsets): New function.
37044         (main): Test call with and without offsets.
37045
37046 2007-01-22  Bruno Haible  <bruno@clisp.org>
37047
37048         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
37049         * modules/sys_select (Makefile.am): Likewise.
37050         * modules/sys_socket (Makefile.am): Likewise.
37051         * modules/sys_time (Makefile.am): Likewise.
37052
37053 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37054
37055         * modules/gettimeofday (License): Change from GPL to LGPL, since
37056         gettimeofday is a library function.
37057
37058 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37059
37060         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
37061
37062 2007-01-21  Bruno Haible  <bruno@clisp.org>
37063
37064         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
37065
37066 2007-01-21  Bruno Haible  <bruno@clisp.org>
37067
37068         * modules/striconveha: New file.
37069         * lib/striconveha.h: New file.
37070         * lib/striconveha.c: New file.
37071         * MODULES.html.sh (Internationalization functions): Add striconveha.
37072         * lib/striconv.c (str_iconv): Optimize the case of an empty input
37073         string.
37074         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
37075
37076 2007-01-21  Bruno Haible  <bruno@clisp.org>
37077
37078         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
37079         * lib/striconveh.c (str_iconveh): Likewise.
37080
37081 2007-01-21  Bruno Haible  <bruno@clisp.org>
37082
37083         * lib/striconveh.h (mem_iconveh): New declaration.
37084         * lib/striconveh.c (mem_iconveh): New function.
37085         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
37086
37087 2007-01-21  Bruno Haible  <bruno@clisp.org>
37088
37089         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
37090
37091         * lib/striconveh.h (mem_cd_iconveh): Change specification.
37092         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
37093         original result buffer.
37094         (str_cd_iconveh): Update.
37095         * tests/test-striconveh.c (main): Update.
37096
37097         * lib/striconv.h (mem_cd_iconv): Change specification.
37098         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
37099         result buffer.
37100         (str_cd_iconv): Update.
37101         * tests/test-striconv.c (main): Update.
37102
37103 2007-01-21  Bruno Haible  <bruno@clisp.org>
37104
37105         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
37106
37107 2007-01-20  Jim Meyering  <jim@meyering.net>
37108
37109         * lib/userspec.c (parse_with_separator): If a user or group string
37110         starts with "+", skip the corresponding name-to-ID look-up, since
37111         such a look-up must fail: user and group names may not include "+".
37112
37113 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
37114
37115         * lib/poll.c: Include sys/time.h and time.h unconditionally,
37116         since we now assume the sys_time module.
37117         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
37118         check for sys/time.h; no longer needed.
37119         * modules/poll (Depends-on): Depend on sys_time.
37120
37121 2007-01-18  Bruno Haible  <bruno@clisp.org>
37122
37123         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
37124         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37125
37126         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
37127         gettimeofday.
37128
37129         * tests/test-gettimeofday.c: Include <time.h>.
37130         (dummy): Remove variable.
37131
37132         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
37133         gl_HEADER_SYS_TIME_H.
37134         (gl_HEADER_SYS_TIME_H): New macro.
37135
37136         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
37137         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37138         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37139         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
37140         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37141         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
37142         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
37143         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37144         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
37145         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
37146         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37147
37148         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
37149         last change; it caused a compilation error when cross-compiling to
37150         Cygwin.
37151
37152 2007-01-18  Jim Meyering  <jim@meyering.net>
37153
37154         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
37155         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
37156         than the race-prone "test -d sys || mkdir sys".
37157         (configure.ac): Use AC_PROG_MKDIR_P.
37158         * modules/sys_select: Likewise.
37159         * modules/sys_socket: Likewise.
37160         * modules/sys_time: Likewise.
37161
37162 2007-01-18  Eric Blake  <ebb9@byu.net>
37163
37164         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
37165         replace gettimeofday.
37166         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
37167         name, to avoid infinite recursion.
37168
37169 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37170
37171         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
37172         module sys_time.
37173         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
37174         assume timespec.h defines struct timeval.
37175         * lib/settime.c: Likewise.
37176         * lib/utimens.c: Likewise.
37177         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
37178         since we now assume the gettimeofday module.
37179         * lib/tempname.c (__gen_tempname): Likewise.
37180         * lib/gettimeofday.h: Remove.
37181         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
37182         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
37183         Include <time.h>, for 'time()'.
37184         (localtime_buffer_addr): Also use this workaround if
37185         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
37186         to simplify the uses.  All uses changed.
37187         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
37188         that #undef is inside {}, and 'const' follows type name consistently.
37189         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
37190         (gettimeofday): Do not use the maximum possible value for
37191         tv->tv_usec, since that might break usages other than ls.c.
37192         Instead, we'll leave ls.c alone.  This undoes today's patch
37193         by Bruno.  Add a compile-time warning for 1s-clock resolution;
37194         we've never observed the problem but might as well keep the
37195         canary.
37196         * lib/nanosleep.c: Include timespec.h first, for interface check.
37197         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
37198         now assume the sys_time module.
37199         * lib/tempname.c: Likewise.
37200         * lib/timespec.h: Likewise.
37201         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
37202         needed.
37203         * lib/strftime.c: Likewise.
37204         * lib/timespec.h: Likewise.
37205         * lib/posixtm.c: Include posixtm.h first, for interface check.
37206         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
37207         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
37208         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
37209         * lib/sys_time_.h: New file.
37210         * lib/timespec.h (struct timespec): Use long int, not long.
37211         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37212         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
37213         Remove obsolescent call to AC_HEADER_TIME.
37214         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
37215         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37216         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37217         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
37218         Likewise.
37219         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
37220         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
37221         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
37222         into the sys_time module.  Check for gettimeofday just once.
37223         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
37224         for gettimeofday signature to just check the signature.  Merely
37225         compile it, since linking doesn't test signature.  Improve test for
37226         whether gettimeofday.o is actually needed.
37227         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
37228         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
37229         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
37230         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37231         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
37232         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
37233         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
37234         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
37235         than worrying about sys/time.h.
37236         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
37237         Don't bother worrying about TIME_WITH_SYS_TIME.
37238         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37239         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
37240         * m4/sys_time_h.m4: New file.
37241         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
37242         Don't include sys/time.h.  Return from main rather than exiting.
37243         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
37244         all uses changed.
37245         * modules/gethrxtime (Depends-on): Add sys_time.
37246         * modules/gettime (Depends-on): Likewise.
37247         * modules/gettimeofday (Depends-on): Likewise.
37248         * modules/nanosleep (Depends-on): Likewise.
37249         * modules/settime (Depends-on): Likewise.
37250         * modules/tempname (Depends-on): Likewise.
37251         * modules/utimens (Depends-on): Likewise.
37252         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
37253         (Include:) Change back to <sys/time.h>.
37254         (Maintainer:) Add self.
37255         * modules/sys_time: New file.
37256         * modules/tempname (Depends-on): Add gettimeofday.
37257         * tests/test-gettimeofday.c: Include <sys/time.h>
37258         rather than gettimeofday.h.
37259
37260 2007-01-17  Bruno Haible  <bruno@clisp.org>
37261
37262         * gnulib-tool (func_get_license): Revert last patch. Instead, let
37263         the license default to GPL.
37264         (func_create_testdir): Don't complain if a module is LGPL and its
37265         tests module depends on GPLed modules.
37266
37267 2007-01-17  Bruno Haible  <bruno@clisp.org>
37268
37269         * lib/gettimeofday.c (gettimeofday): Add code for the case
37270         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
37271         maximum possible value for tv->tv_usec, rather than the minimum one.
37272
37273 2005-10-08  Martin Lambers  <marlam@marlam.de>
37274 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37275 2007-01-16  Bruno Haible  <bruno@clisp.org>
37276
37277         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
37278         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
37279         gl_FUNC_GETTIMEOFDAY.
37280         (Include): Add gettimeofday.h.
37281         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
37282         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
37283         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
37284         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
37285         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
37286         * lib/gettimeofday.h: New file.
37287         * lib/gettimeofday.c: Include <sys/timeb.h>.
37288         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
37289         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37290         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
37291         fall back on time().
37292
37293         * tests/test-gettimeofday.c: New file.
37294         * modules/gettimeofday-tests: New file.
37295
37296 2007-01-16  Eric Blake  <ebb9@byu.net>
37297
37298         * modules/fnmatch (Depends-on): Depend on wchar.
37299         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
37300         * m4/fnmatch.m4: Likewise.
37301         * modules/mbchar (Makefile.am): Assume <wchar.h>.
37302         * m4/mbchar.m4: Likewise.
37303         * modules/mbswidth (Depends-on): Depend on wchar.
37304         * lib/mbswidth.c: Assume <wchar.h>.
37305         * m4/mbswidth.m4: Likewise.
37306         * modules/quotearg (Depends-on): Depend on wchar.
37307         * lib/quotearg.c: Assume <wchar.h>.
37308         * m4/quotearg.m4: Likewise.
37309         * modules/regex (Depends-on): Depend on wchar.
37310         * lib/regex_internal.h: Assume <wchar.h>.
37311         * m4/regex.m4: Likewise.
37312         * modules/stdint (Depends-on): Depend on wchar.
37313         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
37314         * m4/stdint.m4: Likewise.
37315         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
37316         * modules/strftime (Depends-on): Depend on wchar.
37317         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
37318         * modules/strtol (Depends-on): Depend on wchar.
37319         * lib/strtol.c: Assume <wchar.h>.
37320         * modules/wcwidth (Depends-on): Depend on wchar.
37321         * lib/wcwidth.h: Assume <wchar.h>.
37322         * m4/wcwidth.m4: Likewise.
37323
37324 2007-01-16  Bruno Haible  <bruno@clisp.org>
37325
37326         * modules/csharpexec-script: New, created from...
37327         * modules/csharpexec: ... this.
37328
37329 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
37330
37331         * modules/javaexec-script: New, created from...
37332         * modules/javaexec: ... this.
37333
37334 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37335
37336         * modules/poll (Dependencies): Add sys_select.
37337
37338 2007-01-15  Jim Meyering  <jim@meyering.net>
37339
37340         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
37341         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
37342         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
37343         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
37344
37345 2007-01-15  Bruno Haible  <bruno@clisp.org>
37346
37347         * modules/striconveh: New file.
37348         * lib/striconveh.h: New file.
37349         * lib/striconveh.c: New file.
37350         * MODULES.html.sh (Internationalization functions): Add striconveh.
37351
37352         * modules/striconveh-tests: New file.
37353         * tests/test-striconveh.c: New file.
37354
37355 2007-01-15  Bruno Haible  <bruno@clisp.org>
37356
37357         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
37358         not from GNU libiconv or GNU libc.
37359
37360 2007-01-15  Bruno Haible  <bruno@clisp.org>
37361
37362         * doc/gnulib-intro.texi (Copyright): Explain the different license
37363         terms for module descriptions, autoconf macros, tests, documentation.
37364
37365 2007-01-14  Bruno Haible  <bruno@clisp.org>
37366
37367         * modules/striconv-tests: New file.
37368         * tests/test-striconv.c: New file.
37369
37370 2007-01-14  Bruno Haible  <bruno@clisp.org>
37371
37372         * modules/iconv-tests: New file.
37373         * tests/test-iconv.c: New file.
37374
37375 2007-01-14  Bruno Haible  <bruno@clisp.org>
37376
37377         * gnulib-tool (func_get_license): For test modules, use the license of
37378         the main module.
37379
37380 2007-01-14  Bruno Haible  <bruno@clisp.org>
37381
37382         * modules/iconv (Include): Clarify that <iconv.h> can only be included
37383         if iconv is found to exist.
37384
37385 2007-01-14  Bruno Haible  <bruno@clisp.org>
37386
37387         * modules/c-ctype-tests: New file.
37388         * tests/test-c-ctype.c: New file.
37389
37390 2007-01-14  Bruno Haible  <bruno@clisp.org>
37391
37392         * modules/binary-io-tests: New file.
37393         * tests/test-binary-io.sh: New file.
37394         * tests/test-binary-io.c: New file.
37395
37396 2007-01-14  Bruno Haible  <bruno@clisp.org>
37397
37398         * modules/array-oset-tests: New file.
37399         * tests/test-array_oset.c: New file.
37400
37401 2007-01-14  Bruno Haible  <bruno@clisp.org>
37402
37403         * modules/array-list-tests: New file.
37404         * tests/test-array_list.c: New file.
37405
37406 2007-01-14  Bruno Haible  <bruno@clisp.org>
37407
37408         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
37409         and make.
37410         Reported by Simon Josefsson in
37411         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
37412
37413 2007-01-14  Bruno Haible  <bruno@clisp.org>
37414
37415         * modules/allocsa-tests: New file.
37416         * tests/test-allocsa.c: New file.
37417
37418 2007-01-14  Bruno Haible  <bruno@clisp.org>
37419
37420         * modules/fchdir (Depends-on): Add absolute-header.
37421         * modules/unistd (Depends-on): Likewise.
37422
37423 2006-12-30  Bruno Haible  <bruno@clisp.org>
37424
37425         * modules/fchdir: New file.
37426         * modules/unistd (Files): Add lib/unistd_.h.
37427         (Makefile.am): Generate unistd.h from unistd_.h.
37428         * lib/fchdir.c: New file.
37429         * lib/dirent_.h: New file.
37430         * lib/unistd_.h: New file.
37431         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
37432         * m4/fchdir.m4: New file.
37433         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
37434         (gl_HEADER_UNISTD): Invoke it.
37435         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
37436         function.
37437         * lib/backupfile.c (opendir, closedir): Undefine.
37438         * lib/chown.c (open, close): Undefine.
37439         * lib/clean-temp.c (open, close): Undefine.
37440         * lib/copy-file.c (open, close): Undefine.
37441         * lib/execute.c (open, close): Undefine.
37442         * lib/fsusage.c (open, close): Undefine.
37443         * lib/gc-gnulib.c (open, close): Undefine.
37444         * lib/getcwd.c (opendir, closedir): Undefine.
37445         * lib/glob.c (opendir, closedir): Undefine.
37446         * lib/javacomp.c (open, close): Undefine.
37447         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
37448         * lib/openat-proc.c (open, close): Undefine.
37449         * lib/pagealign_alloc.c (open, close): Undefine.
37450         * lib/pipe.c (open, close): Undefine.
37451         * lib/progreloc.c (open, close): Undefine.
37452         * lib/savedir.c (opendir, closedir): Undefine.
37453         * lib/utime.c (open, close): Undefine.
37454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
37455
37456 2007-01-10  Bruno Haible  <bruno@clisp.org>
37457
37458         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
37459
37460 2007-01-12  Eric Blake  <ebb9@byu.net>
37461
37462         Provide a robust <wchar.h>.  Further simplifications are now
37463         possible in other modules, but not included here.
37464         * modules/wchar: New module.
37465         * m4/wchar.m4: New file.
37466         * lib/wchar_.h: Likewise.
37467         * modules/mbchar (Depends-on): Depend on wchar, as the first use
37468         of the new module.
37469         * MODULES.html.sh (Extended multibyte and wide character utilities):
37470         New section.
37471
37472 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
37473
37474         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
37475         to a reasonable default for memory allocation.
37476         (xreadlink): Don't allocate a huge buffer, to work around a buggy
37477         file system that reports garbage st_size values for symlinks.
37478         Problem reported by Liyang Hu.
37479
37480 2007-01-11  Simon Josefsson  <simon@josefsson.org>
37481
37482         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
37483         Emacs .#* auto-save files).
37484
37485 2007-01-11  Bruno Haible  <bruno@clisp.org>
37486
37487         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
37488         directory.
37489
37490 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
37491
37492         Use @...@ consistently in lib/wctype_.h.
37493         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
37494         on it being set to 1 or 0.
37495         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
37496         go back to AC_SUBSTing it.
37497         * modules/wctype (Makefile.am): Undo previous change.
37498
37499 2007-01-10  Eric Blake  <ebb9@byu.net>
37500
37501         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
37502         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
37503         * modules/wctype (Makefile.am): Likewise.
37504         Reported by Chris McGuire.
37505
37506 2007-01-10  Jim Meyering  <jim@meyering.net>
37507
37508         fts.c: a small readability/maintainability improvement
37509         * lib/fts.c (fts_read): Make this code slightly more readable and
37510         maintainable by hoisting the "sp->fts_cur = p" assignments to
37511         immediately follow the statements that set P.  Derived from
37512         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
37513
37514 2007-01-10  Eric Blake  <ebb9@byu.net>
37515
37516         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
37517         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
37518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
37519         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37520         Reported by Chris McGuire.
37521
37522 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37523
37524         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
37525         in sed script.
37526
37527 2007-01-09  Bruno Haible  <bruno@clisp.org>
37528
37529         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
37530         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
37531         variables.
37532         (func_module): Use them.
37533
37534 2007-01-09  Bruno Haible  <bruno@clisp.org>
37535
37536         * modules/unistr/base: New file.
37537         * lib/unistr.h: New file.
37538
37539         * modules/unistr/u8-to-u16: New file.
37540         * lib/unistr/u8-to-u16.c: New file.
37541
37542         * modules/unistr/u8-to-u32: New file.
37543         * lib/unistr/u8-to-u32.c: New file.
37544
37545         * modules/unistr/u16-to-u8: New file.
37546         * lib/unistr/u16-to-u8.c: New file.
37547
37548         * modules/unistr/u16-to-u32: New file.
37549         * lib/unistr/u16-to-u32.c: New file.
37550
37551         * modules/unistr/u32-to-u8: New file.
37552         * lib/unistr/u32-to-u8.c: New file.
37553
37554         * modules/unistr/u32-to-u16: New file.
37555         * lib/unistr/u32-to-u16.c: New file.
37556
37557         * modules/unistr/u8-check: New file.
37558         * modules/unistr/u16-check: New file.
37559         * modules/unistr/u32-check: New file.
37560         * lib/unistr/u8-check.c: New file.
37561         * lib/unistr/u16-check.c: New file.
37562         * lib/unistr/u32-check.c: New file.
37563
37564         * modules/unistr/u8-chr: New file.
37565         * modules/unistr/u16-chr: New file.
37566         * modules/unistr/u32-chr: New file.
37567         * lib/unistr/u8-chr.c: New file.
37568         * lib/unistr/u16-chr.c: New file.
37569         * lib/unistr/u32-chr.c: New file.
37570
37571         * modules/unistr/u8-cmp: New file.
37572         * modules/unistr/u16-cmp: New file.
37573         * modules/unistr/u32-cmp: New file.
37574         * lib/unistr/u8-cmp.c: New file.
37575         * lib/unistr/u16-cmp.c: New file.
37576         * lib/unistr/u32-cmp.c: New file.
37577
37578         * modules/unistr/u8-cpy: New file.
37579         * modules/unistr/u16-cpy: New file.
37580         * modules/unistr/u32-cpy: New file.
37581         * lib/unistr/u8-cpy.c: New file.
37582         * lib/unistr/u16-cpy.c: New file.
37583         * lib/unistr/u32-cpy.c: New file.
37584         * lib/unistr/u-cpy.h: New file.
37585
37586         * modules/unistr/u8-cpy-alloc: New file.
37587         * modules/unistr/u16-cpy-alloc: New file.
37588         * modules/unistr/u32-cpy-alloc: New file.
37589         * lib/unistr/u8-cpy-alloc.c: New file.
37590         * lib/unistr/u16-cpy-alloc.c: New file.
37591         * lib/unistr/u32-cpy-alloc.c: New file.
37592         * lib/unistr/u-cpy-alloc.h: New file.
37593
37594         * modules/unistr/u8-endswith: New file.
37595         * modules/unistr/u16-endswith: New file.
37596         * modules/unistr/u32-endswith: New file.
37597         * lib/unistr/u8-endswith.c: New file.
37598         * lib/unistr/u16-endswith.c: New file.
37599         * lib/unistr/u32-endswith.c: New file.
37600         * lib/unistr/u-endswith.h: New file.
37601
37602         * modules/unistr/u8-mblen: New file.
37603         * modules/unistr/u16-mblen: New file.
37604         * modules/unistr/u32-mblen: New file.
37605         * lib/unistr/u8-mblen.c: New file.
37606         * lib/unistr/u16-mblen.c: New file.
37607         * lib/unistr/u32-mblen.c: New file.
37608
37609         * modules/unistr/u8-mbtouc: New file.
37610         * modules/unistr/u16-mbtouc: New file.
37611         * modules/unistr/u32-mbtouc: New file.
37612         * lib/unistr/u8-mbtouc.c: New file.
37613         * lib/unistr/u16-mbtouc.c: New file.
37614         * lib/unistr/u32-mbtouc.c: New file.
37615
37616         * modules/unistr/u8-mbtouc-safe: New file.
37617         * modules/unistr/u16-mbtouc-safe: New file.
37618         * modules/unistr/u32-mbtouc-safe: New file.
37619         * lib/unistr/u8-mbtouc-safe.c: New file.
37620         * lib/unistr/u16-mbtouc-safe.c: New file.
37621         * lib/unistr/u32-mbtouc-safe.c: New file.
37622
37623         * modules/unistr/u8-move: New file.
37624         * modules/unistr/u16-move: New file.
37625         * modules/unistr/u32-move: New file.
37626         * lib/unistr/u8-move.c: New file.
37627         * lib/unistr/u16-move.c: New file.
37628         * lib/unistr/u32-move.c: New file.
37629         * lib/unistr/u-move.h: New file.
37630
37631         * modules/unistr/u8-next: New file.
37632         * modules/unistr/u16-next: New file.
37633         * modules/unistr/u32-next: New file.
37634         * lib/unistr/u8-next.c: New file.
37635         * lib/unistr/u16-next.c: New file.
37636         * lib/unistr/u32-next.c: New file.
37637
37638         * modules/unistr/u8-prev: New file.
37639         * modules/unistr/u16-prev: New file.
37640         * modules/unistr/u32-prev: New file.
37641         * lib/unistr/u8-prev.c: New file.
37642         * lib/unistr/u16-prev.c: New file.
37643         * lib/unistr/u32-prev.c: New file.
37644
37645         * modules/unistr/u8-set: New file.
37646         * modules/unistr/u16-set: New file.
37647         * modules/unistr/u32-set: New file.
37648         * lib/unistr/u8-set.c: New file.
37649         * lib/unistr/u16-set.c: New file.
37650         * lib/unistr/u32-set.c: New file.
37651         * lib/unistr/u-set.h: New file.
37652
37653         * modules/unistr/u8-startswith: New file.
37654         * modules/unistr/u16-startswith: New file.
37655         * modules/unistr/u32-startswith: New file.
37656         * lib/unistr/u8-startswith.c: New file.
37657         * lib/unistr/u16-startswith.c: New file.
37658         * lib/unistr/u32-startswith.c: New file.
37659         * lib/unistr/u-startswith.h: New file.
37660
37661         * modules/unistr/u8-stpcpy: New file.
37662         * modules/unistr/u16-stpcpy: New file.
37663         * modules/unistr/u32-stpcpy: New file.
37664         * lib/unistr/u8-stpcpy.c: New file.
37665         * lib/unistr/u16-stpcpy.c: New file.
37666         * lib/unistr/u32-stpcpy.c: New file.
37667         * lib/unistr/u-stpcpy.h: New file.
37668
37669         * modules/unistr/u8-stpncpy: New file.
37670         * modules/unistr/u16-stpncpy: New file.
37671         * modules/unistr/u32-stpncpy: New file.
37672         * lib/unistr/u8-stpncpy.c: New file.
37673         * lib/unistr/u16-stpncpy.c: New file.
37674         * lib/unistr/u32-stpncpy.c: New file.
37675         * lib/unistr/u-stpncpy.h: New file.
37676
37677         * modules/unistr/u8-strcat: New file.
37678         * modules/unistr/u16-strcat: New file.
37679         * modules/unistr/u32-strcat: New file.
37680         * lib/unistr/u8-strcat.c: New file.
37681         * lib/unistr/u16-strcat.c: New file.
37682         * lib/unistr/u32-strcat.c: New file.
37683         * lib/unistr/u-strcat.h: New file.
37684
37685         * modules/unistr/u8-strchr: New file.
37686         * modules/unistr/u16-strchr: New file.
37687         * modules/unistr/u32-strchr: New file.
37688         * lib/unistr/u8-strchr.c: New file.
37689         * lib/unistr/u16-strchr.c: New file.
37690         * lib/unistr/u32-strchr.c: New file.
37691
37692         * modules/unistr/u8-strcmp: New file.
37693         * modules/unistr/u16-strcmp: New file.
37694         * modules/unistr/u32-strcmp: New file.
37695         * lib/unistr/u8-strcmp.c: New file.
37696         * lib/unistr/u16-strcmp.c: New file.
37697         * lib/unistr/u32-strcmp.c: New file.
37698
37699         * modules/unistr/u8-strcpy: New file.
37700         * modules/unistr/u16-strcpy: New file.
37701         * modules/unistr/u32-strcpy: New file.
37702         * lib/unistr/u8-strcpy.c: New file.
37703         * lib/unistr/u16-strcpy.c: New file.
37704         * lib/unistr/u32-strcpy.c: New file.
37705         * lib/unistr/u-strcpy.h: New file.
37706
37707         * modules/unistr/u8-strcspn: New file.
37708         * modules/unistr/u16-strcspn: New file.
37709         * modules/unistr/u32-strcspn: New file.
37710         * lib/unistr/u8-strcspn.c: New file.
37711         * lib/unistr/u16-strcspn.c: New file.
37712         * lib/unistr/u32-strcspn.c: New file.
37713         * lib/unistr/u-strcspn.h: New file.
37714
37715         * modules/unistr/u8-strdup: New file.
37716         * modules/unistr/u16-strdup: New file.
37717         * modules/unistr/u32-strdup: New file.
37718         * lib/unistr/u8-strdup.c: New file.
37719         * lib/unistr/u16-strdup.c: New file.
37720         * lib/unistr/u32-strdup.c: New file.
37721         * lib/unistr/u-strdup.h: New file.
37722
37723         * modules/unistr/u8-strlen: New file.
37724         * modules/unistr/u16-strlen: New file.
37725         * modules/unistr/u32-strlen: New file.
37726         * lib/unistr/u8-strlen.c: New file.
37727         * lib/unistr/u16-strlen.c: New file.
37728         * lib/unistr/u32-strlen.c: New file.
37729         * lib/unistr/u-strlen.h: New file.
37730
37731         * modules/unistr/u8-strmblen: New file.
37732         * modules/unistr/u16-strmblen: New file.
37733         * modules/unistr/u32-strmblen: New file.
37734         * lib/unistr/u8-strmblen.c: New file.
37735         * lib/unistr/u16-strmblen.c: New file.
37736         * lib/unistr/u32-strmblen.c: New file.
37737
37738         * modules/unistr/u8-strmbtouc: New file.
37739         * modules/unistr/u16-strmbtouc: New file.
37740         * modules/unistr/u32-strmbtouc: New file.
37741         * lib/unistr/u8-strmbtouc.c: New file.
37742         * lib/unistr/u16-strmbtouc.c: New file.
37743         * lib/unistr/u32-strmbtouc.c: New file.
37744
37745         * modules/unistr/u8-strncat: New file.
37746         * modules/unistr/u16-strncat: New file.
37747         * modules/unistr/u32-strncat: New file.
37748         * lib/unistr/u8-strncat.c: New file.
37749         * lib/unistr/u16-strncat.c: New file.
37750         * lib/unistr/u32-strncat.c: New file.
37751         * lib/unistr/u-strncat.h: New file.
37752
37753         * modules/unistr/u8-strncmp: New file.
37754         * modules/unistr/u16-strncmp: New file.
37755         * modules/unistr/u32-strncmp: New file.
37756         * lib/unistr/u8-strncmp.c: New file.
37757         * lib/unistr/u16-strncmp.c: New file.
37758         * lib/unistr/u32-strncmp.c: New file.
37759
37760         * modules/unistr/u8-strncpy: New file.
37761         * modules/unistr/u16-strncpy: New file.
37762         * modules/unistr/u32-strncpy: New file.
37763         * lib/unistr/u8-strncpy.c: New file.
37764         * lib/unistr/u16-strncpy.c: New file.
37765         * lib/unistr/u32-strncpy.c: New file.
37766         * lib/unistr/u-strncpy.h: New file.
37767
37768         * modules/unistr/u8-strnlen: New file.
37769         * modules/unistr/u16-strnlen: New file.
37770         * modules/unistr/u32-strnlen: New file.
37771         * lib/unistr/u8-strnlen.c: New file.
37772         * lib/unistr/u16-strnlen.c: New file.
37773         * lib/unistr/u32-strnlen.c: New file.
37774         * lib/unistr/u-strnlen.h: New file.
37775
37776         * modules/unistr/u8-strpbrk: New file.
37777         * modules/unistr/u16-strpbrk: New file.
37778         * modules/unistr/u32-strpbrk: New file.
37779         * lib/unistr/u8-strpbrk.c: New file.
37780         * lib/unistr/u16-strpbrk.c: New file.
37781         * lib/unistr/u32-strpbrk.c: New file.
37782         * lib/unistr/u-strpbrk.h: New file.
37783
37784         * modules/unistr/u8-strrchr: New file.
37785         * modules/unistr/u16-strrchr: New file.
37786         * modules/unistr/u32-strrchr: New file.
37787         * lib/unistr/u8-strrchr.c: New file.
37788         * lib/unistr/u16-strrchr.c: New file.
37789         * lib/unistr/u32-strrchr.c: New file.
37790
37791         * modules/unistr/u8-strspn: New file.
37792         * modules/unistr/u16-strspn: New file.
37793         * modules/unistr/u32-strspn: New file.
37794         * lib/unistr/u8-strspn.c: New file.
37795         * lib/unistr/u16-strspn.c: New file.
37796         * lib/unistr/u32-strspn.c: New file.
37797         * lib/unistr/u-strspn.h: New file.
37798
37799         * modules/unistr/u8-strstr: New file.
37800         * modules/unistr/u16-strstr: New file.
37801         * modules/unistr/u32-strstr: New file.
37802         * lib/unistr/u8-strstr.c: New file.
37803         * lib/unistr/u16-strstr.c: New file.
37804         * lib/unistr/u32-strstr.c: New file.
37805         * lib/unistr/u-strstr.h: New file.
37806
37807         * modules/unistr/u8-strtok: New file.
37808         * modules/unistr/u16-strtok: New file.
37809         * modules/unistr/u32-strtok: New file.
37810         * lib/unistr/u8-strtok.c: New file.
37811         * lib/unistr/u16-strtok.c: New file.
37812         * lib/unistr/u32-strtok.c: New file.
37813         * lib/unistr/u-strtok.h: New file.
37814
37815         * modules/unistr/u8-uctomb: New file.
37816         * modules/unistr/u16-uctomb: New file.
37817         * modules/unistr/u32-uctomb: New file.
37818         * lib/unistr/u8-uctomb.c: New file.
37819         * lib/unistr/u16-uctomb.c: New file.
37820         * lib/unistr/u32-uctomb.c: New file.
37821
37822         * MODULES.html.sh (Unicode string functions): Add the new modules.
37823
37824 2007-01-08  Bruno Haible  <bruno@clisp.org>
37825
37826         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
37827         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
37828         subdirectories.
37829
37830 2007-01-08  Karl Berry  <karl@gnu.org>
37831
37832         * doc/error.texi: mention that main() fns must set program_name
37833         when progname is used.
37834
37835 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
37836
37837         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
37838         WCTYPE_H is empty, for the benefit of builds from non-distclean
37839         directories.  Problem reported by Eric Blake in
37840         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
37841
37842 2007-01-08  Bruno Haible  <bruno@clisp.org>
37843
37844         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
37845         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
37846         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
37847         PROVIDE_CANONICALIZE_FILENAME_MODE.
37848         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
37849
37850 2007-01-08  Bruno Haible  <bruno@clisp.org>
37851
37852         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
37853         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
37854         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
37855         * lib/fts.c: Likewise.
37856         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
37857
37858 2006-12-25  Bruno Haible  <bruno@clisp.org>
37859
37860         * modules/utf8-ucs4-safe: New file.
37861         * lib/utf8-ucs4-safe.h: New file.
37862         * lib/unistr/utf8-ucs4-safe.c: New file.
37863
37864         * modules/utf16-ucs4-safe: New file.
37865         * lib/utf16-ucs4-safe.h: New file.
37866         * lib/unistr/utf16-ucs4-safe.c: New file.
37867
37868         * MODULES.html.sh (Unicode string functions): Add the new modules.
37869
37870 2007-01-08  Bruno Haible  <bruno@clisp.org>
37871
37872         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
37873         (Depends-on): Add unitypes.
37874         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
37875         (u8_mbtouc_aux): Move out to separate file.
37876         (u8_mbtouc): Use ucs4_t, uint8_t types.
37877         * lib/unistr/utf8-ucs4.c: New file.
37878
37879         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
37880         (Depends-on): Add unitypes.
37881         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
37882         (u16_mbtouc_aux): Move out to separate file.
37883         (u16_mbtouc): Use ucs4_t, uint16_t types.
37884         * lib/unistr/utf16-ucs4.c: New file.
37885
37886         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
37887         (Depends-on): Add unitypes.
37888         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
37889         (u8_uctomb_aux): Move out to separate file.
37890         (u8_uctomb): Use ucs4_t, uint8_t types.
37891         * lib/unistr/ucs4-utf8.c: New file.
37892
37893         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
37894         (Depends-on): Add unitypes.
37895         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
37896         (u16_uctomb_aux): Move out to separate file.
37897         (u16_uctomb): Use ucs4_t, uint16_t types.
37898         * lib/unistr/ucs4-utf16.c: New file.
37899
37900 2006-12-25  Bruno Haible  <bruno@clisp.org>
37901
37902         * modules/unitypes: New file.
37903         * lib/unitypes.h: New file.
37904         * MODULES.html.sh (func_all_modules): New section "Unicode string
37905         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
37906         this section. Add unitypes.
37907
37908 2007-01-08  Bruno Haible  <bruno@clisp.org>
37909
37910         Avoid variable names that conflict with those from libtool.
37911         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
37912         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
37913         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
37914         library_names_spec to acl_library_names_spec, hardcode_* to
37915         acl_hardcode_*.
37916         Reported by Ralf Wildenhues.
37917
37918 2007-01-08  Bruno Haible  <bruno@clisp.org>
37919
37920         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
37921         definition.
37922         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
37923         definition.
37924         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
37925         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
37926         definition.
37927         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
37928         definition.
37929         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
37930         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
37931         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
37932         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
37933         definition.
37934         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
37935         definition.
37936         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
37937         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
37938         GC_USE_<algorithm>.
37939         * lib/gc-libgcrypt.c: Likewise.
37940         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
37941         * modules/gc-arctwo (configure.ac): Likewise.
37942         * modules/gc-des (configure.ac): Likewise.
37943         * modules/gc-hmac-md5 (configure.ac): Likewise.
37944         * modules/gc-hmac-sha1 (configure.ac): Likewise.
37945         * modules/gc-md2 (configure.ac): Likewise.
37946         * modules/gc-md4 (configure.ac): Likewise.
37947         * modules/gc-md5 (configure.ac): Likewise.
37948         * modules/gc-random (configure.ac): Likewise.
37949         * modules/gc-rijndael (configure.ac): Likewise.
37950         * modules/gc-sha1 (configure.ac): Likewise.
37951
37952 2007-01-08  Bruno Haible  <bruno@clisp.org>
37953
37954         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
37955         macro definition.
37956         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
37957         definition.
37958         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
37959         definition.
37960         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
37961         * modules/fcntl-safer (configure.ac): Likewise.
37962         * modules/fopen-safer (configure.ac): Likewise.
37963         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
37964         GNULIB_FWRITEERROR macro definition.
37965
37966 2007-01-08  Bruno Haible  <bruno@clisp.org>
37967
37968         * m4/gnulib-common.m4: New file.
37969         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
37970         (func_get_filelist): Add m4/gnulib-common.m4.
37971
37972 2007-01-08  Bruno Haible  <bruno@clisp.org>
37973
37974         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
37975         command.
37976
37977 2007-01-08  Jim Meyering  <jim@meyering.net>
37978
37979         Use a more robust test for a "can't happen" condition.
37980         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
37981         narrowed the st_size value.  Presuming the "can't happen" condition
37982         is true, that narrowing could conceivably convert an invalid st_size
37983         value into a valid one.  Instead, use a change based on Matthew
37984         Woehlke's original patch.
37985
37986         Slight readability improvement: use an assert-like macro
37987         in place of literal "abort ()" uses.
37988         * lib/fts.c (fts_assert): Define.
37989         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
37990         Use this macro instead of a bare 'abort'.
37991
37992 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
37993
37994         Don't worry about using IRIX 5.3's wctype.h broken definitions;
37995         simply work around them.
37996         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
37997         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
37998         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
37999         declaring.
38000         Don't bother to define as macros, since the standard doesn't require it.
38001         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
38002         longer worry about IRIX 5.3.
38003         (HAVE_WCTYPE_CTMP_BUG): Remove.
38004
38005 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38006
38007         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
38008         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
38009         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38010         Problems reported by Georg Schwarz for IRIX 5.3.
38011
38012         * gnulib-tool (autoconf_minversion): Take the maximum version number
38013         found, not the minimum.  Problem reported by James Youngman.
38014
38015 2007-01-03  Karl Berry  <karl@gnu.org>
38016
38017         * doc/error.texi: new file, explaining interaction with progname.
38018         * doc/gnulib.texi: include it.  Update copyright.
38019
38020 2007-01-03  Simon Josefsson  <simon@josefsson.org>
38021
38022         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
38023         AC_CANONICAL_HOST, to improve autobuild outputs.
38024
38025 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
38026             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
38027
38028         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
38029         sockets, server sockets, and other file descriptors.  Count errors
38030         to compute the return value.  Reorder the code a bit to be easier
38031         to follow.  Don't set event bits that were not requested (except
38032         POLLERR and POLLHUP).
38033
38034 2007-01-01  Bruno Haible  <bruno@clisp.org>
38035
38036         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
38037
38038 2007-01-03  Jim Meyering  <jim@meyering.net>
38039
38040         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
38041
38042 2007-01-02  Bruno Haible  <bruno@clisp.org>
38043
38044         * modules/settime (Include): Require timespec.h.
38045         * modules/nanosleep (Include): Likewise.
38046
38047 2007-01-01  Bruno Haible  <bruno@clisp.org>
38048
38049         * gnulib-tool (func_emit_copyright_notice): Bump year.
38050         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
38051
38052 2007-01-01  Bruno Haible  <bruno@clisp.org>
38053
38054         Improve support for OpenBSD.
38055         * build-aux/config.rpath (libname_spec): Export.
38056         (library_names_spec): New variable. Export.
38057         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
38058         library_names_spec from the config.rpath output. Locate shared library
38059         through the name pattern in library_names_spec.
38060
38061 2007-01-01  Eric Blake  <ebb9@byu.net>
38062
38063         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
38064
38065 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38066
38067         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
38068         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
38069         assume the C locale, and avoid an "eval" that could cause trouble.
38070         Problem with SORT reported by Bob Proulx.
38071
38072         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
38073         Define.  Trivial patch from Henning Nielsen Lund, originally
38074         sent to bug-grep@gnu.org today.
38075
38076 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38077
38078         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
38079         struct stat.  Problem reported by Henning Nielsen Lund.
38080         * lib/acl.c: Include acl.h first, to check interface.  Don't
38081         bother to include sys/types.h and sys/stat.h again.
38082
38083 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
38084
38085         Import the following change from libc; problem reported by
38086         Sven Verdoolaege.
38087
38088         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
38089
38090         [BZ #1373]
38091         * lib/argp.h: Remove __NTH for __argp_usage inline function.
38092
38093 2006-12-28  Jim Meyering  <jim@meyering.net>
38094
38095         * build-aux/announce-gen: Do not assume that the package
38096         builds any of tar.gz, tar.bz2, and .xdelta files.
38097         Suggestion from Simon Josefsson.
38098
38099 2006-12-28  Simon Josefsson  <simon@josefsson.org>
38100
38101         * modules/announce-gen: New file.
38102
38103 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
38104
38105         * lib/mbchar.h: Just include <wctype.h>; the wctype module
38106         handles its gotchas now.
38107         * lib/mbswidth.c: Likewise.
38108         * lib/wcwidth.h: Likewise.
38109         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
38110         and iswcntrl; the wctype module does this stuff now.
38111         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38112         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38113         * modules/mbchar (Depends-on): Add wctype.
38114         * modules/mbswidth (Depends-on): Likewise.
38115         * modules/wcwidth (Depends-on): Likewise.
38116
38117 2006-12-27  Eric Blake  <ebb9@byu.net>
38118
38119         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
38120         module uses more than what <wctype.h> is required to provide.
38121
38122 2006-12-26  Eric Blake  <ebb9@byu.net>
38123
38124         * gnulib-tool (sed_extract_prog): Avoid space-tab.
38125
38126 2006-12-26  Eric Blake  <ebb9@byu.net>
38127
38128         * modules/absolute-header: New module.
38129         * modules/fcntl (Depends-on): Depend on it.
38130         * modules/inttypes (Depends-on): Likewise.
38131         * modules/stdint (Depends-on): Likewise.
38132         * modules/sys_stat (Depends-on): Likewise.
38133         * modules/wctype (Depends-on): Likewise.
38134         * MODULES.html.sh (Support for building libraries and
38135         executables): Document it.
38136
38137 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38138
38139         * gnulib-tool (SED): Remove, undoing previous change.
38140         The problem was that it broke coreutils on Solaris, because
38141         "sed --posix" leaked into a makefile.
38142         (sed): New alias, if 'alias' and GNU sed.
38143
38144 2006-12-24  Jim Meyering  <jim@meyering.net>
38145
38146         Work around an fchownat bug in glibc-2.4:
38147         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
38148         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
38149         in spite of the -P option.
38150         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
38151         New macros.
38152         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
38153         * modules/openat (Files): Add lib/fchownat.c.
38154         * lib/openat.c (fchownat): Don't define here.  Move to...
38155         * lib/fchownat.c: ...this new file.
38156
38157 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
38158
38159         Fix bug reported by Bruno Haible in
38160         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
38161         where quotearg.c didn't compile on Mac OS X 10.2 because it
38162         lacks <wchar.h> and wint_t.
38163         * lib/wctype_.h (__wctype_wint_t): New type.
38164         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
38165         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
38166         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
38167         Arg is now of type __wctype_wint_t, not wint_t.
38168         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
38169         substitute HAVE_WINT_T.
38170         * modules/wctype (Files): Add m4/wint_t.m4.
38171         (wctype.h): Substitute HAVE_WINT_T.
38172
38173 2006-12-23  Bruno Haible  <bruno@clisp.org>
38174
38175         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
38176
38177 2006-12-23  Bruno Haible  <bruno@clisp.org>
38178
38179         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
38180         S_ISLNK.
38181         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
38182         mingw.
38183
38184 2006-12-22  Bruno Haible  <bruno@clisp.org>
38185
38186         * lib/copy-file.c: Include acl.h.
38187         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
38188         Close the file descriptors only after being done with copy_acl.
38189         * modules/copy-file (Depends-on): Add acl.
38190
38191 2006-12-22  Bruno Haible  <bruno@clisp.org>
38192
38193         * gnulib-tool (SED): New variable.
38194         Use $SED instead of sed everywhere.
38195
38196 2006-12-22  Bruno Haible  <bruno@clisp.org>
38197
38198         * modules/no-c++: New file.
38199         * m4/no-c++.m4: New file.
38200         * MODULES.html.sh (Support for building libraries and executables):
38201         Add no-c++.
38202
38203 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
38204
38205         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38206         Include <limits.h>, and use its INT_MAX to rewrite the
38207         j loop so that it does not overflow 'int'.  Problem reported by
38208         Ralf Wildenhues in
38209         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
38210         Play it safe by shifting left by 1 rather than multiplying by 2,
38211         as GCC is less likely to optimize this away when the value
38212         is signed (when it assumes overflow leads to undefined behavior).
38213         Also, don't assume time_t uses two's complement.
38214
38215 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
38216
38217         * MODULES.html.sh: New module wctype.
38218         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
38219         * lib/fnmatch.c: Don't bother to include <wchar.h> before
38220         <wctype.h>, since the new wctype module should fix this.
38221         * lib/quotearg.c: Include <wctype.h> unconditionally, since
38222         the wctype module should arrange for it.
38223         * lib/regex_internal.h: Likewise.
38224         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
38225         since the wctype module should handle this now.
38226         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
38227         * modules/fnmatch (Depends-on): Add wctype.
38228         * modules/quotearg (Depends-on): Likewise.
38229         * modules/regex (Depends-on): Likewise.
38230
38231 2006-12-19  Bruno Haible  <bruno@clisp.org>
38232
38233         * lib/strdup.h [C++]: Wrap definitions in extern "C".
38234         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
38235
38236 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38237
38238         * modules/savewd (Depends-on): Fix dependency on fcntl.
38239
38240 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38241
38242         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
38243         conforms to C99, rather than relying on the user's environment
38244         setting of STDINT_H.
38245
38246 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38247         and Eric Blake  <ebb9@byu.net>
38248
38249         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
38250         This is more consistent with the other defines here.
38251         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
38252         Port to z/OS.  Problem reported by Paul Gilmartin.
38253         Change local vars to use gl_ prefix rather than ac_.
38254         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
38255         with other defines.
38256         * modules/double-slash-root: New module.
38257         * modules/dirname (Files): Remove m4/double-slash-root.m4.
38258         (Depends-on): Add double-slash-root.
38259         * MODULES.html.sh (File system functions): Mention new module.
38260
38261 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
38262
38263         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
38264         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
38265         This is for the benefit of gzip, which doesn't do i18n.
38266
38267 2006-12-12  Jim Meyering  <jim@meyering.net>
38268
38269         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
38270         Reported by Andreas Schwab <schwab@suse.de>.
38271
38272 2006-12-12  Bruno Haible  <bruno@clisp.org>
38273
38274         Merge these changes.
38275         2006-09-05  Bruno Haible  <bruno@clisp.org>
38276         * lib/iconvme.c (iconv_string): No need to save and restore errno when
38277         iconv_alloc succeeded.
38278         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
38279         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
38280         test for " && dest " at the end - dest is always != NULL there. Call
38281         iconv with 4xNULL arguments initially, to reset the state. Call iconv
38282         with 2xNULL arguments, also to flush the state storage. Handle the
38283         IRIX iconv behaviour. Realloc the final result, to throw away unused
38284         memory.
38285
38286 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
38287
38288         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
38289         and fchmodat unconditionally, since glibc 2.4 has them.
38290         Problem reported by Arkadiusz Miskiewicz.
38291
38292 2006-12-10  Bruno Haible  <bruno@clisp.org>
38293
38294         * gnulib-tool (func_import): Show the include files only for those
38295         modules that are copied and specified.
38296         Reported by Karl Berry.
38297
38298 2006-12-08  Jim Meyering  <jim@meyering.net>
38299
38300         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
38301         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
38302
38303         * build-aux/announce-gen: Add two new options, both optional:
38304         --bootstrap-tools=TOOL_LIST
38305               a comma-separated list of tools, e.g.,
38306               autoconf,automake,bison,gnulib
38307         --gnulib-snapshot-date=DATE
38308               if gnulib is in the bootstrap tool list,
38309               then report this as the snapshot date.
38310               If not specified, use the current date/time.
38311               If you specify a date here, be sure it's UTC.
38312
38313 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38314
38315         * tests/test-argp-2.sh: Fix test to match actual output.
38316         (func_compare): Fix sed script to be portable.
38317
38318 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
38319
38320         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
38321         workaround for this case.  It is not autoconfigured now; offhand
38322         it's hard to see how to autoconfigure it.
38323
38324 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38325
38326         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
38327         a directory that is about to be chowned.  Such a directory's
38328         initial file permissions should permit the owner only and this
38329         should not be changed until after the chown, since the group and
38330         other bits would be incorrect if they granted permission before
38331         the chown.
38332
38333         Fix porting problem for iswctype reported by Georg Schwarz in:
38334         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
38335         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
38336         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
38337         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
38338         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38339
38340 2006-12-03  Jim Meyering  <jim@meyering.net>
38341
38342         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
38343         p->fts_statp may not yet be defined.
38344         (fts_read): Instead, set it in the caller, once p->fts_statp is
38345         sure to be defined, and corresponds to a top-level directory.
38346         This bug made du -x fail.  Here's the coreutils test case:
38347         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
38348         Reported by Mike Frysinger.
38349
38350 2006-12-01  Jim Meyering  <jim@meyering.net>
38351
38352         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
38353         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
38354         Reported by Simon Josefsson.
38355
38356 2006-11-30  Jim Meyering  <jim@meyering.net>
38357
38358         * m4/warning.m4: Use the all-permissive copyright notice
38359         recommended by RMS (rather than LGPL).
38360         * m4/vararrays.m4: Likewise.
38361         * m4/flexmember.m4: Likewise.
38362
38363 2006-11-29  Bruno Haible  <bruno@clisp.org>
38364
38365         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38366         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
38367         using +=.
38368         Reported by Simon Josefsson <simon@josefsson.org>.
38369
38370 2006-11-28  James Youngman <jay@gnu.org>
38371
38372         * README: Advise users that they might find the bug-gnulib@gnu.org
38373         and autotools-announce@gnu.org mailing lists useful.
38374
38375 2006-11-28  Bruno Haible  <bruno@clisp.org>
38376
38377         * m4/ptrdiff_max.m4: Remove file.
38378
38379 2006-11-21  Bruno Haible  <bruno@clisp.org>
38380
38381         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
38382         _AC_COMPUTE_INT.
38383         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38384         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
38385         _AC_COMPUTE_INT.
38386         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38387         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
38388         _AC_COMPUTE_INT.
38389         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38390
38391 2006-11-28  Jim Meyering  <jim@meyering.net>
38392
38393         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
38394         warning from "gcc -Wshadow" about shadowing the builtin.
38395
38396 2006-11-27  Bruno Haible  <bruno@clisp.org>
38397
38398         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
38399         _AC_COMPUTE_INT.
38400         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38401
38402 2006-11-27  Bruno Haible  <bruno@clisp.org>
38403             Paul Eggert  <eggert@cs.ucla.edu>
38404
38405         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
38406
38407 2006-11-26  Bruno Haible  <bruno@clisp.org>
38408
38409         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38410         noinst_LTLIBRARIES.
38411
38412 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
38413             Bruno Haible  <bruno@clisp.org>
38414
38415         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
38416         if compiling with "gcc -ansi".
38417
38418 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
38419
38420         Fix some incompatibilities with gcc -ansi -pedantic.
38421         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
38422         if compiling pedantically with GCC, unless it's C99 or later.
38423         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
38424         it mishandles gcc -ansi -pedantic as well.
38425         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
38426         if gcc -pedantic.
38427         * lib/regexec.c (check_node_accept_bytes): Don't use auto
38428         initializers for struct if -pedantic, unless it's C99 or later.
38429
38430 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
38431
38432         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
38433         Don't close an fd more than once. Identical atimes indicate
38434         success, not failure.
38435
38436 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
38437
38438         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
38439
38440 2006-11-23  Jim Meyering  <jim@meyering.net>
38441
38442         * build-aux/announce-gen: New file.  From coreutils.
38443
38444 2006-11-22  Jim Meyering  <jim@meyering.net>
38445
38446         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
38447         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
38448         (fts_read): Use a temporary to narrow the overused st_size member
38449         before using it in a switch statement.  Reported by Matthew Woehlke.
38450
38451         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
38452         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38453
38454 2006-11-20  Bruno Haible  <bruno@clisp.org>
38455
38456         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
38457         changequote instead of pairs of brackets.
38458         Reported by Andreas Schwab <schwab@suse.de>.
38459
38460 2006-11-21  Jim Meyering  <jim@meyering.net>
38461
38462         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
38463         so as to remain compatible with older compilers.
38464         Patch from Michael Deutschmann.
38465
38466 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38467
38468         * MODULES.html.sh (File system functions): Add openat.
38469
38470         * lib/openat.h (rpl_fstatat): New macro, if
38471         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
38472         (fstatat): Define to rpl_fstatat under the same conditions,
38473         unless COMPILING_FSTATAT.
38474         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
38475         seems to have the bug.
38476         * lib/fstatat.c: New file.
38477         * modules/openat (Files): Add it.
38478
38479 2006-11-20  Bruno Haible  <bruno@clisp.org>
38480
38481         * Makefile: New file.
38482
38483 2006-11-20  Jim Meyering  <jim@meyering.net>
38484
38485         The beginnings of syntax-related checks for gnulib.
38486         * lib/Makefile: New file.
38487         * lib/t-idcache: New script.  Ensure that the two halves of
38488         idcache.c stay in sync.
38489
38490         * lib/idcache.c: Adjust comments in user- and group- portions to
38491         be more accurate, and to be consistent with one another.
38492
38493 2006-11-20  Jim Meyering  <jim@meyering.net>
38494
38495         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
38496         continue using the flexible array member (thus, this module performs
38497         half as many malloc calls), with the addition that...
38498         (getgroup, getuser): Consistently record a non-match via an empty
38499         "name" string, and map an empty string match to a NULL return value.
38500         * modules/idcache (Depends-on): Re-add flexmember.
38501
38502         * lib/idcache.c (getuser): Remove all uses of the register keyword.
38503         (getuidbyname, getgroup, getgidbyname): Likewise.
38504
38505         Use cleaner syntax: NULL rather than 0.
38506         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
38507
38508 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38509
38510         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
38511         It mishandled the case where the group was missing.
38512         Problem reported by Greg Schafer.
38513         * modules/idcache: Likewise.
38514
38515 2006-11-18  Jim Meyering  <jim@meyering.net>
38516
38517         * check-module (%exempt_header): Add exception for some
38518         conditionally-included headers.
38519
38520         * modules/i-ring (Depends-on): Add verify.
38521         (License): Change to LGPL.
38522
38523 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
38524
38525         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
38526         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
38527         and inttostr.h.  Use snprintf rather than uinttostr, so that
38528         LGPLed code doesn't depend on GPLed.
38529
38530 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
38531
38532         * modules/inline (License): Change from GPL to LGPL.
38533
38534 2006-11-17  Jim Meyering  <jim@meyering.net>
38535
38536         * modules/d-type (License): Switch to LGPL.
38537
38538 2006-11-15  Bruno Haible  <bruno@clisp.org>
38539
38540         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
38541
38542 2006-11-15  Eric Blake  <ebb9@byu.net>
38543
38544         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
38545         the module dependency.
38546
38547 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38548             Bruno Haible  <bruno@clisp.org>
38549
38550         * gnulib-tool (func_create_testdir): Add license consistency check.
38551
38552 2006-11-15  Eric Blake  <ebb9@byu.net>
38553
38554         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
38555         random "(cached)" in configure output.
38556
38557 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38558
38559         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
38560         test for conforming inttypes.h is both announced and cached.
38561
38562         * MODULES.html.sh (seen_modules, seen_files): New variables.
38563         (func_module): Rewrite to use a few less gnulib-tool and sed
38564         invocations.  Avoid a couple of quadratic algorithms for ...
38565         (missed_modules, missed_files): ... these, with ...
38566         (func_append, func_tmpdir): ... these new functions, from
38567         gnulib-tool.  Analogously, install traps for cleanup.
38568
38569         * tests/test-gc.c (main): Remove unused variables.
38570         * tests/test-read-file.c: Include stdlib.h, for 'free'.
38571
38572 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
38573
38574         * modules/inttostr (License): Change to LGPL.
38575
38576 2006-11-14  Eric Blake  <ebb9@byu.net>
38577
38578         * modules/tempname (License): Change to LGPL.
38579
38580 2006-11-14  Eric Blake  <ebb9@byu.net>
38581
38582         * doc/functions.texi (Function Portability): *printf functions on
38583         Cygwin now understand all POSIX size specifiers.
38584
38585 2006-11-14  Bruno Haible  <bruno@clisp.org>
38586
38587         * modules/c-ctype (License): Change to LGPL.
38588
38589 2006-11-12  Bruno Haible  <bruno@clisp.org>
38590
38591         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
38592         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
38593         for GNOME libraries, for which the include files are installed in
38594         subdirectories of $prefix/include.
38595
38596 2006-11-12  Bruno Haible  <bruno@clisp.org>
38597
38598         * m4/lib-link.m4: Require at least autoconf-2.54.
38599         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
38600         name to underscores for the --with option.
38601
38602 2006-11-13  Bruno Haible  <bruno@clisp.org>
38603
38604         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
38605         the tests directory.
38606         Reported by Ralf Wildenhues.
38607
38608 2006-11-13  Bruno Haible  <bruno@clisp.org>
38609
38610         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
38611         (func_emit_initmacro_end): Undo the override here.
38612         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
38613         Works around the famous automake error in coreutils.
38614
38615 2006-11-13  Eric Blake  <ebb9@byu.net>
38616
38617         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
38618         element, not its node.
38619
38620 2006-11-12  Bruno Haible  <bruno@clisp.org>
38621
38622         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
38623         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
38624
38625 2006-11-12  Bruno Haible  <bruno@clisp.org>
38626
38627         * gnulib-tool: New option --local-symlink.
38628         (func_usage): Document it.
38629         (lsymbolic): New variable.
38630         (func_import, func_create_testdir): If --symlink was not specified,
38631         test whether --local-symlink was specified and the file comes from
38632         the local_gnulib_dir.
38633
38634 2006-11-12  Bruno Haible  <bruno@clisp.org>
38635
38636         * gnulib-tool (func_ln): New function.
38637         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
38638
38639 2006-11-12  Bruno Haible  <bruno@clisp.org>
38640
38641         Finish support for source files in subdirectories.
38642         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
38643         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
38644         AUTOMAKE_OPTIONS.
38645         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
38646
38647 2006-11-12  Bruno Haible  <bruno@clisp.org>
38648
38649         * gnulib-tool (func_get_automake_snippet): Synthesize also an
38650         EXTRA_lib_SOURCES augmentation.
38651         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
38652
38653 2006-11-12  Jim Meyering  <jim@meyering.net>
38654
38655         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
38656         file descriptors.  This also averts a failure on systems with
38657         native openat support when a traversed directory lacks "x" access.
38658         * lib/fts_.h: Include "i-ring.h"
38659         (struct FTS) [fts_fd_ring]: New member.
38660         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
38661         (FCHDIR): Add parentheses.
38662         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
38663         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
38664         When descending, rather than simply closing the previous
38665         fts_cwd_fd value, push that file descriptor onto the ring.
38666         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
38667         (fts_open): Initialize the new fd_ring member.
38668         (fts_close): Clear the ring.
38669         (fts_safe_changedir): When possible, use our new fd_ring to skip
38670         the diropen and fstat and dev/ino comparison that would normally
38671         accompany a virtual `chdir ("..")'.
38672
38673         * modules/fts (Depends-on): Add i-ring.
38674         * modules/i-ring: New module.
38675         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
38676         * m4/i-ring.m4: New file.
38677
38678 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38679
38680         * gnulib-tool (func_create_testdir): Fix replacement of
38681         `build-aux' in configure.ac.  Run autotools in gltests
38682         subdirectory.
38683         (func_create_testdir, func_create_megatestdir, test): There is
38684         no need for '--force' in most autotool invocations in a new
38685         tree.  Actually fail the whole test if any of the tools, or the
38686         configure or make stages fail.
38687
38688         Sync from Automake.
38689         * build-aux/gnupload: Revert last change.  Add pointer to upload
38690         instructions of the GNU Maintenance Instructions.
38691         Suggestion by Karl Berry.
38692
38693 2006-11-10  Jim Meyering  <jim@meyering.net>
38694
38695         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
38696
38697 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
38698
38699         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
38700         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
38701         (bind_textdomain_codeset) [! ENABLE_NLS]:
38702         Evaluate all the arguments.  That way, callers get compatible behavior
38703         if the arguments have side effects.  Also, it avoids some GCC
38704         diagnostics in some cases; Joel E. Denny reported problems when Bison
38705         was configured with --enable-gcc-warnigs.
38706
38707 2006-11-10  Jim Meyering  <jim@meyering.net>
38708
38709         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
38710         relevant options in CFLAGS (like -O, -fno-inline) are taken into
38711         account.
38712
38713 2006-11-10  Jim Meyering  <jim@meyering.net>
38714
38715         * modules/inline: New file/module.
38716         * modules/xalloc (Files): Remove m4/inline.m4.
38717         (Depends-on): Add inline, instead.
38718         * modules/oset: Likewise.
38719         * modules/list: Likewise.
38720
38721 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
38722
38723         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
38724         Problem reported by Matthew Woehlke.
38725
38726 2006-11-09  Bruno Haible  <bruno@clisp.org>
38727
38728         * lib/tempname.c (gen_tempname): Remove variant that invokes
38729         __gen_tempname.
38730         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
38731         __gen_tempname.
38732
38733 2006-11-08  Bruno Haible  <bruno@clisp.org>
38734
38735         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
38736         to 'yes' instead of 'cross-compiling'.
38737
38738 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38739
38740         * lib/quotearg.h (quotearg_free): New decl.
38741         * lib/quotearg.c (quotearg_free): New function.
38742         (slot0, nslots, slotvec0, slotvec):
38743         Now file-scope so that quotearg_free can get at them.
38744
38745 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38746
38747         Sync from Automake.
38748         * build-aux/gnupload: Add missing 'gnu' to example URL.
38749         Report by Karl Berry.
38750
38751 2006-11-08  Bruno Haible  <bruno@clisp.org>
38752
38753         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
38754         Suggested by Paul Eggert.
38755
38756 2006-11-08  Jim Meyering  <jim@meyering.net>
38757
38758         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
38759         It's already included if !_LIBC.
38760         (fts_safe_changedir): Add a comment.
38761
38762 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
38763
38764         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
38765         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
38766         Matthew Woehlke.
38767
38768         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
38769         definitions up, to avoid colliding with change below.
38770         (static_inline) [HAVE_INLINE]: New macro.
38771         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
38772         Provide extern decls when !HAVE_INLINE.  Do not define unless
38773         static_inline is defined, either by us or by xmalloc.c.  Use
38774         static_inline rather than static inline.
38775         (XCALLOC): Optimize sizeof(T) = 1 case.
38776         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
38777
38778 2006-11-07  Bruno Haible  <bruno@clisp.org>
38779
38780         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
38781         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
38782         AC_C_INLINE.
38783         * modules/xalloc (Files): Add m4/inline.m4.
38784
38785 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38786
38787         * README: Fix typo.
38788         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
38789         (Miscellanous Notes): ...from this.
38790
38791 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
38792
38793         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
38794         Mention that offsetof should be used instead of sizeof.
38795         From Bruno Haible.
38796
38797 2006-11-07  Bruno Haible  <bruno@clisp.org>
38798
38799         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
38800
38801 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38802
38803         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
38804         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
38805         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
38806         (gl_tree_add_before, gl_tree_add_after):
38807         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
38808         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
38809         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
38810         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
38811         (gl_linked_add_after, gl_linked_add_at): Likewise.
38812         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
38813         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
38814         (gl_tree_add_before, gl_tree_add_after): Likewise.
38815         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
38816         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
38817         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38818
38819 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38820
38821         * lib/gl_oset.h: Use C comment style, not C++ comment style.
38822
38823 2006-11-06  Bruno Haible  <bruno@clisp.org>
38824
38825         * m4/inline.m4: New file.
38826         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
38827         * modules/list (Files): Add m4/inline.m4.
38828         * modules/oset (Files): Likewise.
38829
38830 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38831
38832         * lib/idcache.c: Include <stddef.h>, for offsetof.
38833         (struct userid.name): Change from char * to a flexible array member.
38834         All uses changed.
38835         * modules/idcache (Depends-on): Add flexmember.
38836
38837         * MODULES.html.sh (Core language properties): New module flexmember.
38838         * modules/flexmember, m4/flexmember.m4: New files.
38839
38840         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
38841         inline functions that are identical with the old xnmalloc_inline,
38842         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
38843         that we can avoid some unnecessary integer multiplications and
38844         divisions in the common case where the element size is known at
38845         compile time.
38846         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
38847         needed.
38848         (xnboundedmalloc): Remove.
38849         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
38850         arguments, for consistency with rest of this header.
38851         (xcharalloc): Rewrite using XNMALLOC.
38852         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
38853         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
38854         versions have been moved to lib/xalloc.h and renamed to be the
38855         non-*_inline versions.
38856         (xmalloc, xrealloc): Implement without reference to the xnmalloc
38857         and xnrealloc functions, since those functions are now inline and
38858         now call us.
38859         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
38860         renaming described above.
38861         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
38862         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
38863         captures the dependency in AC_C_INLINE.
38864
38865         New module canonicalize-lgpl, proposed by Charles Wilson in
38866         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
38867         with a few small changes afterwards.
38868         * MODULES.html.sh (File system functions): New module
38869         canonicalize-lgpl.
38870         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
38871         and canonicalize_file_name.
38872         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
38873         * modules/canonicalize-lgpl: New files.
38874
38875 2006-11-05  Bruno Haible  <bruno@clisp.org>
38876
38877         * gnulib-tool (func_import, func_create_testdir): Create directories
38878         also for files in subdirectories of lib/.
38879
38880 2006-11-05  Bruno Haible  <bruno@clisp.org>
38881
38882         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
38883         ANSI C compliant.
38884
38885 2006-11-03  Bruno Haible  <bruno@clisp.org>
38886
38887         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
38888         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
38889         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
38890         (xnboundedmalloc): New inline function.
38891         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
38892         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
38893         xmalloc.
38894         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
38895         xmalloc.
38896         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
38897         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
38898         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
38899         xmalloc.
38900         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
38901         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
38902         xmalloc.
38903         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
38904         gl_tree_add_after): Use XMALLOC instead of xmalloc.
38905         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
38906         xmalloc.
38907         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
38908         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
38909         gl_tree_add_after): Use XMALLOC instead of xmalloc.
38910         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
38911         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
38912         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
38913         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
38914
38915 2006-11-03  Bruno Haible  <bruno@clisp.org>
38916
38917         * lib/c-ctype.h [C++]: Define functions without name mangling.
38918         * lib/fwriteerror.h [C++]: Likewise.
38919         * lib/gcd.h [C++]: Likewise.
38920         * lib/linebreak.h [C++]: Likewise.
38921
38922 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
38923
38924         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
38925         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
38926         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
38927         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
38928         Check for functions and headers just once.
38929         Check for declaration of canonicalize_file_name.
38930         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
38931
38932 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
38933
38934         * gnulib-tool (func_import): Fix typo in actioncmd.
38935
38936 2006-11-02  Bruno Haible  <bruno@clisp.org>
38937
38938         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
38939         newline sequence in the Makefile.am snippet as a space, like "make"
38940         does.
38941         Reported by Roger Persson <perrog@gmail.com>.
38942
38943 2006-11-01  Bruno Haible  <bruno@clisp.org>
38944
38945         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
38946         already declared in <string.h>.
38947         * lib/strcase.h (strncasecmp): Don't declare it if yes.
38948
38949 2006-11-01  Bruno Haible  <bruno@clisp.org>
38950
38951         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
38952         * lib/strcase.h: Include <string.h>.
38953         (strcasecmp): Define to rpl_strcasecmp here.
38954
38955 2006-11-01  Bruno Haible  <bruno@clisp.org>
38956
38957         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
38958
38959 2006-11-01  Eric Blake  <ebb9@byu.net>
38960
38961         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
38962
38963         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
38964
38965 2006-10-29  Bruno Haible  <bruno@clisp.org>
38966
38967         Make it compile in C++ mode.
38968         * lib/full-write.c (full_rw): Add a cast.
38969
38970 2006-11-01  Bruno Haible  <bruno@clisp.org>
38971
38972         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
38973         be POSIX compliant.
38974         Reported by Roger Persson <perrog@gmail.com>.
38975
38976 2006-11-01  Eric Blake  <ebb9@byu.net>
38977
38978         * lib/getopt_.h: Fix comments.
38979
38980 2006-10-31  Eric Blake  <ebb9@byu.net>
38981
38982         * modules/tmpdir (Depends-on): Add sys_stat.
38983         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
38984         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
38985         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
38986         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
38987         tempname.
38988
38989 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
38990
38991         Avoid some C++ diagnostics reported by Bruno Haible.
38992         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
38993         xmalloc.
38994         (quotearg_alloc): Use xcharalloc rather than xmalloc.
38995         (struct slotvec): Move to top level.
38996         (quotearg_n_options): Rewrite to avoid xmalloc.
38997         * lib/xalloc.h (xcharalloc): New function.
38998         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
38999         [defined __cplusplus]: Add function template that provides result
39000         type propagation.  This part of the change is from Bruno Haible.
39001
39002 2006-10-29  Bruno Haible  <bruno@clisp.org>
39003
39004         Make it compile in C++ mode.
39005         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
39006         * lib/strnlen1.c (strnlen1): Cast memchr result.
39007         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
39008         * lib/clean-temp.c (string_equals, string_hash): Add casts.
39009         (create_temp_dir): Rename local variable 'template'.
39010         (compile_csharp_using_sscli): Add cast.
39011         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
39012         * lib/findprog.c (find_in_path): Likewise.
39013         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
39014         * lib/wait-process.c (register_slave_subprocess): Likewise.
39015
39016 2006-10-22  Bruno Haible  <bruno@clisp.org>
39017
39018         * modules/tsearch: New file.
39019         * lib/tsearch.h: New file.
39020         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
39021         * m4/tsearch.m4: New file.
39022         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
39023
39024 2006-10-29  Eric Blake  <ebb9@byu.net>
39025
39026         * lib/arcfour.c: Assume config.h.
39027         * lib/arctwo.c: Likewise.
39028         * lib/base64.c: Likewise.
39029         * lib/check-version.c: Likewise.
39030         * lib/crc.c: Likewise.
39031         * lib/des.c: Likewise.
39032         * lib/gc-gnulib.c: Likewise.
39033         * lib/gc-libgcrypt.c: Likewise.
39034         * lib/gc-pbkdf2-sha1.c: Likewise.
39035         * lib/getaddrinfo.c: Likewise.
39036         * lib/getdelim.c: Likewise.
39037         * lib/getline.c: Likewise.
39038         * lib/hmac-md5.c: Likewise.
39039         * lib/hmac-sha1.c: Likewise.
39040         * lib/iconvme.c: Likewise.
39041         * lib/md2.c: Likewise.
39042         * lib/md4.c: Likewise.
39043         * lib/memxor.c: Likewise.
39044         * lib/read-file.c: Likewise.
39045         * lib/readline.c: Likewise.
39046         * lib/rijndael-alg-fst.c: Likewise.
39047         * lib/rijndael-api-fst.c: Likewise.
39048         * lib/xgetdomainname.c: Likewise.
39049
39050 2006-10-28  Eric Blake  <ebb9@byu.net>
39051
39052         * lib/xstrndup.c: Assume config.h.
39053
39054 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39055
39056         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
39057         stat-macros.h is now for our own macros, whereas stat_h is for
39058         macros in the <sys/stat.h> name space.
39059         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
39060         (STAT_MACROS_H): Remove.
39061         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39062         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
39063         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
39064         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
39065         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
39066         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
39067         Move these macros to ...
39068         * lib/stat_.h: here.  Don't include stat-macros.h.
39069         * lib/canonicalize.c: Don't include stat-macros.h.
39070         * lib/chown.c: Likewise.
39071         * lib/euidaccess.c: Likewise.
39072         * lib/file-type.c: Likewise.
39073         * lib/filemode.c: Likewise.
39074         * lib/glob.c: Likewise.
39075         * lib/isapipe.c: Likewise.
39076         * lib/lchown.c: Likewise.
39077         * lib/lstat.c: Likewise.
39078         * lib/mkdir-p.c: Likewise.
39079         * lib/rmdir.c: Likewise.
39080         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
39081         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
39082         unless mkdir isn't declared, to speed up 'configure'.
39083         Always create sys/stat.h, since it's unlikely any real sys/stat.h
39084         would define all the S_* symbols.
39085         * modules/canonicalize (Depends-on):
39086         Depend on sys_stat, not stat-macros.
39087         * modules/chown: Likewise.
39088         * modules/euidaccess: Likewise.
39089         * modules/filemode: Likewise.
39090         * modules/file-type: Likewise.
39091         * modules/glob: Likewise.
39092         * modules/isapipe: Likewise.
39093         * modules/lchown: Likewise.
39094         * modules/lstat: Likewise.
39095         * modules/mkancesdirs: Likewise.
39096         * modules/rmdir: Likewise.
39097         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
39098         * modules/modechange: Likewise.
39099         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
39100         (configure.ac): Remove gl_STAT_MACROS.
39101         * modules/sys_stat (Depends-on): Remove stat-macros.
39102
39103 2006-10-27  Bruno Haible  <bruno@clisp.org>
39104
39105         * m4/signed.m4: Remove file.
39106         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
39107         invocation.
39108         * modules/vasnprintf (Files): Remove m4/signed.m4.
39109
39110 2006-10-27  Bruno Haible  <bruno@clisp.org>
39111
39112         Update to GNU gettext 0.16.
39113         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
39114         m4/inttypes-h.m4, m4/signed.m4.
39115         * m4/gettext.m4: Update to GNU gettext 0.16.
39116         * m4/intl.m4: New file, from GNU gettext.
39117         * m4/intldir.m4: New file, from GNU gettext.
39118         * config/srclist.txt: Update
39119
39120 2006-10-27  Eric Blake  <ebb9@byu.net>
39121
39122         * MODULES.html.sh: Document tempname.
39123         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
39124         dependencies.
39125         (Files): Move lib/tempname.c...
39126         * modules/tempname: ...to this new module.
39127         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
39128         (gl_PREREQ_TEMPNAME): Move...
39129         * m4/tempname.m4: ...to this new file.
39130         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
39131         * modules/sys_stat (Depends-on): Add stat-macros.
39132         * lib/stat_.h (includes): Pick up stat macros.
39133         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
39134         if stat macros are broken.
39135         * lib/tempname.c (includes): No need to include "stat-macros.h".
39136         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
39137         (direxists, __path_search) [!_LIBC]: Don't compile these in
39138         gnulib; the tmpdir module covers that.
39139         * lib/tempname.h: New file.
39140
39141 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
39142
39143         * COPYING: Explain how gnulib-tool converts licence headers.
39144         Almost all wording by Eric Blake.
39145
39146 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39147
39148         * lib/mbchar.h (is_basic_table): Make read-only.
39149         * lib/mbchar.c (is_basic_table): Likewise.
39150         Reported by John Darrington.
39151
39152 2006-10-25  Bruno Haible  <bruno@clisp.org>
39153
39154         * lib/progname.h (set_program_name): Undefine before defining.
39155
39156 2006-10-25  Bruno Haible  <bruno@clisp.org>
39157
39158         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
39159         false for non-gcc C++ compilers.
39160         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39161
39162 2006-10-24  Bruno Haible  <bruno@clisp.org>
39163
39164         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
39165         iconv implementations like Irix iconv.
39166
39167 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39168
39169         * modules/vararrays: New file.
39170         * m4/vararrays.m4: New file, taken from diffutils.
39171         * MODULES.html.sh: New module vararrays.
39172
39173 2006-10-24  Karl Berry  <karl@gnu.org>
39174
39175         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
39176         Don't call GNU Unix.
39177
39178 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39179
39180         * users.txt: Add Libtool.
39181
39182         Sync from Libtool:
39183
39184         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39185
39186         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
39187         to gnulib's policy of including config.h unconditionally.
39188
39189 2006-10-24  Bruno Haible  <bruno@clisp.org>
39190
39191         * modules/wcwidth (Files): Add m4/wint_t.m4.
39192         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
39193         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
39194
39195 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39196
39197         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
39198         to pacify GCC with some -W flags enabled.  Problem reported by
39199         Bruno Haible.
39200
39201 2006-10-24  Jim Meyering  <jim@meyering.net>
39202
39203         * MODULES.html.sh: Remove uinttostr.  It's not a module.
39204         Reported by Karl Berry.
39205
39206 2006-10-23  Bruno Haible  <bruno@clisp.org>
39207
39208         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
39209
39210 2006-10-24  Bruno Haible  <bruno@clisp.org>
39211
39212         * lib/gl_list.h: Use C comment style, not C++ comment style.
39213
39214 2006-10-23  Eric Blake  <ebb9@byu.net>
39215
39216         * lib/getaddrinfo.c (includes): Add missing include.
39217
39218 2006-10-23  Bruno Haible  <bruno@clisp.org>
39219             Paul Eggert  <eggert@cs.ucla.edu>
39220
39221         Ability to rename obstack_free.
39222         * lib/obstack.h (__obstack_free): New macro. Declare instead of
39223         obstack_free.
39224         (obstack_free): Invoke the __obstack_free macro.
39225         * lib/obstack.c (obstack_free): Use __obstack_free macro.
39226
39227 2006-10-23  Bruno Haible  <bruno@clisp.org>
39228             Paul Eggert  <eggert@cs.ucla.edu>
39229
39230         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
39231         __argc, __argv from the declaration. (They are defined as macros on
39232         mingw.)
39233
39234 2006-10-22  Bruno Haible  <bruno@clisp.org>
39235
39236         * doc/gnulib-intro.texi: New file.
39237         * doc/gnulib.texi: Include it.
39238
39239 2006-10-21  Bruno Haible  <bruno@clisp.org>
39240
39241         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
39242         "Introduction", "Miscellanous Notes", "Particular Modules".
39243
39244 2006-10-21  Bruno Haible  <bruno@clisp.org>
39245
39246         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39247         Change mostlyclean-local rule to avoid sh syntax error from bash
39248         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
39249
39250 2006-10-23  Jim Meyering  <jim@meyering.net>
39251
39252         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
39253         in place of snprintf.
39254
39255         * modules/inttostr (Files): Add lib/uinttostr.c.
39256         * lib/uinttostr.c (inttostr): New file/function.
39257         * lib/inttostr.h (uinttostr): Declare.
39258         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
39259         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39260         Add uinttostr.
39261         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
39262
39263 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39264
39265         * lib/canonicalize.c (ELOOP): Define if not already defined.
39266         Problem reported by Bruno Haible in
39267         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
39268
39269 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39270
39271         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
39272         Problem reported by Perry Smith and Ville Laurikari.
39273
39274         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
39275         uses.
39276
39277 2006-10-19  Bruno Haible  <bruno@clisp.org>
39278
39279         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
39280         for mingw.
39281
39282 2006-10-19  Bruno Haible  <bruno@clisp.org>
39283
39284         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
39285         Needed for mingw.
39286
39287 2006-10-19  Bruno Haible  <bruno@clisp.org>
39288
39289         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
39290
39291 2006-10-19  Bruno Haible  <bruno@clisp.org>
39292
39293         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
39294         it.
39295
39296 2006-10-19  Bruno Haible  <bruno@clisp.org>
39297
39298         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
39299         invocation.
39300
39301 2006-10-19  Bruno Haible  <bruno@clisp.org>
39302
39303         * gnulib-tool (func_create_testdir): Don't include ftruncate and
39304         mountlist by default.
39305
39306 2006-10-16  Bruno Haible  <bruno@clisp.org>
39307
39308         * lib/c-strstr.c: Include c-strstr.h.
39309
39310 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39311
39312         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
39313         in a slash.
39314
39315 2006-10-18  Bruno Haible  <bruno@clisp.org>
39316
39317         * lib/lock.h [C++]: Wrap definitions in extern "C".
39318
39319 2006-10-18  Bruno Haible  <bruno@clisp.org>
39320
39321         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
39322         gl_LIBOBJS list.
39323
39324 2006-10-18  Bruno Haible  <bruno@clisp.org>
39325
39326         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
39327
39328 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
39329
39330         * lib/xstrtol.h: Include gettext.h.
39331         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
39332         Problem reported by Eric Blake.
39333         * modules/xstrtol (Depends-on): Add gettext-h.
39334
39335 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
39336
39337         * lib/strftime.c (advance): New macro.
39338         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
39339         incomplete type, so you can't add 0 to it.  Problem and patch
39340         reported by Eelco Dolstra for dietlibc.
39341
39342 2006-10-18  Jim Meyering  <jim@meyering.net>
39343
39344         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
39345         type for a local, and rename it: s/up/user_proc/.
39346
39347 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39348
39349         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
39350         READ_UTMP_USER_PROCESS.
39351         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
39352
39353 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
39354
39355         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
39356         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
39357
39358 2006-10-17  Eric Blake  <ebb9@byu.net>
39359
39360         * lib/sigprocmask.c (sigprocmask): Fix typo.
39361
39362         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
39363
39364         * modules/clean-temp (Makefile.am): Don't add to make output...
39365         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
39366         config.h.
39367
39368 2006-10-17  Bruno Haible  <bruno@clisp.org>
39369
39370         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
39371         differently if DEFAULT_TEXT_DOMAIN is set.
39372
39373 2006-10-16  Bruno Haible  <bruno@clisp.org>
39374
39375         * lib/clean-temp.c: Include fwriteerror.h.
39376
39377 2006-10-16  Bruno Haible  <bruno@clisp.org>
39378
39379         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
39380
39381 2006-10-16  Bruno Haible  <bruno@clisp.org>
39382
39383         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
39384         * lib/sigprocmask.h: Include <sys/types.h>.
39385         (sigset_t): Use the system's definition if present.
39386
39387 2006-10-17  Eric Blake  <ebb9@byu.net>
39388
39389         * lib/xvasprintf.c (includes): Assume config.h.
39390         * lib/xasprintf.c (includes): Likewise.
39391
39392 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39393
39394         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
39395         at least as wide as intmax_t.
39396
39397 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
39398
39399         (Imported from Automake.)
39400         * build-aux/gnupload: Update to version 1.1 of directive file.
39401
39402 2006-10-16  Eric Blake  <ebb9@byu.net>
39403
39404         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
39405         match Automake 1.10a.
39406
39407 2006-10-14  Bruno Haible  <bruno@clisp.org>
39408
39409         * modules/sigprocmask: New file.
39410         * lib/sigprocmask.h: New file.
39411         * lib/sigprocmask.c: New file.
39412         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
39413         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
39414         request sigprocmask.o.
39415         (gl_PREREQ_SIGPROCMASK): New macro.
39416         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
39417         (Depends-on): Add sigprocmask.
39418         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
39419         gt_SIGNALBLOCKING. Test for 'raise' only once.
39420         * lib/fatal-signal.c: Include sigprocmask.h.
39421         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
39422         unblock_fatal_signals): Define always.
39423         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39424         sigprocmask.
39425
39426 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39427
39428         Sync from Automake.
39429         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
39430         which incorrectly sets the mode of an existing destination
39431         directory.  In some cases the unpatched install-sh could do the
39432         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
39433         system.  We hope this is rare in practice, but it's clearly worth
39434         fixing.  Problem reported by Alex Unleashed in
39435         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
39436         Also, don't bother to check for -m bugs unless we're using -m;
39437         suggested by Stepan Kasal.
39438
39439 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39440
39441         Sync from Automake.
39442         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
39443         `-c' flag, so they appear at the same position as in %FASTDEP%
39444         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
39445         which ignores unknown options only after the first non-option.
39446         Bug report against M4 by Nelson H. F. Beebe.
39447
39448 2006-10-13  Jim Meyering  <jim@meyering.net>
39449
39450         Fix a bug in yesterday's change.
39451         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
39452         p->fts_statp->st_dev would be used uninitialized.
39453         Ensures that we always call fts_stat on the very first entry.
39454         Miklos Szeredi reported that find -xdev stopped working.
39455
39456 2006-10-12  Bruno Haible  <bruno@clisp.org>
39457
39458         * gnulib-tool (func_get_automake_snippet): Append an automatically
39459         computed EXTRA_DIST augmentation.
39460         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
39461         * modules/alloca-opt (Makefile.am): Likewise.
39462         * modules/allocsa (Makefile.am): Likewise.
39463         * modules/arcfour (Makefile.am): Likewise.
39464         * modules/arctwo (Makefile.am): Likewise.
39465         * modules/argmatch (Makefile.am): Likewise.
39466         * modules/argz (Makefile.am): Likewise.
39467         * modules/atexit (Makefile.am): Likewise.
39468         * modules/backupfile (Makefile.am): Likewise.
39469         * modules/byteswap (Makefile.am): Likewise.
39470         * modules/c-strtod (Makefile.am): Likewise.
39471         * modules/c-strtold (Makefile.am): Likewise.
39472         * modules/calloc (Makefile.am): Likewise.
39473         * modules/canon-host (Makefile.am): Likewise.
39474         * modules/canonicalize (Makefile.am): Likewise.
39475         * modules/chdir-long (Makefile.am): Likewise.
39476         * modules/chdir-safer (Makefile.am): Likewise.
39477         * modules/check-version (Makefile.am): Likewise.
39478         * modules/chown (Makefile.am): Likewise.
39479         * modules/cloexec (Makefile.am): Likewise.
39480         * modules/close-stream (Makefile.am): Likewise.
39481         * modules/closeout (Makefile.am): Likewise.
39482         * modules/crc (Makefile.am): Likewise.
39483         * modules/csharpexec (Makefile.am): Likewise.
39484         * modules/cycle-check (Makefile.am): Likewise.
39485         * modules/des (Makefile.am): Likewise.
39486         * modules/dev-ino (Makefile.am): Likewise.
39487         * modules/dirfd (Makefile.am): Likewise.
39488         * modules/dirname (Makefile.am): Likewise.
39489         * modules/dup2 (Makefile.am): Likewise.
39490         * modules/eealloc (Makefile.am): Likewise.
39491         * modules/error (Makefile.am): Likewise.
39492         * modules/euidaccess (Makefile.am): Likewise.
39493         * modules/exclude (Makefile.am): Likewise.
39494         * modules/exitfail (Makefile.am): Likewise.
39495         * modules/fcntl-safer (Makefile.am): Likewise.
39496         * modules/fcntl (Makefile.am): Likewise.
39497         * modules/file-type (Makefile.am): Likewise.
39498         * modules/fileblocks (Makefile.am): Likewise.
39499         * modules/filemode (Makefile.am): Likewise.
39500         * modules/filenamecat (Makefile.am): Likewise.
39501         * modules/fnmatch (Makefile.am): Likewise.
39502         * modules/fopen-safer (Makefile.am): Likewise.
39503         * modules/fpending (Makefile.am): Likewise.
39504         * modules/fprintftime (Makefile.am): Likewise.
39505         * modules/free (Makefile.am): Likewise.
39506         * modules/fsusage (Makefile.am): Likewise.
39507         * modules/ftruncate (Makefile.am): Likewise.
39508         * modules/fts (Makefile.am): Likewise.
39509         * modules/gc-arcfour (Makefile.am): Likewise.
39510         * modules/gc-des (Makefile.am): Likewise.
39511         * modules/gc-hmac-md5 (Makefile.am): Likewise.
39512         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
39513         * modules/gc-md4 (Makefile.am): Likewise.
39514         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
39515         * modules/gc-sha1 (Makefile.am): Likewise.
39516         * modules/gc (Makefile.am): Likewise.
39517         * modules/getaddrinfo (Makefile.am): Likewise.
39518         * modules/getcwd (Makefile.am): Likewise.
39519         * modules/getdelim (Makefile.am): Likewise.
39520         * modules/getdomainname (Makefile.am): Likewise.
39521         * modules/getgroups (Makefile.am): Likewise.
39522         * modules/gethostname (Makefile.am): Likewise.
39523         * modules/gethrxtime (Makefile.am): Likewise.
39524         * modules/getline (Makefile.am): Likewise.
39525         * modules/getloadavg (Makefile.am): Likewise.
39526         * modules/getlogin_r (Makefile.am): Likewise.
39527         * modules/getndelim2 (Makefile.am): Likewise.
39528         * modules/getopt (Makefile.am): Likewise.
39529         * modules/getpagesize (Makefile.am): Likewise.
39530         * modules/getpass-gnu (Makefile.am): Likewise.
39531         * modules/getpass (Makefile.am): Likewise.
39532         * modules/getsubopt (Makefile.am): Likewise.
39533         * modules/gettime (Makefile.am): Likewise.
39534         * modules/gettimeofday (Makefile.am): Likewise.
39535         * modules/getugroups (Makefile.am): Likewise.
39536         * modules/getusershell (Makefile.am): Likewise.
39537         * modules/glob (Makefile.am): Likewise.
39538         * modules/group-member (Makefile.am): Likewise.
39539         * modules/hard-locale (Makefile.am): Likewise.
39540         * modules/hash (Makefile.am): Likewise.
39541         * modules/hmac-md5 (Makefile.am): Likewise.
39542         * modules/hmac-sha1 (Makefile.am): Likewise.
39543         * modules/human (Makefile.am): Likewise.
39544         * modules/idcache (Makefile.am): Likewise.
39545         * modules/imaxabs (Makefile.am): Likewise.
39546         * modules/imaxdiv (Makefile.am): Likewise.
39547         * modules/inet_ntop (Makefile.am): Likewise.
39548         * modules/inet_pton (Makefile.am): Likewise.
39549         * modules/intprops (Makefile.am): Likewise.
39550         * modules/inttostr (Makefile.am): Likewise.
39551         * modules/inttypes (Makefile.am): Likewise.
39552         * modules/isapipe (Makefile.am): Likewise.
39553         * modules/javaversion (Makefile.am): Likewise.
39554         * modules/lchmod (Makefile.am): Likewise.
39555         * modules/lchown (Makefile.am): Likewise.
39556         * modules/localcharset (Makefile.am): Likewise.
39557         * modules/long-options (Makefile.am): Likewise.
39558         * modules/lstat (Makefile.am): Likewise.
39559         * modules/malloc (Makefile.am): Likewise.
39560         * modules/mathl (Makefile.am): Likewise.
39561         * modules/mbchar (Makefile.am): Likewise.
39562         * modules/md2 (Makefile.am): Likewise.
39563         * modules/md4 (Makefile.am): Likewise.
39564         * modules/md5 (Makefile.am): Likewise.
39565         * modules/memcasecmp (Makefile.am): Likewise.
39566         * modules/memchr (Makefile.am): Likewise.
39567         * modules/memcmp (Makefile.am): Likewise.
39568         * modules/memcoll (Makefile.am): Likewise.
39569         * modules/memcpy (Makefile.am): Likewise.
39570         * modules/memmem (Makefile.am): Likewise.
39571         * modules/memmove (Makefile.am): Likewise.
39572         * modules/mempcpy (Makefile.am): Likewise.
39573         * modules/memrchr (Makefile.am): Likewise.
39574         * modules/memset (Makefile.am): Likewise.
39575         * modules/memxor (Makefile.am): Likewise.
39576         * modules/mkancesdirs (Makefile.am): Likewise.
39577         * modules/mkdir-p (Makefile.am): Likewise.
39578         * modules/mkdir (Makefile.am): Likewise.
39579         * modules/mkdtemp (Makefile.am): Likewise.
39580         * modules/mkstemp (Makefile.am): Likewise.
39581         * modules/mktime (Makefile.am): Likewise.
39582         * modules/modechange (Makefile.am): Likewise.
39583         * modules/mountlist (Makefile.am): Likewise.
39584         * modules/nanosleep (Makefile.am): Likewise.
39585         * modules/obstack (Makefile.am): Likewise.
39586         * modules/openat (Makefile.am): Likewise.
39587         * modules/pagealign_alloc (Makefile.am): Likewise.
39588         * modules/pathmax (Makefile.am): Likewise.
39589         * modules/physmem (Makefile.am): Likewise.
39590         * modules/poll (Makefile.am): Likewise.
39591         * modules/posixtm (Makefile.am): Likewise.
39592         * modules/posixver (Makefile.am): Likewise.
39593         * modules/putenv (Makefile.am): Likewise.
39594         * modules/quote (Makefile.am): Likewise.
39595         * modules/quotearg (Makefile.am): Likewise.
39596         * modules/raise (Makefile.am): Likewise.
39597         * modules/read-file (Makefile.am): Likewise.
39598         * modules/readline (Makefile.am): Likewise.
39599         * modules/readlink (Makefile.am): Likewise.
39600         * modules/readtokens (Makefile.am): Likewise.
39601         * modules/readutmp (Makefile.am): Likewise.
39602         * modules/realloc (Makefile.am): Likewise.
39603         * modules/regex (Makefile.am): Likewise.
39604         * modules/rename-dest-slash (Makefile.am): Likewise.
39605         * modules/rename (Makefile.am): Likewise.
39606         * modules/rijndael (Makefile.am): Likewise.
39607         * modules/rmdir (Makefile.am): Likewise.
39608         * modules/rpmatch (Makefile.am): Likewise.
39609         * modules/safe-read (Makefile.am): Likewise.
39610         * modules/safe-write (Makefile.am): Likewise.
39611         * modules/same-inode (Makefile.am): Likewise.
39612         * modules/same (Makefile.am): Likewise.
39613         * modules/save-cwd (Makefile.am): Likewise.
39614         * modules/savedir (Makefile.am): Likewise.
39615         * modules/setenv (Makefile.am): Likewise.
39616         * modules/settime (Makefile.am): Likewise.
39617         * modules/sha1 (Makefile.am): Likewise.
39618         * modules/sig2str (Makefile.am): Likewise.
39619         * modules/snprintf (Makefile.am): Likewise.
39620         * modules/stat-macros (Makefile.am): Likewise.
39621         * modules/stat-time (Makefile.am): Likewise.
39622         * modules/stdbool (Makefile.am): Likewise.
39623         * modules/stdint (Makefile.am): Likewise.
39624         * modules/stdlib-safer (Makefile.am): Likewise.
39625         * modules/stpcpy (Makefile.am): Likewise.
39626         * modules/stpncpy (Makefile.am): Likewise.
39627         * modules/strcase (Makefile.am): Likewise.
39628         * modules/strcasestr (Makefile.am): Likewise.
39629         * modules/strchrnul (Makefile.am): Likewise.
39630         * modules/strcspn (Makefile.am): Likewise.
39631         * modules/strdup (Makefile.am): Likewise.
39632         * modules/strerror (Makefile.am): Likewise.
39633         * modules/strftime (Makefile.am): Likewise.
39634         * modules/strndup (Makefile.am): Likewise.
39635         * modules/strnlen (Makefile.am): Likewise.
39636         * modules/strpbrk (Makefile.am): Likewise.
39637         * modules/strsep (Makefile.am): Likewise.
39638         * modules/strstr (Makefile.am): Likewise.
39639         * modules/strtod (Makefile.am): Likewise.
39640         * modules/strtoimax (Makefile.am): Likewise.
39641         * modules/strtok_r (Makefile.am): Likewise.
39642         * modules/strtol (Makefile.am): Likewise.
39643         * modules/strtoll (Makefile.am): Likewise.
39644         * modules/strtoul (Makefile.am): Likewise.
39645         * modules/strtoull (Makefile.am): Likewise.
39646         * modules/strtoumax (Makefile.am): Likewise.
39647         * modules/strverscmp (Makefile.am): Likewise.
39648         * modules/sys_socket (Makefile.am): Likewise.
39649         * modules/sys_stat (Makefile.am): Likewise.
39650         * modules/sysexits (Makefile.am): Likewise.
39651         * modules/time_r (Makefile.am): Likewise.
39652         * modules/timegm (Makefile.am): Likewise.
39653         * modules/timespec (Makefile.am): Likewise.
39654         * modules/tmpfile-safer (Makefile.am): Likewise.
39655         * modules/trim (Makefile.am): Likewise.
39656         * modules/unistd-safer (Makefile.am): Likewise.
39657         * modules/unlinkdir (Makefile.am): Likewise.
39658         * modules/unlocked-io (Makefile.am): Likewise.
39659         * modules/userspec (Makefile.am): Likewise.
39660         * modules/utime (Makefile.am): Likewise.
39661         * modules/utimecmp (Makefile.am): Likewise.
39662         * modules/utimens (Makefile.am): Likewise.
39663         * modules/vasnprintf (Makefile.am): Likewise.
39664         * modules/vasprintf (Makefile.am): Likewise.
39665         * modules/vsnprintf (Makefile.am): Likewise.
39666         * modules/xalloc (Makefile.am): Likewise.
39667         * modules/xgetcwd (Makefile.am): Likewise.
39668         * modules/xnanosleep (Makefile.am): Likewise.
39669         * modules/xreadlink (Makefile.am): Likewise.
39670         * modules/xstrtod (Makefile.am): Likewise.
39671         * modules/xstrtol (Makefile.am): Likewise.
39672         * modules/xstrtold (Makefile.am): Likewise.
39673         * modules/yesno (Makefile.am): Likewise.
39674         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
39675
39676 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
39677
39678         * modules/error (Makefile.am): Distribute files through
39679         EXTRA_DIST, not lib_SOURCES.
39680
39681 2006-10-12  Eric Blake  <ebb9@byu.net>
39682
39683         * modules/error (Makefile.am): Distribute files in /lib.
39684         * modules/obstack (Makefile.am): Likewise.
39685
39686 2006-10-12  Bruno Haible  <bruno@clisp.org>
39687
39688         * modules/acl (Makefile.am): Distribute all files in lib/ through
39689         EXTRA_DIST.
39690         * modules/arcfour (Makefile.am): Likewise.
39691         * modules/arctwo (Makefile.am): Likewise.
39692         * modules/argmatch (Makefile.am): Likewise.
39693         * modules/argz (Makefile.am): Likewise.
39694         * modules/atexit (Makefile.am): Likewise.
39695         * modules/backupfile (Makefile.am): Likewise.
39696         * modules/c-strtod (Makefile.am): Likewise.
39697         * modules/c-strtold (Makefile.am): Likewise.
39698         * modules/calloc (Makefile.am): Likewise.
39699         * modules/canon-host (Makefile.am): Likewise.
39700         * modules/canonicalize (Makefile.am): Likewise.
39701         * modules/chdir-long (Makefile.am): Likewise.
39702         * modules/chdir-safer (Makefile.am): Likewise.
39703         * modules/check-version (Makefile.am): Likewise.
39704         * modules/chown (Makefile.am): Likewise.
39705         * modules/cloexec (Makefile.am): Likewise.
39706         * modules/close-stream (Makefile.am): Likewise.
39707         * modules/closeout (Makefile.am): Likewise.
39708         * modules/crc (Makefile.am): Likewise.
39709         * modules/cycle-check (Makefile.am): Likewise.
39710         * modules/des (Makefile.am): Likewise.
39711         * modules/dirfd (Makefile.am): Likewise.
39712         * modules/dirname (Makefile.am): Likewise.
39713         * modules/dup2 (Makefile.am): Likewise.
39714         * modules/euidaccess (Makefile.am): Likewise.
39715         * modules/exclude (Makefile.am): Likewise.
39716         * modules/exitfail (Makefile.am): Likewise.
39717         * modules/fcntl-safer (Makefile.am): Likewise.
39718         * modules/file-type (Makefile.am): Likewise.
39719         * modules/fileblocks (Makefile.am): Likewise.
39720         * modules/filemode (Makefile.am): Likewise.
39721         * modules/filenamecat (Makefile.am): Likewise.
39722         * modules/fnmatch (Makefile.am): Likewise.
39723         * modules/fopen-safer (Makefile.am): Likewise.
39724         * modules/fpending (Makefile.am): Likewise.
39725         * modules/fprintftime (Makefile.am): Likewise.
39726         * modules/free (Makefile.am): Likewise.
39727         * modules/fsusage (Makefile.am): Likewise.
39728         * modules/ftruncate (Makefile.am): Likewise.
39729         * modules/fts (Makefile.am): Likewise.
39730         * modules/gc (Makefile.am): Likewise.
39731         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
39732         * modules/getaddrinfo (Makefile.am): Likewise.
39733         * modules/getcwd (Makefile.am): Likewise.
39734         * modules/getdelim (Makefile.am): Likewise.
39735         * modules/getdomainname (Makefile.am): Likewise.
39736         * modules/getgroups (Makefile.am): Likewise.
39737         * modules/gethostname (Makefile.am): Likewise.
39738         * modules/gethrxtime (Makefile.am): Likewise.
39739         * modules/getline (Makefile.am): Likewise.
39740         * modules/getloadavg (Makefile.am): Likewise.
39741         * modules/getlogin_r (Makefile.am): Likewise.
39742         * modules/getopt (Makefile.am): Likewise.
39743         * modules/getpass (Makefile.am): Likewise.
39744         * modules/getpass-gnu (Makefile.am): Likewise.
39745         * modules/getsubopt (Makefile.am): Likewise.
39746         * modules/gettime (Makefile.am): Likewise.
39747         * modules/gettimeofday (Makefile.am): Likewise.
39748         * modules/getugroups (Makefile.am): Likewise.
39749         * modules/getusershell (Makefile.am): Likewise.
39750         * modules/glob (Makefile.am): Likewise.
39751         * modules/group-member (Makefile.am): Likewise.
39752         * modules/hard-locale (Makefile.am): Likewise.
39753         * modules/hash (Makefile.am): Likewise.
39754         * modules/hmac-md5 (Makefile.am): Likewise.
39755         * modules/hmac-sha1 (Makefile.am): Likewise.
39756         * modules/human (Makefile.am): Likewise.
39757         * modules/idcache (Makefile.am): Likewise.
39758         * modules/imaxabs (Makefile.am): Likewise.
39759         * modules/imaxdiv (Makefile.am): Likewise.
39760         * modules/inet_ntop (Makefile.am): Likewise.
39761         * modules/inet_pton (Makefile.am): Likewise.
39762         * modules/inttostr (Makefile.am): Likewise.
39763         * modules/isapipe (Makefile.am): Likewise.
39764         * modules/lchown (Makefile.am): Likewise.
39765         * modules/long-options (Makefile.am): Likewise.
39766         * modules/lstat (Makefile.am): Likewise.
39767         * modules/malloc (Makefile.am): Likewise.
39768         * modules/mathl (Makefile.am): Likewise.
39769         * modules/mbchar (Makefile.am): Likewise.
39770         * modules/md2 (Makefile.am): Likewise.
39771         * modules/md4 (Makefile.am): Likewise.
39772         * modules/md5 (Makefile.am): Likewise.
39773         * modules/memcasecmp (Makefile.am): Likewise.
39774         * modules/memchr (Makefile.am): Likewise.
39775         * modules/memcmp (Makefile.am): Likewise.
39776         * modules/memcoll (Makefile.am): Likewise.
39777         * modules/memcpy (Makefile.am): Likewise.
39778         * modules/memmem (Makefile.am): Likewise.
39779         * modules/memmove (Makefile.am): Likewise.
39780         * modules/mempcpy (Makefile.am): Likewise.
39781         * modules/memrchr (Makefile.am): Likewise.
39782         * modules/memset (Makefile.am): Likewise.
39783         * modules/memxor (Makefile.am): Likewise.
39784         * modules/mkancesdirs (Makefile.am): Likewise.
39785         * modules/mkdir (Makefile.am): Likewise.
39786         * modules/mkdir-p (Makefile.am): Likewise.
39787         * modules/mkdtemp (Makefile.am): Likewise.
39788         * modules/mkstemp (Makefile.am): Likewise.
39789         * modules/mktime (Makefile.am): Likewise.
39790         * modules/modechange (Makefile.am): Likewise.
39791         * modules/mountlist (Makefile.am): Likewise.
39792         * modules/nanosleep (Makefile.am): Likewise.
39793         * modules/openat (Makefile.am): Likewise.
39794         * modules/pagealign_alloc (Makefile.am): Likewise.
39795         * modules/physmem (Makefile.am): Likewise.
39796         * modules/poll (Makefile.am): Likewise.
39797         * modules/posixtm (Makefile.am): Likewise.
39798         * modules/posixver (Makefile.am): Likewise.
39799         * modules/putenv (Makefile.am): Likewise.
39800         * modules/quote (Makefile.am): Likewise.
39801         * modules/quotearg (Makefile.am): Likewise.
39802         * modules/raise (Makefile.am): Likewise.
39803         * modules/read-file (Makefile.am): Likewise.
39804         * modules/readline (Makefile.am): Likewise.
39805         * modules/readlink (Makefile.am): Likewise.
39806         * modules/readtokens (Makefile.am): Likewise.
39807         * modules/readutmp (Makefile.am): Likewise.
39808         * modules/realloc (Makefile.am): Likewise.
39809         * modules/regex (Makefile.am): Likewise.
39810         * modules/rename (Makefile.am): Likewise.
39811         * modules/rename-dest-slash (Makefile.am): Likewise.
39812         * modules/rijndael (Makefile.am): Likewise.
39813         * modules/rmdir (Makefile.am): Likewise.
39814         * modules/rpmatch (Makefile.am): Likewise.
39815         * modules/safe-read (Makefile.am): Likewise.
39816         * modules/safe-write (Makefile.am): Likewise.
39817         * modules/same (Makefile.am): Likewise.
39818         * modules/save-cwd (Makefile.am): Likewise.
39819         * modules/savedir (Makefile.am): Likewise.
39820         * modules/setenv (Makefile.am): Likewise.
39821         * modules/settime (Makefile.am): Likewise.
39822         * modules/sha1 (Makefile.am): Likewise.
39823         * modules/sig2str (Makefile.am): Likewise.
39824         * modules/snprintf (Makefile.am): Likewise.
39825         * modules/stdlib-safer (Makefile.am): Likewise.
39826         * modules/stpcpy (Makefile.am): Likewise.
39827         * modules/stpncpy (Makefile.am): Likewise.
39828         * modules/strcase (Makefile.am): Likewise.
39829         * modules/strcasestr (Makefile.am): Likewise.
39830         * modules/strchrnul (Makefile.am): Likewise.
39831         * modules/strcspn (Makefile.am): Likewise.
39832         * modules/strdup (Makefile.am): Likewise.
39833         * modules/strerror (Makefile.am): Likewise.
39834         * modules/strftime (Makefile.am): Likewise.
39835         * modules/strndup (Makefile.am): Likewise.
39836         * modules/strnlen (Makefile.am): Likewise.
39837         * modules/strpbrk (Makefile.am): Likewise.
39838         * modules/strsep (Makefile.am): Likewise.
39839         * modules/strstr (Makefile.am): Likewise.
39840         * modules/strtod (Makefile.am): Likewise.
39841         * modules/strtoimax (Makefile.am): Likewise.
39842         * modules/strtok_r (Makefile.am): Likewise.
39843         * modules/strtol (Makefile.am): Likewise.
39844         * modules/strtoll (Makefile.am): Likewise.
39845         * modules/strtoul (Makefile.am): Likewise.
39846         * modules/strtoull (Makefile.am): Likewise.
39847         * modules/strtoumax (Makefile.am): Likewise.
39848         * modules/strverscmp (Makefile.am): Likewise.
39849         * modules/time_r (Makefile.am): Likewise.
39850         * modules/timegm (Makefile.am): Likewise.
39851         * modules/tmpfile-safer (Makefile.am): Likewise.
39852         * modules/unistd-safer (Makefile.am): Likewise.
39853         * modules/unlinkdir (Makefile.am): Likewise.
39854         * modules/userspec (Makefile.am): Likewise.
39855         * modules/utime (Makefile.am): Likewise.
39856         * modules/utimecmp (Makefile.am): Likewise.
39857         * modules/utimens (Makefile.am): Likewise.
39858         * modules/vasnprintf (Makefile.am): Likewise.
39859         * modules/vasprintf (Makefile.am): Likewise.
39860         * modules/vsnprintf (Makefile.am): Likewise.
39861         * modules/xalloc (Makefile.am): Likewise.
39862         * modules/xgetcwd (Makefile.am): Likewise.
39863         * modules/xnanosleep (Makefile.am): Likewise.
39864         * modules/xreadlink (Makefile.am): Likewise.
39865         * modules/xstrtod (Makefile.am): Likewise.
39866         * modules/xstrtol (Makefile.am): Likewise.
39867         * modules/xstrtold (Makefile.am): Likewise.
39868         * modules/yesno (Makefile.am): Likewise.
39869
39870 2006-10-12  Jim Meyering  <jim@meyering.net>
39871
39872         * m4/getloadavg.m4: Revert the change below.
39873
39874         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
39875         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
39876         fail with a symlink, which is what coreutils' ./bootstrap now
39877         creates by default.
39878
39879 2006-10-12  Bruno Haible  <bruno@clisp.org>
39880
39881         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
39882         mingw.
39883         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
39884         MSVC and mingw explicitly.
39885
39886 2006-10-11  Simon Josefsson  <jas@extundo.com>
39887             Bruno Haible  <bruno@clisp.org>
39888
39889         Add support for multiple gnulib-tool invocations in the scope of a
39890         single configure.ac file.
39891         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
39892         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
39893         with the same contents as the _LIBADD variable.
39894         (func_emit_initmacro_start, func_emit_initmacro_end,
39895         func_emit_initmacro_done): New functions.
39896         (func_import, func_create_testdir): Invoke them. Allow the identifiers
39897         gl_LIBOBJS and gl_LTLIBOBJS.
39898
39899 2006-10-11  Bruno Haible  <bruno@clisp.org>
39900
39901         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
39902         (func_create_testdir): Don't create po/Makefile.am, don't invoke
39903         autoreconf. Instead, invoke autopoint explicitly but move back the
39904         *.m4 files from gnulib.
39905
39906 2006-10-11  Bruno Haible  <bruno@clisp.org>
39907
39908         * gnulib-tool (func_usage): Make module names after --create-testdir
39909         optional.
39910         (func_create_testdir): If no module was specified, use nearly all
39911         modules.
39912
39913 2006-10-12  Jim Meyering  <jim@meyering.net>
39914
39915         Big performance improvement for fts-based tools that use FTS_NOSTAT.
39916         Avoid spurious inode-mismatch problems on non-POSIX file systems.
39917         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
39918         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
39919         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
39920         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
39921         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
39922         (fts_set_stat_required): New function.
39923         (fts_open): Defer the calls to fts_stat, if possible or requested.
39924         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
39925         into fts_stat itself.
39926         (fts_read): Perform any required (deferred) fts_stat call.
39927         (fts_build): Likewise, for the directory we're about to open and read.
39928         In the readdir loop, carefully decide whether each entry will require
39929         an eventual call to fts_stat, using dirent.d_type info if available.
39930         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
39931         a command line argument into this function.  Update all callers.
39932         Map a return value of FTS_DOT to FTS_D for a command line argument.
39933         * modules/fts (Depends-on): Add d-type.  Alphabetize.
39934         Thanks to Miklos Szeredi for his tenacity and for the initial
39935         bug report about "find" failing on a FUSE-based file system.
39936
39937         * lib/fts.c (fts_open): Use consistent indentation.
39938
39939 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
39940
39941         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
39942         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
39943         reported by Jim Meyering.  All uses of cache variables renamed
39944         to match Autoconf's.
39945         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
39946         the other one.
39947
39948         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39949         Fix misspelling in diagnostic.
39950
39951 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
39952
39953         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
39954         defined.  Problem reported by Matthew Woehlke.
39955
39956         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
39957         Add support for Tandem NonStop R series.
39958         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
39959         Use new macro.
39960
39961         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
39962         (has_trailing_slash): Omit size arg; all callers changed.
39963         Omit 'inline', since it doesn't help performance and we'd
39964         need to configure it.
39965         Don't count //, ///, etc. as having a trailing slash.
39966         As a side effect, this removes a C99ism reported by Matthew Woehlke.
39967         (rpl_rename_dest_slash): On failure, use rename's errno rather
39968         than (in some cases) an incorrect or junk errno.
39969         Simplify code by removing need to compute length; this does
39970         cause it to make two passes instead of one over the file name,
39971         but it's worth it.
39972
39973         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
39974         change, since Autoconf's version may no longer be appropriate now
39975         that we are using CVS Autoconf's version.  Add support for Tandem.
39976
39977 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
39978             Bruno Haible  <bruno@clisp.org>
39979
39980         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
39981         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
39982         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
39983         gl_AC_TYPE_LONG_LONG.
39984
39985         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
39986         instead of HAVE_LONG_LONG.
39987         * lib/printf-args.c (printf_fetchargs): Likewise.
39988         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
39989         * lib/vasnprintf.c (VASNPRINTF): Likewise.
39990         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
39991         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
39992         gl_AC_TYPE_LONG_LONG.
39993
39994 2006-10-11  Bruno Haible  <bruno@clisp.org>
39995
39996         * m4/longlong.m4: Add comments.
39997         * m4/ulonglong.m4: Likewise.
39998
39999 2006-10-10  Bruno Haible  <bruno@clisp.org>
40000
40001         Make it possible to #define stpcpy, strdup to aliases.
40002         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
40003         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
40004
40005 2006-10-10  Bruno Haible  <bruno@clisp.org>
40006
40007         Make it possible to #define gcd to an alias.
40008         * lib/gcd.c: Include config.h.
40009
40010 2006-10-10  Bruno Haible  <bruno@clisp.org>
40011
40012         Make it possible to #define c_isascii to an alias.
40013         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
40014         defined. Undefine the macros before defining them, to avoid gcc
40015         warnings.
40016         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
40017         define NO_C_CTYPE_MACROS early.
40018
40019 2006-10-10  Bruno Haible  <bruno@clisp.org>
40020
40021         Make it possible to #define set_program_name to an alias.
40022         * lib/progname.c: Don't undefine set_program_name; instead, undefine
40023         ENABLE_RELOCATABLE early.
40024
40025 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40026
40027         Port to Tandem NSK OSS, which has 64-bit signed int but at most
40028         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
40029         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
40030         More generally, don't assume that 64-bit signed int is available
40031         if unsigned int is, and vice versa.
40032         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
40033         unsigned symbols, not on their signed counterparts.
40034         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
40035         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
40036         (UINT64_C, UINTMAX_C):
40037         Likewise.
40038         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
40039         unsigned counterparts.
40040         (Have_long_long, Unsigned): New macros.
40041         (Int): Renamed from INT.
40042         (strtoimax): Use the new macros.
40043         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
40044         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
40045         * modules/inttypes (inttypes.h): Substitute
40046         HAVE_UNSIGNED_LONG_LONG_INT.
40047         * modules/stdint (stdint.h): Likewise.
40048         (Files): Add m4/ulonglong.m4.
40049
40050 2006-10-10  Bruno Haible  <bruno@clisp.org>
40051
40052         Fix a gcc -Wshadow warning.
40053         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
40054         to 'bucket'.
40055         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
40056         gl_linked_indexof_from_to): Likewise.
40057         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
40058         Likewise.
40059         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
40060         Likewise.
40061         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
40062         Reported by Eric Blake.
40063
40064 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
40065
40066         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
40067         for NetBSD.  Problem reported by Bruno Haible.
40068
40069 2006-10-09  Jim Meyering  <jim@meyering.net>
40070
40071         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
40072         Patch from Bruno Haible.
40073
40074 2006-10-09  Jim Meyering  <jim@meyering.net>
40075
40076         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
40077         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
40078         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
40079
40080 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40081
40082         Don't include <config.h> twice; this doesn't work in some cases,
40083         e.g., when config.h has "#define intmax_t long long int" and
40084         we include <config.h>, <inttypes.h>, <config.h> in that order.
40085         Problem reported by Matthew Woehlke in:
40086         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
40087         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
40088         * lib/fts-cycle.c: Don't include config.h.
40089         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
40090         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
40091         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
40092         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
40093         inttypes.h.
40094         * lib/xstrtoumax.c: Likewise.
40095         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
40096         __strtol and the like, so that this module is more like its siblings.
40097         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
40098         Remove; no longer needed now that we assume gnulib inttypes.h.
40099
40100 2006-10-08  Bruno Haible  <bruno@clisp.org>
40101
40102         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
40103         option.
40104
40105 2006-10-07  Jim Meyering  <jim@meyering.net>
40106
40107         * modules/inttypes (inttypes.h): Revert what seems to have been
40108         an inadvertent part of today's change: use "|", not "/" in the
40109         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
40110
40111 2006-10-07  Bruno Haible  <bruno@clisp.org>
40112
40113         * modules/sublist: New file.
40114
40115 2006-10-07  Bruno Haible  <bruno@clisp.org>
40116
40117         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
40118         * modules/argz (argz.h): Likewise.
40119         * modules/arpa_inet (arpa/inet.h): Likewise.
40120         * modules/byteswap (byteswap.h): Likewise.
40121         * modules/configmake (configmake.h): Likewise.
40122         * modules/fcntl (fcntl.h): Likewise.
40123         * modules/fnmatch (fnmatch.h): Likewise.
40124         * modules/getopt (getopt.h): Likewise.
40125         * modules/glob (glob.h): Likewise.
40126         * modules/inttypes (inttypes.h): Likewise.
40127         * modules/netinet_in (netinet/in.h): Likewise.
40128         * modules/poll (poll.h): Likewise.
40129         * modules/stdbool (stdbool.h): Likewise.
40130         * modules/stdint (stdint.h): Likewise.
40131         * modules/sys_select (sys/select.h): Likewise.
40132         * modules/sys_socket (sys/socket.h): Likewise.
40133         * modules/sys_stat (sys/stat.h): Likewise.
40134         * modules/sysexits (sysexits.h): Likewise.
40135         * modules/unistd (unistd.h): Likewise.
40136         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40137         Add a "DO NOT EDIT" comment to the generated file.
40138         (func_import): Likewise for gnulib-comp.m4.
40139
40140 2006-10-07  Bruno Haible  <bruno@clisp.org>
40141
40142         * lib/gl_sublist.h: New file.
40143         * lib/gl_sublist.c: New file.
40144
40145 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40146
40147         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
40148         name (relative to the original working directory) and the file
40149         name component (relative to the temporary working directory).  All
40150         callers changed.
40151         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
40152         * lib/mkdir-p.c (make_dir_parents): Likewise.
40153         * lib/mkdir-p.h (make_dir_parents): Likewise.
40154
40155 2006-10-06  Eric Blake  <ebb9@byu.net>
40156
40157         Define several macros for use by the clean-temp module.
40158         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
40159         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
40160         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
40161
40162         * lib/clean-temp.h (close_stream_temp): New declaration.
40163         * lib/clean-temp.c (includes): Pull in headers according to what
40164         other modules are in use.
40165         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
40166
40167 2006-10-06  Bruno Haible  <bruno@clisp.org>
40168
40169         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
40170         instead of fopen, fwriteerror.
40171
40172 2006-10-06  Bruno Haible  <bruno@clisp.org>
40173
40174         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
40175         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
40176         int.
40177         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
40178         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
40179         Return an error indicator.
40180         Suggested by Eric Blake.
40181
40182 2006-10-06  Bruno Haible  <bruno@clisp.org>
40183
40184         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
40185         Reported by Eric Blake.
40186
40187 2006-10-06  Bruno Haible  <bruno@clisp.org>
40188
40189         * modules/closeout (Description): Mention stderr too.
40190
40191 2006-10-06  Bruno Haible  <bruno@clisp.org>
40192         and Paul Eggert  <eggert@cs.ucla.edu>
40193
40194         * lib/closeout.c (close_stdout): Also close stderr.
40195         * lib/closeout.h: Update comment.
40196
40197 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
40198
40199         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
40200         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
40201         * lib/dirchownmod.c: Include lchown.h.
40202         * lib/lchown.c: Don't include files that lchown.h now includes.
40203         Don't declare chown, since lchown.h now does that.
40204         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
40205         (lchown): Define to rpl_chown if lchown is declared but
40206         does not exist.  Declare using a prototype if lchown is not
40207         declared.  Add a copyright notice.
40208         * lib/mkstemp.h: Include <unistd.h>.
40209         * lib/openat.c: Include lchown.h.
40210
40211         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
40212         we now test for that separately.
40213         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
40214         rather than O_NOFOLLOW, when testing whether it's possible to
40215         avoid a race condition reliably.
40216         * lib/savewd.c (savewd_chdir): Likewise.
40217
40218         Remove macros that are no longer needed now that stdint.h is
40219         reliable.
40220         * lib/fsusage.c (UINTMAX_MAX): Remove.
40221         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
40222         * lib/utimecmp.c (SIZE_MAX): Remove.
40223
40224         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
40225
40226         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
40227         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
40228         O_NOATIME works.
40229
40230 2006-10-05  Bruno Haible  <bruno@clisp.org>
40231
40232         * lib/gl_list.h (gl_sortedlist_search_from_to,
40233         gl_sortedlist_indexof_from_to): New declarations.
40234         (gl_list_implementation): New fields sortedlist_search_from_to,
40235         sortedlist_indexof_from_to.
40236         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
40237         inline functions.
40238         * lib/gl_list.c (gl_sortedlist_search_from_to,
40239         gl_sortedlist_indexof_from_to): New functions.
40240         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
40241         function.
40242         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
40243         (gl_array_sortedlist_search_from_to): New function.
40244         (gl_array_list_implementation): Update.
40245         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
40246         function.
40247         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
40248         (gl_carray_sortedlist_search_from_to): New function.
40249         (gl_carray_list_implementation): Update.
40250         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
40251         gl_linked_sortedlist_indexof_from_to): New functions.
40252         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40253         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40254         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
40255         gl_tree_sortedlist_indexof_from_to): New functions.
40256         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40257         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40258         Update.
40259         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40260         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
40261         Update.
40262
40263 2006-10-05  Bruno Haible  <bruno@clisp.org>
40264
40265         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
40266         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
40267         (struct gl_list_implementation): Add fields search_from_to,
40268         indexof_from_to. Remove fields search, indexof.
40269         (gl_list_search): Use the search_from_to method.
40270         (gl_list_search_from, gl_list_search_from_to): New functions.
40271         (gl_list_indexof): Use the indexof_from_to method.
40272         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40273         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
40274         (gl_list_search_from, gl_list_search_from_to): New functions.
40275         (gl_list_indexof): Use the indexof_from_to method.
40276         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40277         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
40278         gl_array_indexof. Add start_index, end_index arguments.
40279         (gl_array_search_from_to): Renamed from gl_array_search. Add
40280         start_index, end_index arguments.
40281         (gl_array_remove, gl_array_list_implementation): Update.
40282         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
40283         gl_carray_indexof. Add start_index, end_index arguments.
40284         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
40285         start_index, end_index arguments.
40286         (gl_carray_remove, gl_carray_list_implementation): Update.
40287         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
40288         gl_linked_search. Add start_index, end_index arguments.
40289         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
40290         start_index, end_index arguments.
40291         (gl_linked_remove): Update.
40292         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40293         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40294         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
40295         field to 'size_t'.
40296         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
40297         gl_tree_search. Add start_index, end_index arguments.
40298         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40299         start_index, end_index arguments.
40300         (gl_tree_remove): Update.
40301         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40302         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40303         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
40304         function.
40305         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
40306         gl_tree_search. Add start_index, end_index arguments.
40307         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40308         start_index, end_index arguments.
40309         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40310         Update.
40311         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40312
40313 2006-10-05  Bruno Haible  <bruno@clisp.org>
40314
40315         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
40316
40317         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
40318         fwriteerror_temp): New declarations.
40319         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
40320         (descriptors): New variable.
40321         (cleanup): First, close the descriptors.
40322         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
40323         fclose_temp, fwriteerror_temp): New functions.
40324
40325 2006-10-04  Jim Meyering  <jim@meyering.net>
40326
40327         * lib/fts.c (fts_open): Tiny comment change.
40328
40329 2006-10-04  Bruno Haible  <bruno@clisp.org>
40330
40331         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
40332         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
40333         gl_LOCK_BODY.
40334         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
40335         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
40336         gl_LOCK_EARLY_BODY.
40337         (gl_LOCK): Require gl_LOCK_BODY.
40338
40339 2006-10-04  Bruno Haible  <bruno@clisp.org>
40340
40341         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
40342         (gl_oset_search_atleast): New declaration.
40343         (struct gl_oset_implementation): Add field 'search_atleast'.
40344         (gl_oset_search_atleast): New inline function.
40345         * lib/gl_oset.c (gl_oset_search_atleast): New function.
40346         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
40347         (gl_array_oset_implementation): Update.
40348         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
40349         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
40350         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
40351
40352 2006-10-04  Bruno Haible  <bruno@clisp.org>
40353
40354         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
40355
40356 2006-10-03  Bruno Haible  <bruno@clisp.org>
40357
40358         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
40359         from gl_avltreehash_list_implementation.
40360
40361 2006-10-03  Bruno Haible  <bruno@clisp.org>
40362
40363         * lib/gl_oset.c (gl_oset_add): Fix return type.
40364
40365 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
40366
40367         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
40368
40369 2006-10-02  Eric Blake  <ebb9@byu.net>
40370
40371         * modules/strnlen (Depends-on): Add extensions.
40372
40373 2006-10-02  Eric Blake  <ebb9@byu.net>
40374
40375         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
40376         definition in 2.60+.
40377
40378 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
40379
40380         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
40381         checks.
40382
40383 2006-10-02  Bruno Haible  <bruno@clisp.org>
40384
40385         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
40386         to the AUTOMAKE_OPTIONS.
40387         Reported by Jim Meyering.
40388
40389 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40390
40391         Work around bug in Solaris 10 /proc file system:
40392         /proc/self/fd/NNN/.. isn't the parent directory of
40393         the directory whose file descriptor is NNN.  This needs to
40394         be worked around at run time, not compile time, since a
40395         program might be built on Solaris 8, where things work, and
40396         run on Solaris 10.
40397         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
40398         to use the following interface instead:
40399         (OPENAT_BUFFER_SIZE): New macro.
40400         (openat_proc_name): New function.
40401         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
40402         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
40403         Likewise.
40404         * lib/openat-proc.c: New file.
40405         * modules/openat (Files): Add lib/openat-proc.c.
40406         (Depends-on): Add same-inode, stdbool.
40407         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
40408
40409 2006-09-29  Bruno Haible  <bruno@clisp.org>
40410
40411         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
40412         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
40413         argument. Set stdout_closed before testing for ferror, not after.
40414         (fwriteerror, fwriteerror_no_ebadf): New functions.
40415
40416 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40417
40418         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
40419
40420 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
40421
40422         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
40423         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
40424
40425 2006-09-28  Jim Meyering  <jim@meyering.net>
40426
40427         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
40428         Include <unistd.h>.
40429
40430 2006-09-28  Bruno Haible  <bruno@clisp.org>
40431
40432         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
40433         * modules/linkedhash-list (Depends-on): Likewise.
40434         * modules/rbtreehash-list (Depends-on): Likewise.
40435
40436 2006-09-28  Bruno Haible  <bruno@clisp.org>
40437
40438         * lib/strndup.h: Simplify the redefinition of strndup.
40439         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
40440         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
40441
40442 2006-09-28  Bruno Haible  <bruno@clisp.org>
40443
40444         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
40445         * lib/gl_linkedhash_list.c: Likewise.
40446         * lib/gl_rbtreehash_list.c: Likewise.
40447
40448 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
40449
40450         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
40451         getaddrinfo.
40452
40453         * lib/__fpending.h: Don't include <stdio_ext.h> unless
40454         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
40455         it causes <stdio_ext.h> to cause a compile-time error.
40456         Problem reported by Nelson H. F. Beebe.
40457         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
40458         of HAVE_DECL___PENDING.
40459
40460         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
40461         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
40462         declaration.
40463
40464 2006-09-27  Jim Meyering  <jim@meyering.net>
40465
40466         This file could end up with a definition for a function
40467         named __strndup, rather than rpl_strndup on a system with
40468         incomplete weak_alias support.
40469         * lib/strndup.c (strndup): Rename from __strndup.
40470         Remove #defines that used to map __strndup to strndup.
40471         Don't use K&R prototypes.
40472         Remove LIBC-related code, since this file is not sync'd with glibc.
40473         * lib/strndup.h: Revamp, accordingly.
40474         * m4/strndup.m4: Modernize.
40475
40476 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40477
40478         * modules/savewd (Depends-on): Add 'raise'.
40479         * lib/savewd.c: Include <signal.h>, for 'raise'.
40480
40481 2006-09-26  Jim Meyering  <jim@meyering.net>
40482
40483         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
40484         when we detect Darwin 8.7.0's acl_get_file bug.
40485         Rearrange to perform the new (below) run-test while $LIBS
40486         contains any acl-related library.  Set USE_ACL at the end.
40487         (gl_ACL_GET_FILE): New function.
40488
40489 2006-09-26  Eric Blake  <ebb9@byu.net>
40490
40491         * lib/verror.c: Include <config.h> unconditionally.
40492
40493 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
40494
40495         * modules/clock-time (Maintainer): Add self.
40496         * modules/getlogin_r (Depends-on): Add extensions.
40497
40498 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40499
40500         * modules/clock-time: New module.
40501         * modules/nanosleep (Depends-on): Add clock-time.
40502         * modules/gethrxtime (Depends-on): Likewise.
40503         * modules/gettime (Depends-on): Likewise.
40504         * modules/settime (Depends-on): Likewise.
40505
40506         * modules/fts-lgpl: Depend on openat.
40507         * modules/mkancesdirs: Depend on savewd.
40508         * modules/mkdir-p: Likewise.
40509
40510 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40511
40512         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
40513
40514         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
40515         `gl_have_arbitrary_file_name_length_limit' to
40516         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
40517         actually works between configure runs.
40518
40519 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40520             Bruno Haible  <bruno@clisp.org>
40521
40522         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
40523
40524 2006-09-25  Jim Meyering  <jim@meyering.net>
40525
40526         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
40527         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
40528
40529 2006-09-25  Eric Blake  <ebb9@byu.net>
40530
40531         * gnulib-tool (func_import, func_create_testdir): Fix typos in
40532         exec's in 2006-09-18 patch when shuffling fds.
40533
40534 2006-09-25  Bruno Haible  <bruno@clisp.org>
40535
40536         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
40537         Reported by Jim Meyering.
40538
40539 2006-09-24  Jim Meyering  <jim@meyering.net>
40540
40541         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
40542         compare a pointer against a literal "0".  That caused failures with
40543         at least HP-UX's hpcc.
40544
40545 2006-09-22  Simon Josefsson  <jas@extundo.com>
40546
40547         * modules/gc-sha1:
40548         * modules/gc-md4:
40549         * modules/gc-hmac-sha1:
40550         * modules/gc-hmac-md5:
40551         * modules/gc-des:
40552         * modules/gc-arcfour: Distribute more files.
40553
40554 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40555
40556         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
40557         (gl_linked_iterator_from_to): Initialize struct completely.
40558         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
40559         (gl_tree_iterator_from_to): Likewise
40560         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
40561         * lib/gl_array_list.c [lint] (gl_array_iterator)
40562         (gl_array_iterator_from_to): Likewise.
40563         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
40564         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
40565         (gl_carray_iterator_from_to): Likewise.
40566
40567         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
40568         * lib/md4.c (md4_process_block): Remove unused variable.
40569         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
40570         parentheses for clarity.
40571
40572 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40573
40574         * modules/bison-i18n (Depends-on): Add gettext.
40575
40576 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40577
40578         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
40579         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
40580         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
40581         also add missing comma that caused broken test.
40582         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
40583         stdlib.h, for `abort'.
40584         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
40585         variables.
40586         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
40587         include unistd.h if present, for `rmdir'.
40588         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
40589         variables.
40590         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
40591         in the process include standard headers for prototypes.
40592         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
40593         gets declared on GNU/Linux.
40594         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
40595         unistd.h, for `rmdir'.
40596         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
40597
40598         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
40599         always true.
40600         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
40601
40602         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
40603
40604 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40605
40606         * gnulib-tool (func_version): Create output all at once.  This
40607         may help avoid triggering unnecessary SIGPIPEs, and at any
40608         rate it doesn't hurt.
40609
40610 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40611             Bruno Haible  <bruno@clisp.org>
40612
40613         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
40614         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
40615         * m4/signed.m4 (bh_C_SIGNED): Likewise.
40616
40617         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
40618         (gl_FUNC_VASPRINTF): Invoke it.
40619
40620 2006-09-22  Bruno Haible  <bruno@clisp.org>
40621
40622         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
40623         getloadavg.c as first argument.
40624
40625 2006-09-22  Bruno Haible  <bruno@clisp.org>
40626
40627         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
40628         at the beginning of the gl_INIT macro.
40629         * modules/getloadavg (configure.ac): Pass $gl_source_base to
40630         gl_GETLOADAVG.
40631
40632 2006-09-22  Bruno Haible  <bruno@clisp.org>
40633
40634         * gnulib-tool (func_create_megatestdir): Don't include the config-h
40635         module.
40636         Suggested by Ralf Wildenhues.
40637
40638 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40639
40640         Import this patch from libc:
40641
40642         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
40643
40644         * lib/regex_internal.c (re_string_reconstruct): Handle
40645         offset < pstr->valid_raw_len && pstr->offsets_needed case.
40646         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
40647         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
40648         re_string_context_at.
40649
40650         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
40651         now requires it.
40652         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
40653         gl_REGEX now does it for us.
40654         (gl_REGEX): Add test taken from
40655         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
40656
40657         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
40658         Check that large offsets work.  Modernize Autoconf usages.
40659         Prefer "yes" to mean a good thing rather than a bad.
40660         Don't put "#define mkstemp" in config.h, as this might interfere
40661         with standard system headers that "#define mkstemp mkstemp64".
40662
40663         * modules/mkstemp (Depends-on): Add extensions, so that
40664         mkstemp is visible on some platforms.
40665         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
40666         (Include): Change to "mkstemp.h" from <stdlib.h>.
40667         (Files): Add mkstemp.h.
40668
40669         * lib/mkstemp.h: New file, since some standard headers
40670         #define mkstemp.
40671         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
40672         Include "mkstemp.h".
40673         Make the _LIBC code resemble glibc original more,
40674         e.g., use K&R style.
40675         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
40676         (mkstemp): Remove, since mkstemp.h does this for us.
40677         * lib/stdlib--.h: Include mkstemp.h.
40678
40679         Import this patch from libc:
40680
40681         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
40682
40683         * lib/tempname.c (__gen_tempname): Change attempts_min
40684         into a macro.  Use preprocessor to decide how to initialize
40685         attempts [Coverity CID 67].
40686
40687 2006-09-20  Bruno Haible  <bruno@clisp.org>
40688
40689         * lib/mkdtemp.c: Import from libc.
40690         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
40691                 * sysdeps/posix/tempname.c (__gen_tempname): Change
40692                 attempts_min into a macro.  Use preprocessor to decide how to
40693                 initialize attempts [Coverity CID 67].
40694         2001-11-27  Paul Eggert  <eggert@twinsun.com>
40695                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
40696                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
40697
40698 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40699
40700         * gnulib-tool (func_exit): New function, to allow to pass the
40701         exit status portably through the trap.  Use everywhere.
40702         (--help, --version): Signal a write error.
40703         (trap): catch SIGPIPE, for write errors.
40704         Exit at the end of the trap, with the correct exit status.
40705
40706 2006-09-19  Karl Berry  <karl@gnu.org>
40707
40708         * doc/gnulib.texi: note about the license texinfo files.
40709
40710 2006-09-19  Eric Blake  <ebb9@byu.net>
40711
40712         * gnulib-tool: Avoid space-tab.
40713
40714 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
40715
40716         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
40717         that prevented coreutils 6.1 from building.  Problem reported
40718         by Petter Reinholdtsen.
40719
40720 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
40721
40722         * gnulib-tool (avoidlist): Fix typo that broke options like
40723         --avoid=lock that are used by coreutils bootstrap.
40724
40725 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
40726
40727         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
40728         more systematically.
40729
40730 2006-09-18  Jim Meyering  <jim@meyering.net>
40731
40732         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
40733
40734 2006-09-18  Bruno Haible  <bruno@clisp.org>
40735
40736         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
40737
40738 2006-09-18  Bruno Haible  <bruno@clisp.org>
40739
40740         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
40741         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
40742         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
40743         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
40744         * m4/gettext.m4: Require autoconf >= 2.52.
40745         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
40746         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
40747         of gl_cv_header_inttypes_h.
40748
40749 2006-09-18  Bruno Haible  <bruno@clisp.org>
40750
40751         * lib/javaversion.c: Include configmake.h.
40752
40753 2006-09-18  Bruno Haible  <bruno@clisp.org>
40754
40755         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
40756         avoid that the while loops be executed in a subshell.
40757
40758 2006-09-18  Bruno Haible  <bruno@clisp.org>
40759
40760         * MODULES.html.sh (func_module): Break long lines.
40761         Suggested by Bruce Korb <bkorb@gnu.org>.
40762
40763 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40764
40765         Speed up by a factor of 1.12.
40766         * gnulib-tool (nl): New variable.
40767         (func_import): Rewrite include directive extraction to only read each
40768         directive once.
40769
40770 2006-09-17  Bruno Haible  <bruno@clisp.org>
40771
40772         * modules/javaversion (Makefile.am): Remove DEFS setting.
40773         (Depends-on): Add configmake, for PKGDATADIR definition.
40774
40775 2006-09-17  Bruno Haible  <bruno@clisp.org>
40776
40777         * gnulib-tool (func_create_testdir): Rewrite all files at once.
40778
40779 2006-09-17  Bruno Haible  <bruno@clisp.org>
40780
40781         * gnulib-tool (func_append): New function, stolen from libtool.m4.
40782         (func_modules_transitive_closure, func_modules_add_dummy,
40783         func_modules_to_filelist, func_import, func_create_testdir,
40784         func_create_megatestdir, ...): Use it wherever possible.
40785         Suggested by Ralf Wildenhues.
40786
40787 2006-09-16  Karl Berry  <karl@gnu.org>
40788
40789         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
40790         to avoid sectioning errors.
40791         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
40792         [ifinfo]: blank line after @center-ed titles.
40793         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
40794         Spell FSF address consistently with others.
40795         (These changes approved by rms.)
40796
40797 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40798
40799         Speed up by a factor of 1.61.
40800         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
40801         already checked module names again.
40802
40803 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40804
40805         Speed up by a factor of 1.13.
40806         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
40807         for new_files, and the input to func_add_or_update.
40808
40809 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40810
40811         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
40812         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
40813
40814 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40815
40816         * modules/mkancesdirs (Depends-on): Add fcntl.
40817         * modules/savewd: New file.
40818         * MODULES.html.sh (File system functions): Add savewd.
40819
40820         * modules/configmake (Makefile.am): Add support for the
40821         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
40822
40823 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40824
40825         * m4/savewd.m4: New file.
40826
40827 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40828
40829         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
40830         (dirchownmod): New arg FD.  All callers changed.
40831         Use FD rather than opening the directory ourself, as opening is
40832         now the caller's responsibility.
40833         * lib/dirchownmod.h: Likewise.
40834         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
40835         hosts that require <sys/types.h> before <sys/stat.h>.  Include
40836         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
40837         (test_dir): Remove.
40838         (mkancesdirs): Return length of prefix of FILE that has already
40839         been made, or -2 if there is a child doing the work.  Redo
40840         algorithm so that it is O(N) rather than O(N**2).  Optimize away
40841         ".", and treat ".." specially since it might stray back into
40842         already-created areas.  Use a subprocess if necessary.  New arg
40843         WD; all users changed.  MAKE_DIR function should now return 1
40844         if it creates a directory that is not readable.  Return -2 if
40845         a child process is spun off.
40846         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
40847         Adjust signature to match code.
40848         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
40849         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
40850         all users changed.
40851         * lib/savewd.c, lib/savewd.h: New files.
40852
40853 2006-09-15  Jim Meyering  <jim@meyering.net>
40854
40855         * modules/rename-dest-slash: New module.
40856         * MODULES.html.sh (posix_compat): Add it here.
40857
40858         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
40859
40860 2006-09-15  Jim Meyering  <jim@meyering.net>
40861
40862         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
40863         file.
40864
40865         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
40866
40867 2006-09-15  Jim Meyering  <jim@meyering.net>
40868
40869         * lib/rename-dest-slash.c (has_trailing_slash): Use
40870         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
40871         (rpl_rename_dest_slash): Perform the cheaper trailing slash
40872         test before testing whether SRC is a directory.
40873         Suggestions from Bruno Haible.
40874
40875         Avoid a warning about an unused variable.
40876         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
40877         into the #ifdef block where it's used.
40878
40879         * lib/rename-dest-slash.c: New file.
40880
40881 2006-09-14  Bruno Haible  <bruno@clisp.org>
40882
40883         * lib/allocsa.c: Include <config.h> unconditionally.
40884         * lib/asnprintf.c: Likewise.
40885         * lib/asprintf.c: Likewise.
40886         * lib/c-strcasecmp.c: Likewise.
40887         * lib/c-strcasestr.c: Likewise.
40888         * lib/c-strncasecmp.c: Likewise.
40889         * lib/c-strstr.c: Likewise.
40890         * lib/classpath.c: Likewise.
40891         * lib/clean-temp.c: Likewise.
40892         * lib/concatpath.c: Likewise.
40893         * lib/copy-file.c: Likewise.
40894         * lib/csharpcomp.c: Likewise.
40895         * lib/csharpexec.c: Likewise.
40896         * lib/execute.c: Likewise.
40897         * lib/fatal-signal.c: Likewise.
40898         * lib/findprog.c: Likewise.
40899         * lib/fwriteerror.c: Likewise.
40900         * lib/gl_array_list.c: Likewise.
40901         * lib/gl_array_oset.c: Likewise.
40902         * lib/gl_avltree_list.c: Likewise.
40903         * lib/gl_avltree_oset.c: Likewise.
40904         * lib/gl_avltreehash_list.c: Likewise.
40905         * lib/gl_carray_list.c: Likewise.
40906         * lib/gl_linked_list.c: Likewise.
40907         * lib/gl_linkedhash_list.c: Likewise.
40908         * lib/gl_list.c: Likewise.
40909         * lib/gl_oset.c: Likewise.
40910         * lib/gl_rbtree_list.c: Likewise.
40911         * lib/gl_rbtree_oset.c: Likewise.
40912         * lib/gl_rbtreehash_list.c: Likewise.
40913         * lib/imaxabs.c: Likewise.
40914         * lib/imaxdiv.c: Likewise.
40915         * lib/javacomp.c: Likewise.
40916         * lib/javaexec.c: Likewise.
40917         * lib/javaversion.c: Likewise.
40918         * lib/linebreak.c: Likewise.
40919         * lib/localcharset.c: Likewise.
40920         * lib/lock.c: Likewise.
40921         * lib/mbchar.c: Likewise.
40922         * lib/mbswidth.c: Likewise.
40923         * lib/mkdtemp.c: Likewise.
40924         * lib/pipe.c: Likewise.
40925         * lib/printf-args.c: Likewise.
40926         * lib/printf-parse.c: Likewise.
40927         * lib/progname.c: Likewise.
40928         * lib/progreloc.c: Likewise.
40929         * lib/readlink.c: Likewise.
40930         * lib/sh-quote.c: Likewise.
40931         * lib/stpcpy.c: Likewise.
40932         * lib/stpncpy.c: Likewise.
40933         * lib/strcasecmp.c: Likewise.
40934         * lib/strcasestr.c: Likewise.
40935         * lib/strcspn.c: Likewise.
40936         * lib/striconv.c: Likewise.
40937         * lib/strncasecmp.c: Likewise.
40938         * lib/strnlen1.c: Likewise.
40939         * lib/strstr.c: Likewise.
40940         * lib/strtok_r.c: Likewise.
40941         * lib/tls.c: Likewise.
40942         * lib/tmpdir.c: Likewise.
40943         * lib/unicodeio.c: Likewise.
40944         * lib/unsetenv.c: Likewise.
40945         * lib/vasnprintf.c: Likewise.
40946         * lib/vasprintf.c: Likewise.
40947         * lib/wait-process.c: Likewise.
40948         * lib/xallocsa.c: Likewise.
40949         * lib/xsetenv.c: Likewise.
40950         * lib/xstriconv.c: Likewise.
40951
40952 2006-09-13  Simon Josefsson  <jas@extundo.com>
40953
40954         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
40955         that internally, suggested by Ralf Wildenhues
40956         <Ralf.Wildenhues@gmx.de>.
40957
40958 2006-09-13  Simon Josefsson  <jas@extundo.com>
40959
40960         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
40961         @LIBOBJS@.
40962         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40963
40964 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
40965
40966         * lib/_fpending.c: Include <config.h> unconditionally, since we no
40967         longer worry about uses that don't define HAVE_CONFIG_H.
40968         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
40969         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
40970         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
40971         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
40972         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
40973         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
40974         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
40975         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
40976         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
40977         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
40978         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
40979         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
40980         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
40981         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
40982         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
40983         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
40984         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
40985         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
40986         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
40987         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
40988         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
40989         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
40990         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
40991         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
40992         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
40993         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
40994         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
40995         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
40996         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
40997         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
40998         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
40999         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
41000         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
41001         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
41002         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
41003         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
41004         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
41005         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
41006         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
41007         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
41008         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
41009         Likewise.
41010
41011 2006-09-13  Eric Blake  <ebb9@byu.net>
41012
41013         * lib/getopt.c: Fix typo in last commit.
41014
41015 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41016
41017         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
41018         dgettext.
41019
41020 2006-09-12  Jim Meyering  <jim@meyering.net>
41021
41022         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
41023         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
41024         Reported by Nelson H. F. Beebe.
41025
41026 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41027
41028         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
41029         program_invocation_name and program_invocation_short_name are
41030         initialized.
41031         * lib/argp-namefrob.h: Move declarations of program_invocation_name
41032         and program_invocation_short_name to argp.h, so they are visible
41033         to user programs.
41034         * lib/argp.h: Likewise
41035
41036 2006-09-10  Bruno Haible  <bruno@clisp.org>
41037
41038         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41039         m4/inttypes_h.m4, m4/uintmax_t.m4.
41040
41041 2006-09-10  Bruno Haible  <bruno@clisp.org>
41042
41043         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
41044         gl_AC_TYPE_UINTMAX_T.
41045
41046 2006-09-10  Bruno Haible  <bruno@clisp.org>
41047
41048         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
41049
41050 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41051
41052         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
41053         convention.  Text proposed by Bruno Haible.
41054         (struct argp_option): Document the use of N_() wrappers.
41055
41056         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
41057         '\v', and translate the two parts separately, instead of feeding
41058         the whole string to gettext.  This allows to exclude
41059         '\v' from the strings visible to the translator by writing doc
41060         strings as N_("..") "\v" N_("..").
41061
41062 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
41063
41064         * config/srclist.txt: Undo latest change; the bug was fixed.
41065
41066 2006-09-09  Bruno Haible  <bruno@clisp.org>
41067
41068         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
41069         assignments if building a library without libtool.
41070         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
41071         in func_emit_lib_Makefile_am.
41072         (func_import): When building a static library libfoo.a, arrange to
41073         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
41074         (func_create_testdir): Likewise.
41075         * modules/gc (configure.ac, Makefile.am): If building statically,
41076         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
41077         * modules/iconvme (configure.ac, Makefile.am): Likewise.
41078         * modules/striconv (configure.ac, Makefile.am): Likewise.
41079         Based on a suggestion by Ralf Wildenhues.
41080
41081 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41082
41083         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41084         Check for unistd.h too, since Autoconf doesn't assume POSIX.
41085         Also:
41086
41087         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41088         Add year_2050_test to catch glibc bug 2821
41089         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41090
41091         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41092         Prefer #ifdef to #if.
41093
41094         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41095         Return from 'main' instead of calling 'exit'.
41096
41097 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41098
41099         * lib/mktime.c (guess_time_tm): Fix bug where mktime
41100         returned the maximum time_t value rather than (time_t) -1.
41101         Problem originally reported by William Bardwell
41102         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41103
41104         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41105         Moved to here ...
41106         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41107         ... from here.
41108
41109 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41110
41111         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
41112         2821 is fixed.
41113
41114 2006-09-08  Jim Meyering  <jim@meyering.net>
41115
41116         Don't make generated files read-only.  That would bother too many
41117         people.  However, do retain the ability to work when targets are
41118         read-only: remove the destination and temporary files before writing
41119         them (when generated via sed or echo), or by using the -f option for
41120         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
41121         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41122         * modules/byteswap, modules/configmake, modules/fcntl:
41123         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41124         * modules/localcharset, modules/netinet_in, modules/poll:
41125         * modules/stdbool, modules/stdint, modules/sys_select:
41126         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41127
41128 2006-09-08  Jim Meyering  <jim@meyering.net>
41129
41130         Avoid new build failure on FreeBSD 6.0.
41131         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
41132         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
41133         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
41134
41135 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41136
41137         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
41138
41139 2006-09-07  Jim Meyering  <jim@meyering.net>
41140
41141         Fix global typo in last change: use chmod u-w, not chmod u-x.
41142         Spotted by Paul Eggert and Bruce Korb.
41143         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41144         * modules/byteswap, modules/configmake, modules/fcntl:
41145         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41146         * modules/localcharset, modules/netinet_in, modules/poll:
41147         * modules/stdbool, modules/stdint, modules/sys_select:
41148         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41149
41150 2006-09-06  Jim Meyering  <jim@meyering.net>
41151
41152         Make generated files be read-only.
41153         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
41154         Ensure that each generated file is now read-only.
41155         * modules/argz: Likewise.
41156         * modules/arpa_inet: Likewise.
41157         * modules/byteswap: Likewise.
41158         * modules/configmake: Likewise.
41159         * modules/fcntl: Likewise.
41160         * modules/fnmatch: Likewise.
41161         * modules/getopt: Likewise.
41162         * modules/glob: Likewise.
41163         * modules/inttypes: Likewise.
41164         * modules/netinet_in: Likewise.
41165         * modules/poll: Likewise.
41166         * modules/stdbool: Likewise.
41167         * modules/stdint: Likewise.
41168         * modules/sys_select: Likewise.
41169         * modules/sys_socket: Likewise.
41170         * modules/sys_stat: Likewise.
41171         * modules/sysexits: Likewise.
41172         * modules/localcharset: Same as above, but continue using temporary
41173         file named "t-$@" (why different?) rather than the "$@-t" used
41174         everywhere else.
41175
41176         * modules/sysexits (Makefile.am): Replace literal occurrences
41177         of "sysexit.h" more readable, and more consistent, "$@".
41178
41179 2006-09-06  Bruno Haible  <bruno@clisp.org>
41180
41181         * modules/striconv: New file.
41182         * modules/xstriconv: New file.
41183         * MODULES.html.sh (Internationalization functions): Add striconv,
41184         xstriconv.
41185
41186 2006-09-06  Bruno Haible  <bruno@clisp.org>
41187
41188         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
41189         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
41190         not using libtool correctly.
41191
41192 2006-09-06  Bruno Haible  <bruno@clisp.org>
41193
41194         * lib/striconv.h: New file.
41195         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
41196         iconvstring.c.
41197         * lib/xstriconv.h: New file.
41198         * lib/xstriconv.c: New file.
41199
41200 2006-09-06  Bruno Haible  <bruno@clisp.org>
41201
41202         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41203         lib_..._LDFLAGS.
41204
41205 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41206
41207         * lib/argz_.h: Sync from Libtool.
41208
41209         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
41210                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41211
41212         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
41213
41214 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41215
41216         * modules/trim: New file.
41217
41218 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41219
41220         * lib/trim.h: New file.
41221         * lib/trim.c: New file.
41222
41223 2006-09-05  Bruno Haible  <bruno@clisp.org>
41224
41225         * MODULES.html.sh (String handling): Add trim.
41226
41227 2006-09-04  Karl Berry  <karl@gnu.org>
41228
41229         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
41230         until next release.
41231
41232 2006-09-03  Bruno Haible  <bruno@clisp.org>
41233
41234         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
41235         correctly.
41236
41237 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41238
41239         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
41240         not gl_GETLOADAVG.  Omit unneeded semicolons.
41241         Problems reported by Ralf Wildenhues in
41242         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41243         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
41244         at the end, which is the usual gnulib style.
41245
41246         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
41247         of doing all the work ourselves.
41248         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
41249         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
41250
41251 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41252
41253         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
41254         Problem reported by Ralf Wildenhues in
41255         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41256
41257         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
41258         HAVE_STRUCT_STATFS_F_FSTYPENAME.
41259
41260 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41261
41262         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
41263         yesterday's patch by changing test -n to test -z.
41264
41265 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41266
41267         * modules/getloadavg (Files): Add m4/getloadavg.m4.
41268         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
41269         the former is now obsolescent.
41270
41271         * modules/chdir-long (Depends-on): Add fcntl.
41272
41273 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41274
41275         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
41276         obsolescent, and programs should use gnulib instead.
41277         * m4/getloadavg.m4: New file, with contents taken from Autoconf
41278         but with prefixes changed.
41279
41280 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41281
41282         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
41283         or stdbool.h, because they might not exist while configuring.
41284
41285         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
41286         Don't include unistd.h or limits.h; not needed, since chdir-long.h
41287         does that for us.
41288         (O_DIRECTORY): Remove.
41289
41290 2006-08-31  Eric Blake  <ebb9@byu.net>
41291
41292         * gnulib-tool: Don't let emacs change spaces to TAB.
41293
41294 2006-08-31  Bruno Haible  <bruno@clisp.org>
41295
41296         * gnulib-tool: When calling func_import more than once, do it in a
41297         subshell.
41298         Reported by Eric Blake <ebb9@byu.net>.
41299
41300 2006-08-31  Bruno Haible  <bruno@clisp.org>
41301
41302         * gnulib-tool (nl): Remove variable.
41303         (sed_transform_lib_file): Use more robust test for config-h module.
41304         (func_import): Fix typo in 2006-08-25 patch.
41305
41306 2006-08-31  Bruno Haible  <bruno@clisp.org>
41307
41308         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
41309         specified, augment Makefile.am variables instead of assigning them.
41310
41311 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41312
41313         Work around a bug in both the Linux and SunOS 64-bit kernels:
41314         nanosleep mishandles sleeps for longer than 2**31 seconds.
41315         Problem reported by Frank v Waveren in
41316         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
41318         Check for nanosleep bug.
41319         (LIB_NANOSLEEP): Append clock_gettime library if needed.
41320
41321 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41322
41323         Work around a bug in both the Linux and SunOS 64-bit kernels:
41324         nanosleep mishandles sleeps for longer than 2**31 seconds.
41325         Problem reported by Frank v Waveren in
41326         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41327         * lib/nanosleep.c (BILLION): New constant.
41328         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
41329         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
41330         implementation.
41331
41332 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41333
41334         * modules/nanosleep (Depends-on): Add gettime.
41335
41336 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41337         and Simon Josefsson  <jas@extundo.com>
41338         and Oskar Liljeblad  <oskar@osk.mine.nu>
41339
41340         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
41341         * gnulib-tool (func_import): New license type 'unmodifiable license
41342         text'.
41343         * modules/fdl: Use it.  Longer description.
41344         * module/gpl, module/lgpl: New files.
41345
41346 2006-08-30  Jim Meyering  <jim@meyering.net>
41347
41348         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
41349         shadowing the parameter.
41350
41351 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41352
41353         Sync from Libtool:
41354
41355         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41356
41357         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
41358         sharing with gnulib.  Report by Eric Blake.
41359
41360 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41361
41362         * modules/isapipe: New file.
41363         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
41364
41365 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41366
41367         * modules/configmake (Makefile.am): Add a comment, and omit
41368         the CONFIGMAKE_ prefix from generated macro names.  Suggested
41369         by Bruno Haible.
41370
41371 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41372
41373         * m4/isapipe.m4: New file.
41374
41375 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41376
41377         * lib/isapipe.c, lib/isapipe.h: New files.
41378
41379 2006-08-29  Jim Meyering  <jim@meyering.net>
41380
41381         * modules/configmake (Makefile.am): Make configmake.h depend on
41382         Makefile.  Otherwise, a stale configmake.h could hang around.
41383
41384 2006-08-29  Eric Blake  <ebb9@byu.net>
41385
41386         * lib/error.c (error_at_line, print_errno_message): Match libc, after
41387         resolution of upstream bug 3044.
41388
41389 2006-08-29  Bruno Haible  <bruno@clisp.org>
41390
41391         * modules/localcharset (Depends-on): Add configmake.
41392         (Makefile.am): Remove setting of LIBDIR through DEFS.
41393
41394 2006-08-29  Bruno Haible  <bruno@clisp.org>
41395
41396         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
41397         defined.
41398
41399 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41400
41401         * modules/fcntl: New file.
41402         * modules/chdir-safer (Depends-on): Add fcntl.
41403         * modules/fts: Likewise.
41404         * modules/mkdir-p: Likewise.
41405
41406         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
41407         This undoes the most recent change, since we're now addressing the
41408         problem in a different way.
41409
41410         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
41411         into output, since the output might be called Makefile.am even
41412         if $makefile_name is something different.
41413         (func_import): Use $makefile_am rather than
41414         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
41415         empty.
41416
41417         * modules/inttypes (Files): Add m4/inttypes-h.m4.
41418
41419 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41420
41421         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
41422         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
41423         recent change to stdint.m4, since we're now addressing the problem in a
41424         different way.
41425
41426 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41427
41428         * m4/fcntl_h.m4: New file.
41429
41430 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41431
41432         * lib/fcntl_.h: New file.
41433         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
41434         the fcntl module.
41435         * lib/dirchownmod.c: Likewise.
41436         * lib/fts.c: Likewise.
41437
41438         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
41439         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
41440         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
41441         just before including <inttypes.h>, to avoid circular inclusion.
41442
41443 2006-08-28  Jim Meyering  <jim@meyering.net>
41444
41445         * doc/visibility.texi: Actually read and correct the grammar of the
41446         sentence affected by yesterday's change.
41447
41448 2006-08-28  Eric Blake  <ebb9@byu.net>
41449
41450         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
41451         needs wrapper.
41452
41453 2006-08-28  Eric Blake  <ebb9@byu.net>
41454
41455         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
41456
41457 2006-08-28  Eric Blake  <ebb9@byu.net>
41458
41459         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
41460
41461 2006-08-28  Bruno Haible  <bruno@clisp.org>
41462
41463         * modules/c-strstr: New file, from GNU gettext.
41464         * MODULES.html.sh (String handling): Add c-strstr.
41465
41466 2006-08-28  Bruno Haible  <bruno@clisp.org>
41467
41468         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
41469         macros.
41470         Reported by Eric Blake.
41471
41472 2006-08-28  Bruno Haible  <bruno@clisp.org>
41473
41474         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
41475         (VASNPRINTF): Return a string of length > INT_MAX without failing.
41476         * lib/vasprintf.c: Include errno.h, limits.h.
41477         (EOVERFLOW): New fallback definition.
41478         (vasprintf): Test here whether the string length is > INT_MAX.
41479         * lib/vsnprintf.c: Include errno.h, limits.h.
41480         (EOVERFLOW): New fallback definition.
41481         (vsnprintf): Fix bug when generated string was too long for the buffer.
41482         Test here whether the string length is > INT_MAX.
41483
41484 2006-08-28  Bruno Haible  <bruno@clisp.org>
41485
41486         * lib/inttypes_.h (SCNX*): Remove definitions.
41487         Reported by Eric Blake.
41488
41489 2006-08-28  Bruno Haible  <bruno@clisp.org>
41490
41491         * lib/c-strstr.h: New file, from GNU gettext.
41492         * lib/c-strstr.c: New file, from GNU gettext.
41493
41494 2006-08-28  Bruno Haible  <bruno@clisp.org>
41495
41496         * gnulib-tool: Reorder some statements.
41497
41498 2006-08-28  Bruno Haible  <bruno@clisp.org>
41499
41500         * gnulib-tool: New option --makefile-name.
41501         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
41502         $makefile_name.
41503         (func_import): Write $makefile_name to the cache file, and read it from
41504         there unless explicitly specified. Use $makefile_name as file name
41505         instead of Makefile.am. Adjust the recommendations accordingly.
41506
41507 2006-08-28  Bruno Haible  <bruno@clisp.org>
41508
41509         * gnulib-tool (func_verify_module): Check against misapplying patch.
41510
41511 2006-08-28  Bruno Haible  <bruno@clisp.org>
41512
41513         * gnulib-tool (func_relativize, func_relconcat): New functions.
41514         Give an error if --local-dir is given with --update.
41515         Remove trailing slashes from $local_gnulib_dir.
41516         (func_import): Store the relativized $local_gnulib_dir in
41517         gnulib-cache.m4, and read it from there if not specified explicitly.
41518
41519 2006-08-28  Bruno Haible  <bruno@clisp.org>
41520
41521         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
41522         is the current directory. Respect also $local_gnulib_dir.
41523
41524 2006-08-28  Bruno Haible  <bruno@clisp.org>
41525             Simon Josefsson  <jas@extundo.com>
41526
41527         BeOS portability.
41528         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
41529
41530 2006-08-27  Jim Meyering  <jim@meyering.net>
41531
41532         * doc/visibility.texi: Remove duplicate word: "pointer".
41533
41534 2006-08-26  Bruno Haible  <bruno@clisp.org>
41535
41536         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
41537         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
41538         (Makefile.am): Create inttypes.h from inttypes_.h.
41539         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
41540
41541         * modules/imaxabs: New file.
41542
41543         * modules/imaxdiv: New file.
41544
41545 2006-08-26  Bruno Haible  <bruno@clisp.org>
41546
41547         * m4/inttypes.m4: New file.
41548         * m4/_inttypes_h.m4: Remove file.
41549         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
41550         PRI_MACROS_BROKEN.
41551         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
41552
41553         * m4/imaxabs.m4: New file.
41554
41555         * m4/imaxdiv.m4: New file.
41556
41557 2006-08-26  Bruno Haible  <bruno@clisp.org>
41558
41559         * lib/inttypes_.h: New file.
41560         * lib/inttypes.h: Remove file.
41561         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
41562
41563         * lib/imaxabs.c: New file.
41564
41565         * lib/imaxdiv.c: New file.
41566
41567 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41568
41569         New config-h module, so that "make" output needn't be cluttered
41570         by -DHAVE_CONFIG_H.
41571         * MODULES.html.sh (Support for building libraries and executables):
41572         Add config-h.
41573         * modules/config-h: New file.
41574         * gnulib-tool (nl, sed_transform_lib_file): New vars.
41575         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
41576         the config-h module is used.
41577
41578         New configmake module, so that "make" output needn't be cluttered
41579         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
41580         * MODULES.html.sh (Support for building libraries and executables):
41581         Add configmake.
41582         * modules/configmake: New file.
41583
41584 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41585
41586         * m4/config-h.m4: New file.
41587
41588 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41589
41590         * config/srclist.txt: Add elisp-comp.
41591
41592 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41593
41594         * MODULES.html.sh (Support for building libraries and executables):
41595         Add elisp-comp.
41596         * build-aux/elisp-comp: New file.
41597         * modules/elisp-comp: New file.
41598
41599 2006-08-24  Bruno Haible  <bruno@clisp.org>
41600
41601         * gnulib-tool (func_create_testdir): Use non-default values of
41602         sourcebase and m4base.
41603
41604 2006-08-24  Bruno Haible  <bruno@clisp.org>
41605
41606         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
41607         HTML structure.
41608
41609 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41610
41611         * modules/openat (Depends-on): Add lchown.
41612
41613 2006-08-23  Bruno Haible  <bruno@clisp.org>
41614
41615         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
41616         of gl_LOCK_EARLY instead of gl_LOCK.
41617
41618 2006-08-23  Bruno Haible  <bruno@clisp.org>
41619
41620         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
41621         on OSF/1 to no.
41622         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
41623
41624 2006-08-23  Bruno Haible  <bruno@clisp.org>
41625
41626         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
41627         as unusable.
41628
41629         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
41630         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
41631         (gl_LOCK): New macro.
41632
41633 2006-08-22  Simon Josefsson  <jas@extundo.com>
41634
41635         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
41636         to md5 module.
41637
41638 2006-08-22  Simon Josefsson  <jas@extundo.com>
41639
41640         * MODULES.html.sh: Add "Support for maintaining and release
41641         projects".
41642
41643         * build-aux/gnupload: New file, from coreutils.
41644
41645 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41646
41647         Avoid the need for AC_LIBSOURCES in m4 macros.
41648         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
41649         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
41650         * modules/check-version (EXTRA_DIST): Add check-version.h.
41651         * modules/crc (EXTRA_DIST): Add crc.h.
41652         * modules/des (EXTRA_DIST): Add des.h.
41653         * modules/gc (EXTRA_DIST): Add gc.h.
41654         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
41655         * modules/getline (EXTRA_DIST): Add getline.h.
41656         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
41657         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
41658         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
41659         * modules/md2 (EXTRA_DIST): Add md2.h.
41660         * modules/md4 (EXTRA_DIST): Add md4.h.
41661         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
41662         * modules/read-file (EXTRA_DIST): Add read-file.h.
41663         * modules/readline (EXTRA_DIST): Add readline.h.
41664         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
41665         rijndael-api-fst.h.
41666
41667 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41668
41669         * m4/rijndael.m4 (gl_ARCFOUR):
41670         * m4/arctwo.m4 (gl_ARCTWO):
41671         * m4/check-version.m4 (gl_CHECK_VERSION):
41672         * m4/crc.m4 (gl_CRC):
41673         * m4/des.m4 (gl_DES):
41674         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
41675         * m4/gc.m4 (gl_GC):
41676         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
41677         * m4/getline.m4 (gl_FUNC_GETLINE):
41678         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
41679         * m4/hmac-md5.m4 (gl_HMAC_MD5):
41680         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
41681         * m4/md2.m4 (gl_MD2):
41682         * m4/md4.m4 (gl_MD4):
41683         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
41684         * m4/read-file.m4 (gl_FUNC_READ_FILE):
41685         * m4/readline.m4 (gl_FUNC_READLINE):
41686         * m4/rijndael.m4 (gl_RIJNDAEL):
41687         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
41688         to get the necessary .h files and whatnot.
41689
41690 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41691
41692         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
41693         gnulib rather than the other way around.
41694         * config/srclistvars.sh (COREUTILS): Remove.
41695
41696 2006-08-22  Jim Meyering  <jim@meyering.net>
41697
41698         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
41699
41700         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
41701
41702 2006-08-22  Eric Blake  <ebb9@byu.net>
41703
41704         * modules/regexprops-generic: New file.
41705         * MODULES.html.sh (Support for building documentation): List it.
41706
41707 2006-08-22  Eric Blake  <ebb9@byu.net>
41708
41709         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
41710         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
41711         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
41712         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
41713
41714 2006-08-22  Bruno Haible  <bruno@clisp.org>
41715
41716         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
41717         and lib_LTLIBRARIES like the other lib_* variables.
41718
41719 2006-08-22  Bruno Haible  <bruno@clisp.org>
41720
41721         * build-aux/x-to-1.in: New file, from GNU gettext.
41722
41723 2006-08-22  Bruno Haible  <bruno@clisp.org>
41724
41725         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
41726         <utmpx.h> exists.
41727
41728 2006-08-22  Bruno Haible  <bruno@clisp.org>
41729
41730         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
41731         <utmpx.h> exists.
41732
41733 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41734
41735         BeOS portability.
41736         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
41737         exist.
41738         Problem reported by Bruno Haible.
41739
41740 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41741
41742         Avoid the need for AC_LIBSOURCES in m4 macros.
41743         * modules/acl (EXTRA_DIST): Add acl.h.
41744         * modules/argmatch (Files): Add m4/argmatch.m4.
41745         (configure.ac): Add gl_ARGMATCH.
41746         (EXTRA_DIST): Renamed from lib_SOURCES, for
41747         consistency with the other modules.  Remove argmatch.c.
41748         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
41749         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
41750         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
41751         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
41752         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
41753         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
41754         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
41755         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
41756         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
41757         * modules/closeout (EXTRA_DIST): Add closeout.h.
41758         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
41759         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
41760         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
41761         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
41762         dirname.h; remove basename.c and stripslash.c.
41763         * modules/exclude (EXTRA_DIST): Add exclude.h.
41764         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
41765         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
41766         * modules/file-type (EXTRA_DIST): Add file-type.h.
41767         * modules/filemode (EXTRA_DIST): Add filemode.h.
41768         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
41769         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
41770         * modules/fpending (EXTRA_DIST): Add __fpending.h.
41771         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
41772         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
41773         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
41774         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
41775         * modules/getdate (EXTRA_DIST): Add getdate.c.
41776         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
41777         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
41778         * modules/getpass (EXTRA_DIST): Add getpass.h.
41779         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
41780         * modules/group-member (EXTRA_DIST): Add group-member.h.
41781         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
41782         * modules/hash (EXTRA_DIST): Add hash.h.
41783         * modules/human (EXTRA_DIST): Add human.h.
41784         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
41785         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
41786         * modules/lchown (EXTRA_DIST): Add lchown.h.
41787         * modules/long-options (EXTRA_DIST): Add long-options.h.
41788         * modules/lstat (EXTRA_DIST): Add lstat.h.
41789         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
41790         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
41791         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
41792         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
41793         * modules/memxor (EXTRA_DIST): Add memxor.h.
41794         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
41795         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
41796         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
41797         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
41798         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
41799         * modules/physmem (EXTRA_DIST): Add physmem.h.
41800         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
41801         * modules/posixver (EXTRA_DIST): Add posixver.h.
41802         * modules/quote (EXTRA_DIST): Add quote.h.
41803         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
41804         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
41805         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
41806         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
41807         regex_internal.h regexec.c.
41808         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
41809         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
41810         * modules/same (EXTRA_DIST): Add same.h.
41811         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
41812         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
41813         * modules/savedir (EXTRA_DIST): Add savedir.h.
41814         * modules/sha1 (EXTRA_DIST): Add sha1.h.
41815         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
41816         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
41817         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
41818         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
41819         * modules/strdup (EXTRA_DIST): Add strdup.h.
41820         * modules/strftime (EXTRA_DIST): Add strftime.h.
41821         * modules/strndup (EXTRA_DIST): Add strndup.h.
41822         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
41823         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
41824         * modules/time_r (EXTRA_DIST): Add time_r.h.
41825         * modules/timespec (EXTRA_DIST): Add timespec.h.
41826         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
41827         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
41828         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
41829         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
41830         * modules/userspec (EXTRA_DIST): Add userspec.h.
41831         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
41832         * modules/utimens (EXTRA_DIST): Add utimens.h.
41833         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
41834         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
41835         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
41836         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
41837         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
41838         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
41839         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
41840         * modules/yesno (EXTRA_DIST): Add yesno.h.
41841
41842 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41843
41844         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
41845
41846         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
41847         * m4/dev-ino.m4, same-inode.m4: Remove.
41848
41849         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
41850         * m4/acl.m4 (AC_FUNC_ACL):
41851         * m4/backupfile.m4 (gl_BACKUPFILE):
41852         * m4/c-strtod.m4 (gl_C99_STRTOLD):
41853         * m4/canon-host.m4 (gl_CANON_HOST):
41854         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
41855         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
41856         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
41857         * m4/cloexec.m4 (gl_CLOEXEC):
41858         * m4/close-stream.m4 (gl_CLOSE_STREAM):
41859         * m4/closeout.m4 (gl_CLOSEOUT):
41860         * m4/dirfd.m4 (gl_FUNC_DIRFD):
41861         * m4/dirname.m4 (gl_DIRNAME):
41862         * m4/exclude.m4 (gl_EXCLUDE):
41863         * m4/exitfail.m4 (gl_EXITFAIL):
41864         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
41865         * m4/file-type.m4 (gl_FILE_TYPE):
41866         * m4/filemode.m4 (gl_FILEMODE):
41867         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
41868         * m4/fpending.m4 (gl_FUNC_FPENDING):
41869         * m4/fprintftime.m4 (gl_FPRINTFTIME):
41870         * m4/fts.m4 (gl_FUNC_FTS):
41871         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
41872         * m4/getdate.m4 (gl_GETDATE):
41873         * m4/gethrxtime.m4 (gl_GETHRXTIME):
41874         * m4/getpagesize.m4 (gl_GETPAGESIZE):
41875         * m4/getpass.m4 (gl_FUNC_GETPASS):
41876         * m4/gettime.m4 (gl_GETTIME):
41877         * m4/getugroups.m4 (gl_GETUGROUPS):
41878         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
41879         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
41880         * m4/hard-locale.m4 (gl_HARD_LOCALE):
41881         * m4/hash.m4 (gl_HASH):
41882         * m4/idcache.m4 (gl_IDCACHE):
41883         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
41884         * m4/lchown.m4 (gl_FUNC_LCHOWN):
41885         * m4/long-options.m4 (gl_LONG_OPTIONS):
41886         * m4/lstat.m4 (gl_FUNC_LSTAT):
41887         * m4/md5.m4 (gl_MD5):
41888         * m4/memcasecmp.m4 (gl_MEMCASECMP):
41889         * m4/memcoll.m4 (gl_MEMCOLL):
41890         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
41891         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
41892         * m4/memxor.m4 (gl_MEMXOR):
41893         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
41894         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
41895         * m4/modechange.m4 (gl_MODECHANGE):
41896         * m4/mountlist.m4 (gl_MOUNTLIST):
41897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41898         * m4/openat.m4 (gl_FUNC_OPENAT):
41899         * m4/pathmax.m4 (gl_PATHMAX):
41900         * m4/physmem.m4 (gl_PHYSMEM):
41901         * m4/posixtm.m4 (gl_POSIXTM):
41902         * m4/posixver.m4 (gl_POSIXVER):
41903         * m4/quote.m4 (gl_QUOTE):
41904         * m4/quotearg.m4 (gl_QUOTEARG):
41905         * m4/readtokens.m4 (gl_READTOKENS):
41906         * m4/readutmp.m4 (gl_READUTMP):
41907         * m4/regex.m4 (gl_REGEX):
41908         * m4/safe-read.m4 (gl_SAFE_READ):
41909         * m4/safe-write.m4 (gl_SAFE_WRITE):
41910         * m4/same.m4 (gl_SAME):
41911         * m4/save-cwd.m4 (gl_SAVE_CWD):
41912         * m4/savedir.m4 (gl_SAVEDIR):
41913         * m4/settime.m4 (gl_SETTIME):
41914         * m4/sha1.m4 (gl_SHA1):
41915         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
41916         * m4/stat-macros.m4 (gl_STAT_MACROS):
41917         * m4/stat-time.m4 (gl_STAT_TIME):
41918         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
41919         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
41920         * m4/strdup.m4 (gl_FUNC_STRDUP):
41921         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
41922         * m4/strndup.m4 (gl_FUNC_STRNDUP):
41923         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
41924         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
41925         * m4/time_r.m4 (gl_TIME_R):
41926         * m4/timespec.m4 (gl_TIMESPEC):
41927         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
41928         * m4/unlinkdir.m4 (gl_UNLINKDIR):
41929         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
41930         * m4/userspec.m4 (gl_USERSPEC):
41931         * m4/utimecmp.m4 (gl_UTIMECMP):
41932         * m4/utimens.m4 (gl_UTIMENS):
41933         * m4/xalloc.m4 (gl_XALLOC):
41934         * m4/xgetcwd.m4 (gl_XGETCWD):
41935         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
41936         * m4/xreadlink.m4 (gl_XREADLINK):
41937         * m4/xstrtod.m4 (gl_XSTRTOD):
41938         * m4/yesno.m4 (gl_YESNO):
41939         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
41940         to get the necessary .h files and whatnot.
41941
41942 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
41943             Bruno Haible  <bruno@clisp.org>
41944
41945         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
41946         /bin/sh understanding of '!' conditional negation.
41947
41948 2006-08-21  Jim Meyering  <jim@meyering.net>
41949
41950         * modules/openat (Depends-on): Really alphabetize.
41951
41952         * modules/acl (Depends-on): Add error and quote.
41953
41954         * check-module (find_included_lib_files): Add at-func.c to the
41955         ok-to-include-more-than-once white list.
41956
41957         * modules/openat (Depends-on): Add lstat.  Alphabetize.
41958
41959 2006-08-21  Bruno Haible  <bruno@clisp.org>
41960
41961         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41962         Emit a pkgdata_DATA variable only if some snippets add contents to it.
41963         Reported by Martin Lambers <marlam@marlam.de>.
41964
41965 2006-08-21  Bruno Haible  <bruno@clisp.org>
41966
41967         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
41968         specify an installation location, don't emit a noinst_LIBRARIES or
41969         noinst_LTLIBRARIES assignment.
41970
41971 2006-08-21  Bruno Haible  <bruno@clisp.org>
41972
41973         BeOS portability.
41974         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
41975         BeOS has mbrtowc() but no <wctype.h>.
41976
41977 2006-08-21  Bruno Haible  <bruno@clisp.org>
41978
41979         BeOS portability.
41980         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
41981         exist.
41982
41983 2006-08-21  Bruno Haible  <bruno@clisp.org>
41984
41985         BeOS portability.
41986         * lib/mbchar.h: Include <wctype.h> only if it exists.
41987
41988 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41989
41990         Remove files that are no longer needed by their respective modules.
41991         * m4/obstack.m4: Remove.
41992         * m4/strerror_r.m4: Remove.
41993         * m4/uint32_t.m4: Remove.
41994         * m4/uintptr_t.m4: Remove.
41995         * m4/ullong_max.m4: Remove.
41996         * m4/xstrtoimax.m4: Remove.
41997         * m4/xstrtoumax.m4: Remove.
41998
41999         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
42000         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
42001         dependencies now capture this.
42002
42003         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
42004         Do not use AC_LIBSOURCES, since gnulib modules now do this.
42005         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
42006         * m4/human.m4 (gl_HUMAN): Likewise.
42007         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
42008         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
42009
42010         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
42011
42012         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
42013         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
42014         stdint.
42015         * m4/human.m4 (gl_HUMAN): Likewise.
42016         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
42017         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
42018         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42019         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42020         * m4/xstrtol (gl_XSTRTOL): Likewise.
42021
42022         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
42023         AC_TYPE_LONG_LONG_INT.
42024         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42025         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
42026         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
42027         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42028
42029         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
42030         on stdbool.
42031
42032         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
42033         (gl_PREREQ_XSTRTOUL): Remove.
42034
42035         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
42036
42037         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
42038         mode.
42039
42040 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42041
42042         Add and change modules to make it easier for coreutils to use
42043         gnulib-tool.
42044         * modules/backupfile (Files): Remove m4/d-ino.m4.
42045         (Depends-on): Add d-ino.
42046         * modules/cycle-check (Depends-on): Add stdint.
42047         (lib_SOURCES): Add cycle-check.h.
42048         * modules/d-ino: New module.
42049         * modules/d-type: New module.
42050         * modules/error (Files): Remove m4/strerror_r.m4.
42051         * modules/filemode (Files): Add m4/st_dm_mode.m4.
42052         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
42053         m4/inttypes_h.m4, m4/uintmax_t.m4.
42054         (Depends-on): Add stdint.
42055         (lib_SOURCES): Add fsusage.h.
42056         * modules/getcwd (Files): Remove d-ino.m4.
42057         (Depends-on): Add d-ino.
42058         * modules/getndelim2 (Depends-on): Add stdint.
42059         * modules/glob (Files): Remove m4/d-type.m4.
42060         (Depends-on): Add d-type.
42061         * modules/host-os: New module.
42062         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
42063         m4/inttypes_h.m4, m4/uintmax_t.m4.
42064         * Depends-on: Add stdint.
42065         (lib_SOURCES): Add human.h.
42066         * modules/inttostr (Files): Remove m4/intmax_t.m4,
42067         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
42068         m4/uintmax_t.m4, m4/ulonglong.m4.
42069         (Depends-on): Add stdint.
42070         (EXTRA_DIST): Add inttostr.h.
42071         * modules/lchmod: New module.
42072         * modules/link-follow: New module.
42073         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
42074         (Depends-on): Add lchmod.
42075         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
42076         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
42077         (Depends-on): Add stdint.
42078         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
42079         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
42080         (Depends-on): Add stdint.
42081         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
42082         * modules/perl: New module.
42083         * modules/regex (Depends-on): Add stdint.
42084         * modules/rmdir-errno: New module.
42085         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42086         m4/intmax_t.m4.
42087         (Depends-on): Add stdint.
42088         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42089         m4/uintmax_t.m4.
42090         (Depends-on): Add stdint.
42091         * modules/unlink-busy: New module.
42092         * modules/utimecmp (Depends-on): Add stdint.
42093         * modules/uptime: New module.
42094         * modules/winsz-ioctl: New module.
42095         * modules/winsz-termios: New module.
42096         * modules/xnanosleep (Depends-on): Add nanosleep.
42097         * modules/ullong_max: Remove.
42098         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
42099         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
42100         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
42101         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
42102         (Depends-on): Add inttypes.
42103         (lib_SOURCES): Add xstrtol.h.
42104         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
42105         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
42106         * MODULES.html.sh: Move 'assert' into the assert section.
42107         Move 'dummy' into the linking section.
42108         Remove ullong_max.
42109         Add section for compatibility checks for POSIX:2001 functions,
42110         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
42111         winsz-ioctl, and winsz-termios into it.
42112         Add lchmod.
42113         Add top-level Misc section and put host-os, perl, and uptime
42114         into it.
42115
42116 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42117
42118         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
42119         now assume the stdint module.  Do not include inttypes.h.
42120         * lib/fsusage.h: Likewise.
42121         * lib/getndelim2.c: Likewise.
42122         * lib/human.h: Likewise.
42123         * lib/inttostr.h: Likewise.
42124         * lib/obstack.c: Likewise.
42125         * lib/regex_internal.h: Likewise.
42126         * lib/tempname.c: Likewise.
42127         * lib/utimecmp.c: Likewise.
42128         * lib/xstrtol.h: Likewise.
42129
42130         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
42131
42132         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
42133         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
42134         * lib/xtime.h: Likewise.
42135
42136 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42137
42138         * modules/openat (Files): Add lib/fchmodat.c.
42139         Fixes problem reported by Jay Youngman.
42140
42141 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42142
42143         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
42144         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
42145
42146 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
42147             Bruno Haible  <bruno@clisp.org>
42148
42149         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
42150         and is a script that invokes bison. Tighten the code. Add comments.
42151
42152 2006-08-18  Jim Meyering  <jim@meyering.net>
42153
42154         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
42155         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
42156         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
42157         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
42158
42159 2006-08-18  Bruno Haible  <bruno@clisp.org>
42160
42161         * modules/bison-i18n: New file.
42162         * MODULES.html.sh (Internationalization functions): Add it.
42163
42164 2006-08-18  Bruno Haible  <bruno@clisp.org>
42165
42166         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
42167         sys/statvfs.h. When getmntinfo was found, check its declaration and
42168         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
42169
42170 2006-08-18  Bruno Haible  <bruno@clisp.org>
42171
42172         * m4/bison-i18n.m4: New file, from bison.
42173
42174 2006-08-18  Bruno Haible  <bruno@clisp.org>
42175
42176         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
42177         (ME_DUMMY): Treat "kernfs" as a dummy.
42178         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
42179
42180 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42181
42182         Update from coreutils.
42183
42184         2006-08-15  Jim Meyering  <jim@meyering.net>
42185
42186         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
42187
42188         2006-01-17  Jim Meyering  <jim@meyering.net>
42189
42190         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
42191
42192         2006-01-11  Jim Meyering  <jim@meyering.net>
42193
42194         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
42195         Check for the lchmod function.
42196
42197 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42198
42199         Update from coreutils.
42200
42201         * lib/__fpending.h: Add copyright notice.
42202         * lib/fprintftime.h: Likewise.
42203         * lib/savedir.c: Use (C) in copyright notice.
42204         * lib/savedir.h: Likewise.
42205
42206         2006-08-15  Jim Meyering  <jim@meyering.net>
42207
42208         * lib/at-func.c: New file, with the logic of all emulated at-functions.
42209         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
42210         in support of the EXPECTED_ERRNO macro.
42211         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
42212         definitions.  Instead, define the appropriate symbols and include
42213         "at-func.c".
42214         * lib/mkdirat.c (mkdirat): Likewise.
42215         * lib/fchmodat.c (fchmodat): Likewise.
42216         (ENOSYS): Remove definition.
42217         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
42218         it.  Don't include "unistd--.h" -- it wasn't ever used.
42219
42220         2006-01-17  Jim Meyering  <jim@meyering.net>
42221
42222         Rewrite fts.c not to change the current working directory,
42223         by using openat, fstatat, fdopendir, etc..
42224
42225         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
42226         (HAVE_OPENAT_SUPPORT): Define.
42227         [_LIBC] (fchdir): Don't undef or define; no longer used.
42228         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
42229         Now, this `function' always succeeds, and consumes its file descriptor
42230         parameter -- so callers must not close such FDs.  Update callers.
42231         (diropen_fd, opendirat, cwd_advance_fd): New functions.
42232         (diropen): Add parameter, SP.  Adjust all callers.
42233         Implement using diropen_fd, rather than open.
42234         (fts_open): Initialize new member, fts_cwd_fd.
42235         Remove fts_rft-setting code.
42236         (fts_close): Close fts_cwd_fd, if necessary.
42237         (__opendir2): Define in terms of opendir or opendirat,
42238         depending on whether the FST_NOCHDIR flag is set.
42239         (fts_build): Since fts_safe_changedir consumes its FD, and since
42240         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
42241         and close the dup'd file descriptor upon failure.
42242         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
42243         (fts_safe_changedir): Tweak semantics to reflect that this function
42244         now calls cwd_advance_fd and hence consumes its FD argument.
42245         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
42246         [struct FTS] (fts_rft): Remove now-unused member.
42247         [struct FTS] (fts_cycle.state): Improve comment.
42248
42249         * lib/openat.c (openat_needs_fchdir): New function.
42250         * lib/openat.h (openat_needs_fchdir): Declare it.
42251
42252 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42253
42254         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
42255         Problem and fix reported by Pádraig Brady in
42256         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
42257
42258 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42259
42260         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
42261
42262 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42263
42264         * lib/memcoll.c (memcoll): Optimize for the common case where the
42265         arguments are bytewise equal.
42266
42267 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42268
42269         * doc/regexprops-generic.texi: Add a copyright notice.
42270
42271 2006-08-15  Bruno Haible  <bruno@clisp.org>
42272
42273         * modules/tmpdir (License): Change to LGPL.
42274
42275 2006-08-15  Bruno Haible  <bruno@clisp.org>
42276
42277         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
42278         module.
42279
42280 2006-08-14  Simon Josefsson  <jas@extundo.com>
42281
42282         * config/srclist.txt: Add gnupload.
42283
42284 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42285
42286         Change copyright notice from LGPL 2 to GPL 2, since that's the
42287         standard form used in the gnulib repository.
42288         * tests/test-lock.c: Likewise.
42289         * tests/test-stdint.c: Likewise.
42290         * tests/test-tls.c: Likewise.
42291
42292         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
42293         prelude-manager.  User shorter URLs for GNU projects, without '?'.
42294         Add copyright notice.
42295
42296         * check-module: Add copyright notice.  Output a copyright
42297         notice if "--version" is specified.
42298         * modules/COPYING: New file.
42299         * tests/test-getaddrinfo.c: Add copyright notice.
42300         * tests/test-verify.c: Likewise.
42301
42302 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42303
42304         Change copyright notice from LGPL 2 to GPL 2, since that's the
42305         standard form used in the gnulib repository.
42306         * lib/lock.c: LGPL -> GPL.
42307         * lib/lock.h: Likewise.
42308         * lib/strnlen1.c: Likewise.
42309         * lib/strnlen1.h: Likewise.
42310         * lib/tls.c: Likewise.
42311         * lib/tls.h: Likewise.
42312         * lib/tmpdir.c: Likewise.
42313
42314         * lib/TODO: Remove; this belongs only in coreutils.
42315
42316 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42317
42318         Add copyright notices to long-enough files that lack them, since
42319         otherwise the files aren't clearly free.  Use the same notice that
42320         getdate.texi already uses.
42321         * doc/alloca-opt.texi: Add copyright notice.
42322         * doc/alloca.texi: Likewise.
42323         * doc/ctime.texi: Likewise.
42324         * doc/functions.texi: Likewise.
42325         * doc/gcd.texi: Likewise.
42326         * doc/gnulib-tool.texi: Likewise.
42327         * doc/inet_ntoa.texi: Likewise.
42328         * doc/visibility.texi: Likewise.
42329
42330         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
42331         * doc/quote.texi: Add copyright notice.
42332
42333         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
42334         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
42335         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
42336         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
42337         is now obsolete, and give a pointer to the Sun list.
42338         Add copyright notice.
42339
42340 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42341
42342         * config/srclistvars.sh: Add copyright notice.
42343
42344 2006-08-14  Eric Blake  <ebb9@byu.net>
42345
42346         Import the following change from libc:
42347
42348         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
42349
42350         Upstream bug 2997.
42351         * lib/misc/error.c: Add space between program name and message if file
42352         name is missing.
42353
42354 2006-08-12  Karl Berry  <karl@gnu.org>
42355
42356         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
42357         remove, these originate in gnulib now.
42358
42359 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42360
42361         * doc/Makefile (standards.info standards.html standards.dvi):
42362         Also depend on make-stds.texi.
42363
42364 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42365
42366         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
42367         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
42368
42369         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
42370         in wchar_t.  Problem reported by Eric Blake.
42371
42372         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
42373         LEN is smaller than SIZE.  Suggested by Bruno Haible.
42374         Also, help the compiler to keep LEN in a register.
42375
42376 2006-08-11  Eric Blake  <ebb9@byu.net>
42377
42378         * users.txt: Sort.  Add tar.
42379
42380 2006-08-11  Bruno Haible  <bruno@clisp.org>
42381
42382         * users.txt: New file.
42383
42384 2006-08-11  Bruno Haible  <bruno@clisp.org>
42385
42386         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
42387         before <wchar.h>. Needed for OSF/1 and BSD/OS.
42388
42389 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42390
42391         * modules/snprintf (Depends-on): Remove minmax.
42392         (Maintainer): Add self and Bruno.
42393
42394 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42395
42396         * lib/.cppi-disable: Add snprintf.h, socket_.h.
42397         * lib/snprintf.c: Include <errno.h> and <limits.h>.
42398         (EOVERFLOW): Define if the system does not.
42399         Do not include "minmax.h"; it wasn't used.
42400         (snprintf): Don't assume size_t promotes to an unsigned type.
42401         Fix bug when generated string was too long for the buffer: the
42402         buffer's contents are supposed to be the initial prefix of the
42403         output.  Don't assume vasnprintf returns EOVERFLOW if the size
42404         exceeds INT_MAX; do the check ourselves.
42405
42406         Import the following changes from libc:
42407
42408         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
42409
42410         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
42411         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
42412         set wc to the byte which couldn't be converted.
42413         (re_string_reconstruct): Don't clear valid_raw_len before calling
42414         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
42415         tip_context using re_string_context_at.
42416
42417         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
42418
42419         * lib/posix/regex.h: g++ still cannot handled [restrict].
42420
42421         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
42422
42423         * lib/posix/regex.h: Remove special handling for VMS.
42424
42425 2006-08-10  Jim Meyering  <jim@meyering.net>
42426
42427         * modules/same-inode: New module.
42428         * modules/dev-ino: New module.
42429         * modules/cycle-check: Depend on these modules, rather than simply
42430         including their .h files.
42431         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
42432         required via m4/cycle-check.m4.
42433         * modules/same: Depend on new same-inode module, rather than
42434         including same-inode.h.
42435         * modules/chdir-safer: New file.
42436
42437         * modules/chown (Depends-on): Add stat-macros.
42438
42439 2006-08-10  Jim Meyering  <jim@meyering.net>
42440
42441         * m4/cycle-check.m4: New file.
42442         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
42443         * m4/dev-ino.m4, m4/same-inode.m4: New files.
42444
42445 2006-08-10  Eric Blake  <ebb9@byu.net>
42446
42447         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
42448         in from original proposal.
42449
42450 2006-08-10  Eric Blake  <ebb9@byu.net>
42451         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
42452
42453         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
42454         namespace.
42455
42456 2006-08-10  Bruno Haible  <bruno@clisp.org>
42457
42458         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
42459         as well.
42460
42461 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42462
42463         Sync from coreutils.
42464
42465         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
42466
42467         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
42468         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
42469
42470 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42471
42472         * modules/restrict: Remove; no longer needed now that we assume
42473         Autoconf 2.59 or later.
42474         * MODULES.html.sh: Remove 'restrict'.
42475         * modules/argp (Depends-on): Remove 'restrict'.
42476         * modules/base64 (Depends-on): Likewise.
42477         * modules/gc (Depends-on): Likewise.
42478         * modules/getaddrinfo (Depends-on): Likewise.
42479         * modules/glob (Depends-on): Likewise.
42480         * modules/inet_ntop (Depends-on): Likewise.
42481         * modules/inet_pton (Depends-on): Likewise.
42482         * modules/memxor (Depends-on): Likewise.
42483         * modules/regex (Depends-on): Likewise.
42484         * modules/strtok_r (Depends-on): Likewise.
42485         * modules/time_r (Depends-on): Likewise.
42486
42487 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42488
42489         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
42490         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
42491         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42492         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
42493         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
42494         * m4/memxor.m4 (gl_MEMXOR): Likewise.
42495         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
42496         gl_C_RESTRICT replaced by AC_C_RESTRICT.
42497
42498         Merge from coreutils.
42499         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
42500         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
42501         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42502         * m4/time_r.m4 (gl_TIME_R): Likewise.
42503
42504 2006-08-09  Karl Berry  <karl@gnu.org>
42505
42506         * config/srclist.txt: no more gettext-tools, per Bruno.
42507
42508 2006-08-08  Eric Blake  <ebb9@byu.net>
42509
42510         * modules/verror: New module.
42511         * MODULES.html.sh: Document it.
42512
42513 2006-08-08  Eric Blake  <ebb9@byu.net>
42514
42515         * lib/verror.h, lib/verror.c: New files.
42516
42517 2006-08-08  Eric Blake  <ebb9@byu.net>
42518
42519         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
42520         verror_at_line output complies with GNU Coding Standards even when
42521         file is NULL.
42522
42523 2006-08-07  Bruno Haible  <bruno@clisp.org>
42524
42525         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
42526         versions of AIX.
42527         Reported by Ralf Wildenhues.
42528
42529 2006-08-07  Bruno Haible  <bruno@clisp.org>
42530
42531         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
42532         in an AC_DEFUN. Needed so that the autoconf snippets can use
42533         AC_REQUIRE.
42534
42535 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42536
42537         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42538         Initialize pkgdata_DATA.
42539         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
42540         overriding it.
42541
42542 2006-08-06  Eric Blake  <ebb9@byu.net>
42543
42544         * lib/error.h: Fold in some upstream changes from glibc.
42545         * lib/error.c: Likewise.
42546
42547 2006-08-04  Bruno Haible  <bruno@clisp.org>
42548
42549         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42550         Make the mostlyclean-local rule depend on mostlyclean-generic.
42551         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
42552
42553 2006-07-31  Bruno Haible  <bruno@clisp.org>
42554
42555         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
42556         <stdlib.h>, <string.h>.
42557
42558 2006-07-30  Bruno Haible  <bruno@clisp.org>
42559
42560         * modules/readlink (License): Change to LGPL.
42561
42562 2006-07-30  Bruno Haible  <bruno@clisp.org>
42563
42564         * modules/javaversion (Makefile.am): Distribute javaversion.java and
42565         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
42566         set PKGDATADIR to point to it.
42567
42568 2006-07-30  Bruno Haible  <bruno@clisp.org>
42569
42570         * modules/csharpexec (configure.ac): Comment out macro invocation.
42571         * modules/javaexec (configure.ac): Likewise.
42572         * modules/javacomp-script (configure.ac): Likewise.
42573
42574         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
42575
42576 2006-07-30  Bruno Haible  <bruno@clisp.org>
42577
42578         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
42579         linked-list.
42580
42581 2006-07-30  Bruno Haible  <bruno@clisp.org>
42582
42583         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
42584
42585 2006-07-30  Bruno Haible  <bruno@clisp.org>
42586
42587         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42588         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
42589         get removed.
42590
42591 2006-07-29  Bruno Haible  <bruno@clisp.org>
42592
42593         Make it possible for gnulib-tool to work with locally modified or
42594         augmented gnulib repositories.
42595         * gnulib-tool (func_usage): Document --local-dir option.
42596         (local_gnulib_dir): New variable.
42597         Handle --local-dir option.
42598         (func_lookup_file): New function.
42599         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
42600         (func_get_description, func_get_filelist, func_get_description,
42601         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
42602         func_get_automake_snippet, func_get_include_directive,
42603         func_get_license, func_get_maintainer): Use func_lookup_file.
42604         (func_import, func_create_testdir): Use func_lookup_file.
42605
42606 2006-07-29  Bruno Haible  <bruno@clisp.org>
42607
42608         * modules/setenv (Depends-on): Add unistd.
42609
42610 2006-07-29  Bruno Haible  <bruno@clisp.org>
42611
42612         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
42613
42614 2006-07-29  Bruno Haible  <bruno@clisp.org>
42615
42616         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
42617
42618 2006-07-29  Bruno Haible  <bruno@clisp.org>
42619
42620         * gnulib-tool (import, update): If there is no Makefile.am, look at
42621         aclocal.m4, instead of bailing out.
42622
42623 2006-07-29  Bruno Haible  <bruno@clisp.org>
42624
42625         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
42626         Categorize the options by when they are useful.
42627
42628 2006-07-29  Bruno Haible  <bruno@clisp.org>
42629
42630         * gnulib-tool (func_usage): Document option --no-libtool.
42631         Handle option --no-libtool.
42632         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
42633         for changed semantics of $libtool variable.
42634         (func_import): Likewise. If libtool is not used, show this through
42635         an option --no-libtool.
42636         (func_create_testdir): Update.
42637
42638 2006-07-29  Bruno Haible  <bruno@clisp.org>
42639
42640         * gnulib-tool (func_import): Extend error message about missing
42641         --doc-base.
42642
42643 2006-07-29  Bruno Haible  <bruno@clisp.org>
42644
42645         * gnulib-tool (func_import): Don't create the $docbase directory if
42646         there is no file to store there.
42647
42648 2006-07-29  Bruno Haible  <bruno@clisp.org>
42649
42650         * gnulib-tool (autoconf_minversion): If a --dir option is given and
42651         relevant, look for configure.ac there, not in the current directory.
42652         Also use a simple search for AC_PREREQ, not "autoconf --trace".
42653
42654 2006-07-29  Bruno Haible  <bruno@clisp.org>
42655
42656         * gnulib-tool (SORT): New variable.
42657         (func_usage): Undocument --assume-autoconf option.
42658         Remove --assume-autoconf option handling.
42659         (autoconf_minversion): Determine from the contents of configure.ac.
42660         (func_import): Remove autoconf_minversion handling.
42661         Suggested by Eric Blake.
42662
42663 2006-07-29  Bruno Haible  <bruno@clisp.org>
42664
42665         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
42666
42667 2006-07-29  Bruno Haible  <bruno@clisp.org>
42668
42669         * config/srclist.txt (*setenv.[ch]): Remove rules.
42670
42671 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42672
42673         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
42674
42675 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42676
42677         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
42678         arpa/inet.h.
42679
42680 2006-07-28  Simon Josefsson  <jas@extundo.com>
42681
42682         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
42683         * modules/inet_pton (Depends-on): Likewise.
42684
42685 2006-07-28  Simon Josefsson  <jas@extundo.com>
42686
42687         * m4/netinet_in_h.m4: New file.
42688
42689 2006-07-28  Simon Josefsson  <jas@extundo.com>
42690
42691         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
42692         #include's.
42693
42694 2006-07-28  Simon Josefsson  <jas@extundo.com>
42695
42696         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
42697         #include's.
42698
42699 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
42700
42701         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
42702         setgid on directories only if they set these bits.
42703         * lib/modechange.h: Remove obsolete comment about masks.
42704
42705 2006-07-28  Eric Blake  <ebb9@byu.net>
42706
42707         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
42708         macro expansion.
42709
42710 2006-07-28  Bruno Haible  <bruno@clisp.org>
42711
42712         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
42713
42714 2006-07-28  Bruno Haible  <bruno@clisp.org>
42715
42716         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
42717
42718 2006-07-28  Bruno Haible  <bruno@clisp.org>
42719
42720         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42721         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
42722         Define fallbacks.
42723         Avoids link error on FreeBSD 4.x.
42724         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42725
42726         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
42727         encoding.
42728         * lib/mbswidth.c (iswcntrl): Likewise.
42729
42730 2006-07-27  Bruno Haible  <bruno@clisp.org>
42731
42732         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
42733         test.
42734
42735 2006-07-27  Bruno Haible  <bruno@clisp.org>
42736
42737         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
42738         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
42739         defined.
42740
42741 2006-07-26  Eric Blake  <ebb9@byu.net>
42742
42743         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
42744
42745 2006-07-26  Eric Blake  <ebb9@byu.net>
42746
42747         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
42748         like mingw that lack mkstemp.
42749         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
42750         avoid compilation warning on mingw.
42751
42752 2006-07-26  Bruno Haible  <bruno@clisp.org>
42753
42754         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
42755         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
42756         INT_FAST*_MIN, INTPTR_MIN.
42757
42758 2006-07-25  Bruno Haible  <bruno@clisp.org>
42759
42760         * modules/version-etc (Depends-on): Add stdarg.
42761
42762 2006-07-25  Bruno Haible  <bruno@clisp.org>
42763
42764         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
42765         complex commands.
42766
42767 2006-07-25  Bruno Haible  <bruno@clisp.org>
42768
42769         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
42770         defined in <stdarg.h> or config.h.
42771
42772 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
42773
42774         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
42775         (gl_STDIO_SAFER): Remove.
42776
42777 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
42778
42779         * MODULES.html.sh (File stream based Input/Output):
42780         Add fopen-safer, tmpfile-safer; remove stdio-safer.
42781         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
42782         * modules/fopen-safer, modules/tmpfile-safer: New files.
42783         * modules/stdio-safer: Remove.
42784
42785 2006-07-24  Bruno Haible  <bruno@clisp.org>
42786
42787         * modules/tmpdir: New file.
42788         * MODULES.html.sh (File system functions): Add it.
42789
42790 2006-07-24  Bruno Haible  <bruno@clisp.org>
42791
42792         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
42793         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
42794
42795 2006-07-24  Bruno Haible  <bruno@clisp.org>
42796
42797         * modules/clean-temp: New file.
42798
42799 2006-07-24  Bruno Haible  <bruno@clisp.org>
42800
42801         * m4/tmpdir.m4: New file, from GNU gettext.
42802
42803 2006-07-24  Bruno Haible  <bruno@clisp.org>
42804
42805         * lib/tmpdir.h: New file, from GNU gettext.
42806         * lib/tmpdir.c: New file, from GNU gettext.
42807
42808 2006-07-24  Bruno Haible  <bruno@clisp.org>
42809
42810         * lib/clean-temp.h: New file, from GNU gettext.
42811         * lib/clean-temp.c: New file, from GNU gettext.
42812
42813 2006-07-23  Eric Blake  <ebb9@byu.net>
42814
42815         * modules/stdio-safer (Files): Add tmpfile-safer.c.
42816         (Depends-on): Add binary-io.
42817
42818 2006-07-23  Eric Blake  <ebb9@byu.net>
42819
42820         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
42821
42822 2006-07-23  Eric Blake  <ebb9@byu.net>
42823
42824         * lib/tmpfile-safer.c: New file.
42825         * lib/stdio-safer.h (fopen_safer): Add prototype.
42826         * lib/stdio--.h (tmpfile): Make safer.
42827
42828 2006-07-23  Bruno Haible  <bruno@clisp.org>
42829
42830         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
42831         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
42832         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
42833         gl_linked_remove_at): Use it.
42834
42835 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42836         and Simon Josefsson <jas@extundo.com>
42837
42838         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
42839
42840         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
42841
42842 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42843
42844         * modules/close-stream: New file.
42845         * modules/closeout (Description): Make it clear that it exits
42846         with a diagnostic on error.
42847         (Depends-on): Add close-stream.  Remove fpending, stdbool.
42848         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
42849
42850 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42851
42852         * m4/close-stream.m4: New file.
42853
42854 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42855
42856         * lib/close-stream.c, lib/close-stream.h: New files.
42857
42858 2006-07-22  Bruno Haible  <bruno@clisp.org>
42859
42860         Merge from GNU gettext 0.15.
42861
42862         2006-05-01  Bruno Haible  <bruno@clisp.org>
42863
42864                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
42865
42866         2006-07-22  Bruno Haible  <bruno@clisp.org>
42867
42868                 * modules/javaversion: New file.
42869                 * MODULES.html.sh (Java): Add javaversion.
42870
42871         2006-03-12  Bruno Haible  <bruno@clisp.org>
42872
42873                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
42874
42875         2005-12-04  Bruno Haible  <bruno@clisp.org>
42876
42877                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
42878                 (untested).
42879
42880         2006-06-21  Bruno Haible  <bruno@clisp.org>
42881
42882                 Avoid warnings from recent versions of mcs.
42883                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
42884                 -o, -L, -r any more. Use options documented since mcs-1.0
42885                 instead. Similarly for -g.
42886
42887         2005-12-04  Bruno Haible  <bruno@clisp.org>
42888
42889                 * build-aux/csharpcomp.sh.in: Suffix for resources is
42890                 .resources, not .resource.
42891
42892         2005-07-09  Bruno Haible  <bruno@clisp.org>
42893
42894                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
42895                 add a .dll suffix.
42896                 Reported by Mark Junker <mjscod@gmx.de>.
42897
42898         2006-07-22  Bruno Haible  <bruno@clisp.org>
42899
42900                 * modules/gettext: Upgrade to gettext-0.15.
42901                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
42902                 m4/visibility.m4.
42903                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
42904
42905 2006-07-22  Bruno Haible  <bruno@clisp.org>
42906
42907         Merge from GNU gettext 0.15.
42908
42909         2006-03-25  Bruno Haible  <bruno@clisp.org>
42910
42911                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
42912
42913         2006-07-21  Bruno Haible  <bruno@clisp.org>
42914
42915                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
42916                 "1.1".
42917
42918         2006-05-09  Bruno Haible  <bruno@clisp.org>
42919
42920                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
42921                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
42922                 for the conftestver execution.
42923
42924         2006-05-01  Bruno Haible  <bruno@clisp.org>
42925
42926                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
42927                 optional target-version argument. Verify that the compiler
42928                 groks source of the specified source-version, or add -source
42929                 option as necessary. Verify that the compiler produces
42930                 bytecode in the specified target-version, or add -target and
42931                 -source options as necessary. Make the result of the test
42932                 available as variable CONF_JAVAC. Also log error output in
42933                 config.log.
42934
42935         2006-03-11  Bruno Haible  <bruno@clisp.org>
42936
42937                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
42938
42939         2006-05-09  Bruno Haible  <bruno@clisp.org>
42940
42941                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
42942                 CLASSPATH_SEPARATOR to a semicolon.
42943
42944         2006-03-12  Bruno Haible  <bruno@clisp.org>
42945
42946                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
42947                 available as variable CONF_JAVA, for subsequent autoconf
42948                 tests. Also log error output in config.log.
42949
42950         2006-07-19  Bruno Haible  <bruno@clisp.org>
42951
42952                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
42953                 that getline works on glibc2 systems. Needed to avoid trouble
42954                 in relocatable.c.
42955                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
42956
42957         2005-12-04  Bruno Haible  <bruno@clisp.org>
42958
42959                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
42960                 launcher (untested).
42961
42962         2005-12-04  Bruno Haible  <bruno@clisp.org>
42963
42964                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
42965
42966         2006-07-22  Bruno Haible  <bruno@clisp.org>
42967
42968                 * gettext.m4: Update from GNU gettext-0.15.
42969                 * nls.m4: Likewise.
42970                 * po.m4: Likewise.
42971                 * inttypes-pri.m4: Likewise.
42972                 * inttypes-h.m4: Renamed from inttypes.m4.
42973                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
42974
42975 2006-07-22  Bruno Haible  <bruno@clisp.org>
42976
42977         Merge from GNU gettext 0.15.
42978
42979         2005-07-05  Bruno Haible  <bruno@clisp.org>
42980
42981                 * printf-args.c (printf_fetchargs): Work around broken
42982                 definition of wint_t on mingw.
42983
42984         2005-02-12  Bruno Haible  <bruno@clisp.org>
42985
42986                 * xallocsa.h: Add extern "C" for C++.
42987
42988         2006-05-17  Bruno Haible  <bruno@clisp.org>
42989
42990                 Cygwin portability.
42991                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
42992
42993         2006-04-30  Bruno Haible  <bruno@clisp.org>
42994
42995                 * progreloc.c: Include <mach-o/dyld.h> if available.
42996                 (find_executable): Use _NSGetExecutablePath when possible.
42997
42998         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42999
43000                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
43001                 function.
43002
43003         2005-12-29  Bruno Haible  <bruno@clisp.org>
43004
43005                 * progreloc.c (set_program_name_and_installdir): Fix
43006                 compilation error.
43007
43008         2005-12-04  Bruno Haible  <bruno@clisp.org>
43009
43010                 Cygwin portability.
43011                 * progreloc.c: Include <windows.h> also on Cygwin.
43012                 (find_executable): Add support for Cygwin.
43013                 (set_program_name_and_installdir): Handle also platforms with
43014                 nonempty EXEEXT.
43015
43016         2006-07-11  Bruno Haible  <bruno@clisp.org>
43017
43018                 * javacomp.c: Fix a comment.
43019                 Reported by Jim Meyering.
43020
43021         2006-04-30  Bruno Haible  <bruno@clisp.org>
43022
43023                 * javacomp.h (compile_java_class): Add source_version,
43024                 target_version arguments.
43025                 * javacomp.c: Rewritten to choose only a compiler that
43026                 respects the specified source_version and target_version.
43027
43028         2006-06-27  Bruno Haible  <bruno@clisp.org>
43029
43030                 Assume correct S_ISDIR macro.
43031                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
43032
43033         2006-07-22  Bruno Haible  <bruno@clisp.org>
43034
43035                 * javaversion.h: New file, from GNU gettext.
43036                 * javaversion.c: New file, from GNU gettext.
43037                 * javaversion.java: New file, from GNU gettext.
43038                 * javaversion.class: New file, from GNU gettext.
43039
43040         2006-05-17  Bruno Haible  <bruno@clisp.org>
43041
43042                 Cygwin portability.
43043                 * javaexec.c (execute_java_class): Test for jview program
43044                 also on Cygwin.
43045
43046         2006-04-09  Bruno Haible  <bruno@clisp.org>
43047
43048                 * fatal-signal.c: Don't include string.h.
43049                 (at_fatal_signal): Use a copying loop instead of memcpy.
43050
43051         2005-12-04  Bruno Haible  <bruno@clisp.org>
43052
43053                 * csharpexec.c: Add support for 'clix' launcher (untested).
43054                 (execute_csharp_using_sscli): New function.
43055                 (execute_csharp_program): Call it.
43056
43057         2006-06-21  Bruno Haible  <bruno@clisp.org>
43058
43059                 Avoid warnings from recent versions of mcs.
43060                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
43061                 -o, -L, -r any more. Use options documented since mcs-1.0
43062                 instead. Similarly for -g.
43063
43064         2005-07-09  Bruno Haible  <bruno@clisp.org>
43065
43066                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
43067                 add a .dll suffix.
43068                 Reported by Mark Junker <mjscod@gmx.de>.
43069
43070         2006-06-17  Bruno Haible  <bruno@clisp.org>
43071
43072                 * config.charset: Update for NetBSD 3.0.
43073
43074         2006-05-17  Bruno Haible  <bruno@clisp.org>
43075
43076                 Cygwin portability.
43077                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
43078
43079         2006-05-16  Bruno Haible  <bruno@clisp.org>
43080
43081                 * localcharset.c [CYGWIN]: Include <windows.h>.
43082                 (get_charset_aliases): For Cygwin, return the same CPxxx
43083                 aliases list as under WIN32.
43084                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
43085                 the environment variables. Fall back to GetACP().
43086
43087         2006-04-05  Bruno Haible  <bruno@clisp.org>
43088
43089                 * config.charset: Update Juan Manuel Guerrero's address.
43090
43091         2005-02-12  Bruno Haible  <bruno@clisp.org>
43092
43093                 * allocsa.h: Add extern "C" for C++.
43094
43095         2005-02-10  Bruno Haible  <bruno@clisp.org>
43096
43097                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
43098                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
43099
43100         2006-07-22  Bruno Haible  <bruno@clisp.org>
43101
43102                 * gettext.h: Update to GNU gettext-0.15.
43103
43104 2006-07-22  Bruno Haible  <bruno@clisp.org>
43105
43106         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
43107         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
43108         lib-prefix.m4, longdouble.m4, ssize_t.m4.
43109
43110 2006-07-21  Eric Blake  <ebb9@byu.net>
43111
43112         * modules/stdlib-safer: New file.
43113         * MODULES.html.sh (File stream based Input/Output): Add
43114         stdlib-safer.
43115
43116 2006-07-21  Eric Blake  <ebb9@byu.net>
43117
43118         * lib/stdlib-safer.h: New file from coreutils, required by
43119         stdlib--.h.
43120
43121 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
43122
43123         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
43124
43125 2006-07-20  Bruno Haible  <bruno@clisp.org>
43126
43127         * gnulib-tool: Recognize new option --assume-autoconf.
43128         (autoconf_minversion): New variable.
43129         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
43130
43131 2006-07-20  Bruno Haible  <bruno@clisp.org>
43132
43133         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
43134
43135 2006-07-19  Derek R. Price  <derek@ximbiot.com>
43136
43137         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
43138         Reindent and repaginate.
43139
43140 2006-07-19  Derek Price  <derek@ximbiot.com>
43141
43142         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
43143         Correct grammar.
43144
43145 2006-07-17  Bruno Haible  <bruno@clisp.org>
43146
43147         * modules/list: New file.
43148         * modules/array-list: New file.
43149         * modules/carray-list, modules/carray-list-tests: New files.
43150         * modules/linked-list, modules/linked-list-tests: New files.
43151         * modules/avltree-list, modules/avltree-list-tests: New files.
43152         * modules/rbtree-list, modules/rbtree-list-tests: New files.
43153         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
43154         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
43155         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
43156         * modules/oset: New file.
43157         * modules/array-oset: New file.
43158         * modules/avltree-oset, modules/avltree-oset-tests: New files.
43159         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
43160         * tests/test-carray_list.c: New file.
43161         * tests/test-linked_list.c: New file.
43162         * tests/test-avltree_list.c: New file.
43163         * tests/test-rbtree_list.c: New file.
43164         * tests/test-linkedhash_list.c: New file.
43165         * tests/test-avltreehash_list.c: New file.
43166         * tests/test-rbtreehash_list.c: New file.
43167         * tests/test-avltree_oset.c: New file.
43168         * tests/test-rbtree_oset.c: New file.
43169         * MODULES.html.sh (Container data structures): New section.
43170
43171 2006-07-17  Bruno Haible  <bruno@clisp.org>
43172
43173         * m4/gl_list.m4: New file.
43174
43175 2006-07-17  Bruno Haible  <bruno@clisp.org>
43176
43177         * lib/gl_list.h: New file.
43178         * lib/gl_list.c: New file.
43179         * lib/gl_array_list.h: New file.
43180         * lib/gl_array_list.c: New file.
43181         * lib/gl_carray_list.h: New file.
43182         * lib/gl_carray_list.c: New file.
43183         * lib/gl_linked_list.h: New file.
43184         * lib/gl_linked_list.c: New file.
43185         * lib/gl_anylinked_list1.h: New file.
43186         * lib/gl_anylinked_list2.h: New file.
43187         * lib/gl_avltree_list.h: New file.
43188         * lib/gl_avltree_list.c: New file.
43189         * lib/gl_anyavltree_list1.h: New file.
43190         * lib/gl_anyavltree_list2.h: New file.
43191         * lib/gl_rbtree_list.h: New file.
43192         * lib/gl_rbtree_list.c: New file.
43193         * lib/gl_anyrbtree_list1.h: New file.
43194         * lib/gl_anyrbtree_list2.h: New file.
43195         * lib/gl_anytree_list1.h: New file.
43196         * lib/gl_anytree_list2.h: New file.
43197         * lib/gl_linkedhash_list.h: New file.
43198         * lib/gl_linkedhash_list.c: New file.
43199         * lib/gl_anyhash_list1.h: New file.
43200         * lib/gl_anyhash_list2.h: New file.
43201         * lib/gl_avltreehash_list.h: New file.
43202         * lib/gl_avltreehash_list.c: New file.
43203         * lib/gl_rbtreehash_list.h: New file.
43204         * lib/gl_rbtreehash_list.c: New file.
43205         * lib/gl_anytreehash_list1.h: New file.
43206         * lib/gl_anytreehash_list2.h: New file.
43207
43208         * lib/gl_oset.h: New file.
43209         * lib/gl_oset.c: New file.
43210         * lib/gl_array_oset.h: New file.
43211         * lib/gl_array_oset.c: New file.
43212         * lib/gl_avltree_oset.h: New file.
43213         * lib/gl_avltree_oset.c: New file.
43214         * lib/gl_rbtree_oset.h: New file.
43215         * lib/gl_rbtree_oset.c: New file.
43216         * lib/gl_anytree_oset.h: New file.
43217
43218 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43219
43220         * m4/mkancesdirs.m4: New file.
43221         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
43222         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
43223         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
43224         it.
43225
43226 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43227
43228         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
43229         * lib/mkancesdirs.h: New files.
43230         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
43231         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
43232         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
43233         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
43234         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
43235         callers changed.  Revamp internals significantly, by not
43236         attempting to create directories that are temporarily more
43237         permissive than the final results.  Do not attempt to use
43238         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
43239         This removes some race conditions, fixes some bugs, and simplifies
43240         things.  Use new dirchownmod function to do owner and mode changes.
43241         * lib/mkdir-p.h: Likewise.
43242         * lib/modechange.c (octal_to_mode): New function.
43243         (struct mode_change): New member mentioned.
43244         (make_node_op_equals): New arg mentioned.  All callers changed.
43245         (mode_compile): Keep track of which mode bits the user has explicitly
43246         mentioned.
43247         (mode_adjust): New arg DIR, so that we implement the X op correctly.
43248         New arg PMODE_BITS, to keep track of which mode bits the user
43249         mentioned; it treats S_ISUID and S_ISGID speciall.
43250         All callers changed.
43251         * lib/modechange.h: Likewise.
43252
43253 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43254
43255         * MODULES.html.sh: Add mkancestors.
43256         * modules/mkancesdirs: New module.
43257         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
43258         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
43259         The chdir-safer and afs files are now orphans; I'll remove them
43260         unless someone speaks up.
43261         Add lib/dirchownmod.c, lib/dirchownmod.h.
43262         (Depends-on): Remove alloca, chown, save-cwd, dirname.
43263         Add lchown, mkancesdirs.
43264         (Maintainer): Add self.
43265
43266 2006-07-15  Karl Berry  <karl@gnu.org>
43267
43268         * gnulib-tool: help message wording/arrangement.
43269
43270 2006-07-14  Simon Josefsson  <jas@extundo.com>
43271
43272         * doc/gnulib.texi (Libtool and Windows): New section.
43273
43274 2006-07-12  Simon Josefsson  <jas@extundo.com>
43275
43276         * modules/gendocs (License): Fix license, approved by Karl.
43277
43278 2006-07-12  Eric Blake  <ebb9@byu.net>
43279
43280         * MODULES.html.sh: Add gendocs.
43281
43282 2006-07-11  Eric Blake  <ebb9@byu.net>
43283
43284         * modules/fdl: New module, to install doc/fdl.texi.
43285         * MODULES.html.sh: Add new section for documentation modules.
43286         * gnulib-tool: Avoid space-tab.
43287         (--doc-base): New option, to manage files from doc.
43288
43289 2006-07-11  Eric Blake  <ebb9@byu.net>
43290
43291         * m4/absolute-header.m4: Fix comments to match recent change.
43292
43293 2006-07-11  Eric Blake  <ebb9@byu.net>
43294
43295         * gnulib-tool: List --doc-base before --tests-base.
43296
43297 2006-07-11  Derek R. Price  <derek@ximbiot.com>
43298
43299         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
43300
43301 2006-07-11  Bruno Haible  <bruno@clisp.org>
43302
43303         * README: Mention where to put documentation.
43304
43305 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43306
43307         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
43308
43309 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43310
43311         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
43312         to stdint.m4.
43313
43314 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43315
43316         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
43317         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
43318         "no/such/file/stdint.h" when there is no such file, so that
43319         the resulting C code can be parsed by dodgy compilers.
43320         Problems reported by Bob Proulx.
43321
43322 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43323
43324         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
43325         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43326         macros into the GNU _D_EXACT_NAMLEN.
43327         * lib/savedir.c:  Likewise.
43328         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
43329
43330 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43331         and Paul Eggert  <eggert@cs.ucla.edu>
43332
43333         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
43334         * m4/savedir.m4:
43335         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43336         macros into the GNU _D_EXACT_NAMLEN.
43337
43338 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43339
43340         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
43341         around the absolute name, to work around a problem with the HP-UX
43342         11.23 native C compiler, reported by Bob Proulx.
43343
43344 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43345
43346         * doc/maintain.texi, make-stds.texi: Sync from
43347         <http://savannah.gnu.org/projects/gnustandards>.
43348
43349 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43350
43351         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
43352
43353 2006-07-09  Jim Meyering  <jim@meyering.net>
43354
43355         * m4/glob.m4: Remove a doubled word in a comment.
43356
43357 2006-07-09  Jim Meyering  <jim@meyering.net>
43358
43359         * lib/argp-pv.c: Remove a doubled word in a comment.
43360         * lib/check-version.c (check_version): Likewise.
43361         * lib/javacomp.c (compile_java_class): Likewise.
43362
43363 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43364
43365         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
43366         for the benefit of people using Autoconf 2.60.  If you want to
43367         support older Autoconf versions you can copy m4/onceonly_2_57.m4
43368         (or m4/onceonly.m4, if pre-2.57) manually.
43369
43370 2006-07-08  Jim Meyering  <jim@meyering.net>
43371
43372         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
43373         comment.
43374         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
43375         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
43376         comment.
43377
43378 2006-07-08  Jim Meyering  <jim@meyering.net>
43379
43380         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
43381
43382 2006-07-07  Simon Josefsson  <jas@extundo.com>
43383
43384         * tests/test-crc.c: Change expected crc value, the test vector
43385         were probably computed using the old broken crc.c?
43386
43387 2006-07-06  Simon Josefsson  <jas@extundo.com>
43388
43389         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
43390         now the canonical place for the M4 file).
43391
43392         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
43393         from the sys_socket dependency now.
43394
43395         * modules/inet_pton (Files): Ditto.
43396
43397         * modules/inet_ntop (Files): Ditto.
43398
43399 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43400
43401         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
43402         not gl_PREREQ_GETUSERSHELL.
43403
43404 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43405
43406         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
43407         with only one argument, for Autoconf 2.60.
43408         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
43409         expand to nothing, so add a shell command to avoid syntax error.
43410         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43411
43412 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43413
43414         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
43415
43416 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43417
43418         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
43419         no longer needed.  Check for isblank decl.
43420         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
43421         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
43422         of existence.
43423
43424 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43425
43426         * lib/getloadavg.c: Use __VMS, not VMS.
43427         * lib/getopt.c: Likewise.
43428         * lib/getpagesize.h: Likewise.
43429         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
43430         and probably does not work.
43431
43432 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43433
43434         * lib/.cppi-disable: Add wcwidth.
43435         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
43436         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
43437         (ISGRAPH): Remove.  All uses changed to isgraph.
43438         (FOLD) [!defined _LIBC]: Remove special case.
43439         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
43440         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
43441         HAVE_ISBLANK.
43442         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
43443         case.
43444
43445 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
43446
43447         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
43448         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
43449         brackets.  Other minor changes to suppress some compiler
43450         warnings.
43451
43452 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43453         and Paul Eggert  <eggert@cs.ucla.edu>
43454
43455         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
43456         of invoking obsolescent AC_HEADER_DIRENT macro.
43457         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
43458         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
43459         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43460         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
43461         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
43462         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
43463         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
43464         * m4/readdir.m4: Remove; no longer needed.
43465
43466 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43467         and Paul Eggert  <eggert@cs.ucla.edu>
43468
43469         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
43470         Don't worry about this obsolete case any more.
43471         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
43472         directories.
43473         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
43474         worry about this obsolete case any more.
43475         * lib/fts.c: Likewise.
43476         * lib/getcwd.c: Likewise.
43477         * lib/glob.h: Likewise.
43478         * lib/savedir.c: Likewise.
43479
43480 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43481
43482         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
43483         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
43484         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
43485         needed.
43486         All uses removed.
43487         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43488         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43489         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
43490         needed.
43491         * m4/getdate.m4 (gl_GETDATE): Likewise.
43492         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43493         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43494         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43495         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43496         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43497         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43498         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
43499         needed.
43500
43501 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43502
43503         * lib/memcasecmp.c: Include <limits.h>.
43504         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
43505         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
43506         Don't assume isdigit succeeds only on '0' through '9'.
43507
43508 2006-07-05  Eric Blake  <ebb9@byu.net>
43509
43510         * modules/getaddrinfo (Depends-on): Add snprintf.
43511
43512 2006-07-05  Eric Blake  <ebb9@byu.net>
43513
43514         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
43515         to avoid 'header present but could not be compiled' on cygwin.
43516
43517 2006-07-05  Eric Blake  <ebb9@byu.net>
43518
43519         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
43520         missing from netdb.h.
43521         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
43522
43523 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43524
43525         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
43526         no longer needed.
43527         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
43528         * m4/getdate.m4 (gl_GETDATE): Likewise.
43529         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43530         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43531         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43532         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43533         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43534
43535 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43536
43537         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
43538         All uses of is_space replaced by isspace.
43539         * lib/exit.h: Don't talk about STDC_HEADERS.
43540         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
43541         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
43542         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
43543         replaced by isprint etc.
43544         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
43545         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43546         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
43547         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
43548         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
43549         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43550
43551 2006-07-05  Bruno Haible  <bruno@clisp.org>
43552
43553         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
43554         the function exists, before testing against AIX.
43555         Reported by Martin Lambers <marlam@marlam.de>.
43556
43557 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43558
43559         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
43560         From Mark D. Baushke.
43561
43562 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43563
43564         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
43565         to the absolute name, not just one, to bypass Sun C 5.8's
43566         "warning: #include of /usr/include/... may be non-portable".
43567
43568 2006-07-04  Eric Blake  <ebb9@byu.net>
43569
43570         * modules/dirname-tests: New test module.
43571         * tests/test-dirname.c: New file, replacing dirname.c
43572         TEST_DIRNAME section that was recently deleted.
43573
43574 2006-07-04  Bruno Haible  <bruno@clisp.org>
43575
43576         Assume ANSI C header files and <ctype.h> functions.
43577         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
43578         (mbsnwidth): Use isprint, iscntrl instead.
43579
43580 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43581
43582         Merge from coreutils.
43583         * MODULES.html.sh: Add xstrtold.
43584         * modules/xstrtold: New file.
43585         * modules/cycle-check (Files): Add lib/same-inode.h.
43586         * modules/dirname (Files): Add m4/double-slash-root.m4.
43587         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
43588         * modules/mkdir-p (Files): Add lib/same-inode.h.
43589         * modules/same (Files): Add lib/same-inode.h.
43590
43591 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43592
43593         * m4/absolute-header.m4: Renamed from full-header-path.m4.
43594         This is to keep the terminology clean; POSIX talks about
43595         "absolute pathnames", not "full pathnames", but the GNU
43596         Coding Standards say to use "path" for something else;
43597         so use "absolute" to keep both sides happy.
43598         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
43599         Set gl_absolute_header, not gl_full_header_path.
43600         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
43601         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
43602         All uses changed.
43603
43604         Merge from coreutils.
43605
43606         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
43607
43608         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
43609         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
43610         want to require the building of c-strtod.o.
43611         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
43612         needs -lm directly.
43613         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
43614
43615         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
43616
43617         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
43618         --as-needed option if available.  Problem reported by Albert Chin in
43619         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
43620         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
43621         cc merely issues a bunch of annoying warnings for --as-needed
43622         (this problem was reported by Bob Proulx).  Also, try linking with
43623         -lm to detect a bug in binutils 2.16 (this problem was reported
43624         by Ralf Wildenhues).
43625
43626         2006-06-18  Jim Meyering  <jim@meyering.net>
43627
43628         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
43629         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
43630         macro.
43631         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
43632         also check for glibc-2.4's abort-inducing bug.
43633
43634         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
43635         Low-probability clean-up should be to use rmdir to get rid of
43636         the just-created directory, not unlink.
43637
43638         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
43639         configure fail, and request a bug report to inform us about it.
43640         Add a comment that, barring reports to the contrary, in 2007 we'll
43641         assume ftruncate is universally available.
43642
43643         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
43644
43645         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
43646
43647         2006-03-12  Jim Meyering  <jim@meyering.net>
43648
43649         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
43650         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
43651         * m4/same.m4 (gl_SAME): Likewise.
43652         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
43653
43654         2006-03-11  Eric Blake  <ebb9@byu.net>
43655
43656         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
43657         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
43658         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
43659         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
43660
43661 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43662
43663         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
43664         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
43665         reported by Mark D. Baushke, one in
43666         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
43667
43668         Merge from coreutils.
43669
43670         * lib/.cppi-disable: Add stdint_.h.
43671         * lib/.cvsignore: Add stdint.h.
43672
43673         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
43674
43675         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
43676         both double and long double versions.
43677         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
43678         * lib/xstrtold.c: New file.
43679         * lib/xstrtod.h (xstrtold): New decl.
43680
43681         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
43682
43683         * lib/filemode.c (setst): Remove.
43684         (strmode): Rewrite to avoid setst.  This makes the code shorter,
43685         (arguably) clearer, and the generated code is a bit smaller on my
43686         Debian GNU/Linux stable x86 host.
43687
43688         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
43689
43690         * lib/filemode.c: Include "filemode.h" first, to test the interface.
43691         Assume that filemode.h includes sys/types.h and sys/stat.h.
43692         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
43693         (ftypelet): Reorder to put common cases first, for efficiency.
43694         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
43695         to do 'M'.
43696         (strmode): Renamed from mode_string, and now stores 12 bytes instead
43697         of 10, for compatibility with FreeBSD.  All callers changed.
43698         (filemodestring): Now stores 12 bytes instead of 10, and sets file
43699         types that can't be deduced solely from st_mode.  First arg is now a
43700         const pointer.
43701         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
43702         (strmode): Renamed from mode_string.
43703         (filemodestring): New decl.
43704         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
43705         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
43706         needed.
43707         (S_ISPORT, S_ISWHT): New macros, if not already defined.
43708
43709         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
43710
43711         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
43712         fsusage.h now does that.  Include fsusage.h first, to test interface.
43713         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
43714         at most one method (the old code could have generated decls that
43715         didn't conform to C89, not that this was ever exercised).
43716         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
43717
43718         2006-03-19  Jim Meyering  <jim@meyering.net>
43719
43720         Work even in a chroot where d_ino values for entries in "/"
43721         don't match the stat.st_ino values for the same names.
43722         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
43723         number, iterate through all entries again, using lstat instead.
43724         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
43725         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
43726
43727         * lib/getcwd.c (__getcwd): Clarify a comment.
43728         Use memcpy in place of a call to strcpy.
43729
43730         2006-03-12  Jim Meyering  <jim@meyering.net>
43731
43732         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
43733         matches that of the current directory (which we're about to chdir ".."
43734         out of), then save the dev-ino of the parent, instead.
43735
43736         * lib/same-inode.h (SAME_INODE): New file/macro.
43737         * lib/chdir-safer.c (SAME_INODE): Remove definition.
43738         Include "same-inode.h", instead.
43739         * lib/same.c: Likewise.
43740         * lib/cycle-check.h: Include "same-inode.h".
43741         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
43742         * lib/cycle-check.c (SAME_INODE): Remove definition.
43743         * lib/root-dev-ino.h: Include "same-inode.h".
43744
43745         2006-03-11  Eric Blake  <ebb9@byu.net>
43746
43747         * lib/same.c (same_name): s/base_name/last_component/
43748         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
43749         * lib/filenamecat.c (file_name_concat): Likewise.
43750
43751         2006-03-11  Eric Blake  <ebb9@byu.net>,
43752                     Paul Eggert  <eggert@cs.ucla.edu>
43753
43754         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
43755         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
43756         drive prefix.
43757         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
43758         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
43759         (last_component): New method.
43760         * lib/dirname.c (dir_len): Determine when drive letters need a
43761         subsequent slash.  Preserve // when it is special.
43762         (dir_name): Don't append dot when drive letter is absolute.
43763         [TEST_DIRNAME]: Move into a full-blown gnulib test.
43764         * lib/basename.c (base_name): New semantics - malloc the result.
43765         Preserve // when it is special.  Preserve relative files that look
43766         like drive letters.
43767         (base_len): Preserve // when it is special.
43768         (last_component): New method, similar to old base_name semantics.
43769         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
43770         base_name.  Strip redundant slashes from ///.
43771
43772 2006-07-03  Jim Meyering  <jim@meyering.net>
43773
43774         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
43775         macro is used before the first cycle_check call.
43776
43777 2006-07-03  Eric Blake  <ebb9@byu.net>
43778
43779         * modules/dirname (Depends-on): Add xstrndup.
43780
43781 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43782
43783         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
43784         test cases, so that config.log is a bit easier to follow.
43785
43786 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43787
43788         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
43789         both are 64 bits, since this seems to be the tradition, and this
43790         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
43791         we ever run into a host that prefers long long to long in this
43792         case, we'll need another configure-time test.  Problem reported by
43793         Jim Meyering.
43794
43795 2006-07-02  Eric Blake  <ebb9@byu.net>
43796
43797         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
43798
43799 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43800
43801         * modules/inttypes (Depends-on): No longer depends on stdint.
43802         * modules/stdint (Description): Say more about assumptions.
43803         Say that the fast types might differ.  Say macros are used.
43804         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
43805         (Makefile.am): Revise list of substituted symbols to match
43806         new stdint.m4.
43807         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
43808         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
43809         * tests/test-stdint.c (verify_same_types)
43810         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
43811         the code conforms to C99/C89.
43812         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
43813         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
43814
43815 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43816
43817         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
43818         but fix a bug, by requiring at least 64 bits.
43819         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43820         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
43821         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
43822         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
43823
43824         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
43825         changes.  Make 2.59 a prerequisite.  Check and substitute for
43826         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
43827         inttypes.h.  Do not use special include files; just use the
43828         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
43829         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
43830         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
43831         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
43832         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
43833         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
43834         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
43835         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
43836         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
43837         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
43838         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
43839         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
43840         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
43841         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
43842         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
43843         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
43844         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
43845         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
43846         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
43847         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
43848         WINT_MAX.  Check for C99 conformance more strictly, by detecting
43849         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
43850         not check for things that C99 does not require, e.g., int8_t.  If
43851         a test isn't needed unless <stdint.h> isn't working, and is
43852         unlikely to be needed for any other reason, then don't do it
43853         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
43854         size_t, since we assume C89 freestanding at least.  Do not check
43855         for sig_atomic_t, wchar_t, or wint_t, since the code now does
43856         the right thing even if the types are not defined.  Instead use:
43857         (gl_STDINT_TYPE_PROPERTIES): New macro.
43858         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
43859         testing whether <sys/types.h> clashes, as Autoconf does this for
43860         us now.  All uses removed.
43861         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
43862         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
43863         (gl_CHECK_TYPE_SAME):
43864         Remove; no longer needed.
43865         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
43866         exists, since we'll return 0 anyway in that case.
43867         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
43868
43869 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43870
43871         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
43872         possible collision with system files.
43873         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
43874         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
43875         WCHAR_MIN and WCHAR_MAX in this case.
43876         (<stddef.h>): Do not include; no longer needed.
43877         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
43878         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
43879         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
43880         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
43881         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
43882         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
43883         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
43884         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
43885         !defined(__c99))]: Include in this case too, since it's harmless
43886         now.
43887         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
43888         dangerous to do so.
43889         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
43890         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
43891         (_STDINT_MIN, _STDINT_MAX): New macros.
43892         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
43893         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
43894         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
43895         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
43896         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
43897         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
43898         macros, not typedefs; this simplifies things quite a bit.
43899         Use long int for all types narrower than int64_t.
43900         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
43901         Define in terms of long long int or int64_t or long int,
43902         not int64_t or int32_t.  This saves some compile-time testing.
43903         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
43904         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
43905         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
43906         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
43907         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
43908         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
43909         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
43910         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
43911         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
43912         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
43913         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
43914         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
43915         undef any previous version and define our own version, for
43916         simplicity and consistency with the new macros for types.
43917         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
43918         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
43919         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
43920         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
43921         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
43922         @WINT_T_SUFFIX@ to keep things simple here.
43923         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
43924         Simplify by assuming typical 8/16/32/64 host, since we're
43925         already doing that elsewhere anyway.
43926         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
43927         and assume long long int is 64 bits if available.  This
43928         speeds up 'configure'.
43929
43930 2006-07-01  Eric Blake  <ebb9@byu.net>
43931
43932         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
43933         Reported by Andreas Buening.
43934
43935 2006-07-01  Eric Blake  <ebb9@byu.net>
43936
43937         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
43938
43939 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
43940
43941         * lib/getaddrinfo.c: fixed typo
43942
43943 2006-06-29  Jim Meyering  <jim@meyering.net>
43944
43945         * modules/strftime (Maintainer): Add my name, since with the
43946         FPRINTFTIME changes strftime.c has forked from glibc.
43947
43948 2006-06-29  Eric Blake  <ebb9@byu.net>
43949
43950         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
43951
43952 2006-06-29  Eric Blake  <ebb9@byu.net>
43953
43954         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
43955
43956 2006-06-29  Eric Blake  <ebb9@byu.net>
43957
43958         * lib/stat_.h: New file.
43959
43960 2006-06-29  Eric Blake  <ebb9@byu.net>
43961
43962         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
43963         unused static function.
43964
43965 2006-06-29  Eric Blake  <ebb9@byu.net>
43966
43967         * doc/functions.texi (Function Portability): Document missing lstat
43968         on mingw.
43969
43970 2006-06-29  Eric Blake  <ebb9@byu.net>
43971
43972         * MODULES.html.sh: Add sys_stat.
43973         * modules/sys_stat: New module.
43974         * modules/mkstemp (Depends-on): Add sys_stat.
43975
43976 2006-06-29  Derek R. Price  <derek@ximbiot.com>
43977
43978         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
43979
43980 2006-06-29  Derek R. Price  <derek@ximbiot.com>
43981
43982         * m4/c-bs-a.m4: Removed.
43983
43984 2006-06-29  Derek R. Price  <derek@ximbiot.com>
43985
43986         * lib/strftime.c: Assume strftime() exists.
43987
43988 2006-06-29  Derek Price  <derek@ximbiot.com>
43989
43990         * modules/c-bs-a: Removed - \a is C89.
43991         * MODULES.html.sh: Remove c-bs-a.
43992
43993 2006-06-29  Bruno Haible  <bruno@clisp.org>
43994
43995         * modules/wcwidth (License): Change to LGPL.
43996
43997 2006-06-28  Simon Josefsson  <jas@extundo.com>
43998
43999         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
44000         on _WIN32.
44001
44002         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
44003         getnameinfo.
44004
44005 2006-06-28  Simon Josefsson  <jas@extundo.com>
44006
44007         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
44008
44009 2006-06-28  Simon Josefsson  <jas@extundo.com>
44010
44011         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
44012         functions there.  It will succeed on Windows XP, but on Windows
44013         2000 and (presumably) earlier, it will fail, and use the internal
44014         re-implementation.
44015         (use_win32_p): New function.
44016         (getaddrinfo): Use strtoul on servname, to support numeric ports.
44017         Support AI_NUMERICSERV to disable getservbyname.
44018         (getnameinfo): New function, only supports
44019         NI_NUMERICHOST|NI_NUMERICSERV for now.
44020
44021         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
44022         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
44023         getnameinfo.
44024
44025 2006-06-28  Eric Blake  <ebb9@byu.net>
44026
44027         * modules/wcwidth: New file.
44028         * modules/mbchar (Depends-on): Add wcwidth.
44029         * modules/mbswidth (Depends-on): Add wcwidth.
44030         * MODULES.html.sh: Add wcwidth.
44031
44032 2006-06-28  Eric Blake  <ebb9@byu.net>
44033
44034         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
44035         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
44036
44037 2006-06-28  Eric Blake  <ebb9@byu.net>
44038
44039         * lib/xvasprintf.h: Fix comments.
44040
44041 2006-06-28  Eric Blake  <ebb9@byu.net>
44042
44043         * lib/mbchar.h (wcwidth): Include wcwidth.h.
44044         * lib/mbswidth.c (wcwidth): Move from here...
44045         * lib/wcwidth.h: ...to this new file.
44046
44047 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44048
44049         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
44050
44051         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
44052         it's obsolete.
44053         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
44054
44055 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44056
44057         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
44058         Autoconf 2.60 says this stuff was obsolete.
44059
44060 2006-06-28  Bruno Haible  <bruno@clisp.org>
44061
44062         * modules/wcwidth (Files): Add m4/wchar_t.m4.
44063
44064 2006-06-28  Bruno Haible  <bruno@clisp.org>
44065
44066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
44067         gt_TYPE_WCHAR_T.
44068
44069 2006-06-28  Bruno Haible  <bruno@clisp.org>
44070
44071         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
44072         declaration for wcwidth.
44073         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
44074
44075 2006-06-28  Bruno Haible  <bruno@clisp.org>
44076
44077         * lib/mkdtemp.c [MINGW]: Include <io.h>.
44078         (mkdir): Define using _mkdir.
44079
44080 2006-06-28  Bruno Haible  <bruno@clisp.org>
44081
44082         * lib/getaddrinfo.h: Fix POSIX URL.
44083         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
44084         _WIN32.
44085         (use_win32_p): Make static.
44086         (getaddrinfo): Reject service name if it is empty or does not consist
44087         solely of decimal digits, or if its value is > 65535.
44088         (getnameinfo): Remove useless casts.
44089
44090 2006-06-27  Simon Josefsson  <jas@extundo.com>
44091
44092         * modules/sys_select: New file, suggested by Bruno Haible, Paul
44093         Eggert and Martin Lambers.
44094
44095 2006-06-27  Simon Josefsson  <jas@extundo.com>
44096
44097         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
44098         Eggert and Martin Lambers.
44099
44100 2006-06-27  Bruno Haible  <bruno@clisp.org>
44101
44102         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
44103         result to 0, not to empty.
44104         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
44105
44106 2006-06-27  Bruno Haible  <bruno@clisp.org>
44107
44108         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
44109
44110 2006-06-26  Simon Josefsson  <jas@extundo.com>
44111
44112         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
44113         present.
44114
44115 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
44116
44117         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
44118         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
44119         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
44120
44121 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
44122
44123         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
44124
44125 2006-06-26  Bruno Haible  <bruno@clisp.org>
44126
44127         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
44128
44129 2006-06-26  Bruno Haible  <bruno@clisp.org>
44130
44131         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
44132
44133 2006-06-26  Bruno Haible  <bruno@clisp.org>
44134
44135         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
44136         SGI C compiler in pre-C99 mode.
44137         Suggested by Mark D. Baushke and Larry Jones.
44138
44139 2006-06-26  Bruno Haible  <bruno@clisp.org>
44140
44141         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
44142         WCHAR_MAX.
44143         Reported by Mark D. Baushke and Larry Jones.
44144
44145 2006-06-26  Bruno Haible  <bruno@clisp.org>
44146
44147         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
44148         in pre-C99 mode.
44149         Suggested by Mark D. Baushke and Larry Jones.
44150
44151 2006-06-23  Simon Josefsson  <jas@extundo.com>
44152             Bruno Haible  <bruno@clisp.org>
44153
44154         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
44155         Emit mostlyclean-local rule.
44156         (func_emit_tests_Makefile_am): Likewise.
44157         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
44158
44159 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
44160
44161         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
44162
44163 2006-06-23  Bruno Haible  <bruno@clisp.org>
44164
44165         * tests/test-stdint.c: Update to match ISO C 99 Technical
44166         Corrigendum 1.
44167
44168 2006-06-23  Bruno Haible  <bruno@clisp.org>
44169
44170         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
44171
44172 2006-06-23  Bruno Haible  <bruno@clisp.org>
44173
44174         * lib/stdint_.h: Treat IRIX like OpenBSD.
44175
44176 2006-06-23  Bruno Haible  <bruno@clisp.org>
44177
44178         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
44179         ISO C 99 Technical Corrigendum 1.
44180
44181 2006-06-22  Simon Josefsson  <jas@extundo.com>
44182
44183         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
44184         MinGW.
44185
44186 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44187
44188         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
44189         needed.  Some compiler complained about some of them.  Problem reported
44190         by Larry Jones in
44191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
44192
44193 2006-06-21  Simon Josefsson  <jas@extundo.com>
44194
44195         * tests/test-getaddrinfo.c: New file.
44196
44197         * modules/getaddrinfo-tests: New file.
44198
44199         * MODULES.html.sh: Add inet_pton.
44200
44201         * modules/inet_pton: New file.
44202
44203 2006-06-21  Simon Josefsson  <jas@extundo.com>
44204
44205         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
44206         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
44207         of using the (limited) gnulib implementation on Windows XP.
44208
44209         * m4/inet_pton.m4: New file.
44210
44211 2006-06-21  Simon Josefsson  <jas@extundo.com>
44212
44213         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
44214         variable.
44215
44216         * lib/socket_.h: Don't define WINVER.
44217
44218         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
44219         slightly modified to work in gnulib.
44220
44221 2006-06-21  Simon Josefsson  <jas@extundo.com>
44222
44223         * doc/gnulib.texi (Windows sockets): Add.
44224
44225 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44226
44227         * lib/read-file.c (fread_file): Start with buffer allocation of
44228         0 bytes rather than 1 byte; this simplifies the code.
44229         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
44230         code to free buffer and save/restore errno.
44231         (internal_read_file): Remove unused local.
44232
44233 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44234
44235         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
44236         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
44237         Problem reported by Denis Excoffier in
44238         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
44239
44240 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44241
44242         * modules/sys_socket, modules/socklen: Include sys/types since
44243         FreeBSD 4.x's sys/socket.h needs it.
44244
44245 2006-06-19  Simon Josefsson  <jas@extundo.com>
44246
44247         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
44248
44249 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44250
44251         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
44252
44253 2006-06-19  Bruno Haible  <bruno@clisp.org>
44254
44255         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
44256         and FULL_PATH_INTTYPES_H in angle brackets.
44257         Reported by Mark D. Baushke <mdb@gnu.org>.
44258
44259 2006-06-17  Eric Blake  <ebb9@byu.net>
44260
44261         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
44262         errno.
44263
44264 2006-06-17  Bruno Haible  <bruno@clisp.org>
44265
44266         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
44267         <sys/inttypes.h>.
44268
44269 2006-06-17  Bruno Haible  <bruno@clisp.org>
44270
44271         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
44272         whether errno is declared. Assume <errno.h> declares errno.
44273
44274 2006-06-17  Bruno Haible  <bruno@clisp.org>
44275
44276         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
44277
44278 2006-06-17  Bruno Haible  <bruno@clisp.org>
44279
44280         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
44281         problem on Solaris 2.5.1.
44282
44283 2006-06-16  Eric Blake  <ebb9@byu.net>
44284
44285         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
44286         * lib/unicodeio.c [!defined errno]: Likewise.
44287         * lib/strtol.c [!defined errno]: Likewise.
44288         * lib/strtod.c [!defined errno]: Likewise.
44289
44290 2006-06-15  Eric Blake  <ebb9@byu.net>
44291
44292         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
44293
44294 2006-06-15  Eric Blake  <ebb9@byu.net>
44295
44296         * config/srclist.txt (ssize_t.m4): Lose sync.
44297
44298 2006-06-15  Bruno Haible  <bruno@clisp.org>
44299
44300         * modules/stdint (Files): Include m4/full-header-path.m4,
44301         m4/size_max.m4, m4/wchar_t.m4.
44302         (Makefile.am): Many more substitutions.
44303         * modules/stdint-tests: New file.
44304         * tests/test-stdint.c: New file.
44305
44306 2006-06-15  Bruno Haible  <bruno@clisp.org>
44307
44308         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
44309         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
44310         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
44311         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
44312         gl_CHECK_TYPE_SAME): New macros.
44313
44314 2006-06-15  Bruno Haible  <bruno@clisp.org>
44315
44316         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
44317
44318 2006-06-15  Bruno Haible  <bruno@clisp.org>
44319
44320         * lib/stdint_.h: Rewritten to be fully auto-configured.
44321         Fixes bug on HP-UX/IA64.
44322
44323 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
44324
44325         * lib/getdate.y (__attribute__): Don't define if already defined.
44326         Problem reported by Larry Jones.
44327         * lib/utimens.c (__attribute__): Likewise.
44328
44329 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
44330
44331         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
44332         reported by Andreas Schwab.
44333
44334 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44335             Bruno Haible  <bruno@clisp.org>
44336
44337         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
44338         check for the declaration of strnlen and a run test that exposes the
44339         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
44340         rpl_strndup.
44341
44342 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44343             Bruno Haible  <bruno@clisp.org>
44344
44345         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
44346
44347 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44348
44349         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
44350         compile test, for Tru64 4.0D.
44351
44352 2006-05-28  Karl Berry  <karl@gnu.org>
44353
44354         * config/srclist.txt (printf-args.c): lose sync.
44355
44356 2006-05-26  Martin Lambers  <marlam@marlam.de>
44357
44358         * lib/getpass.c: Updates the test for the native W32 API, and adds
44359         missing includes, thus fixing compilation warnings.
44360
44361 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44362
44363         * lib/exclude.c (exclude_fnmatch): New function.
44364         (excluded_file_name): Call exclude_fnmatch.
44365         * lib/exclude.h (excluded_file_name): New prototype
44366
44367 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
44368
44369         * lib/tempname.c (small_open, large_open): New macros.
44370         (__open, __open64) [!_LIBC]: Remove.
44371         (__gen_tempname): Use small_open and large_open instead of __open
44372         and __open64.  This fixes a portability bug on HP-UX 11.11i
44373         reported by Simon Wing-Tang in
44374         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
44375
44376 2006-05-24  Bruno Haible  <bruno@clisp.org>
44377
44378         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
44379         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
44380         Reported by Thorsten Maerz <torte@netztorte.de> via
44381         Aaron Stone <aaron@serendipity.cx>.
44382
44383 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44384
44385         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
44386         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
44387         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
44388         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
44389         not really conditional on the cache.
44390         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
44391
44392 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44393
44394         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
44395         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
44396         (my_usleep): Don't mishandle maximum value.
44397
44398 2006-05-19  Jim Meyering  <jim@meyering.net>
44399
44400         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
44401
44402 2006-05-17  Bruno Haible  <bruno@clisp.org>
44403
44404         Cygwin portability.
44405         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
44406
44407 2006-05-17  Bruno Haible  <bruno@clisp.org>
44408
44409         * lib/stdint_.h: Fix recognition of Cygwin.
44410
44411 2006-05-15  Bruno Haible  <bruno@clisp.org>
44412
44413         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
44414         on libtool patch by Ralf Wildenhues.
44415
44416 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44417
44418         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
44419         test for C99 conformance; (bool) 0.5 is an integer constant
44420         expression, but (bool) -0.5 is not.  Problem reported by Fedor
44421         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
44422
44423 2006-05-11  Simon Josefsson  <jas@extundo.com>
44424
44425         * m4/xvasprintf.m4: Fix obvious typo.
44426
44427 2006-05-11  Jim Meyering  <jim@meyering.net>
44428
44429         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
44430         James Lemley.
44431
44432 2006-05-10  Simon Josefsson  <jas@extundo.com>
44433
44434         * lib/md4.c: Typo fix, update copyright years.
44435         (K1, K2): Don't use L because it turn computations into 64-bit on
44436         64-bit platforms.
44437
44438 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
44439
44440         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
44441         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
44442         unwanted sign propagation, e.g., on hosts with 64-bit int.
44443         There still are some problems with reeelly weird theoretical hosts
44444         (e.g., 33-bit int) but it's not worth worrying about now.
44445         * lib/sha1.c (rol): Likewise.
44446         (K1, K2, K3, K4): Remove unnecessary L suffix.
44447
44448 2006-05-10  Bruno Haible  <bruno@clisp.org>
44449
44450         * lib/des.c: Cast to avoid warnings.
44451
44452 2006-05-09  Bruno Haible  <bruno@clisp.org>
44453
44454         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
44455         (Depends-on): Depend also on xsize, stdarg.
44456         (configure.ac): Add gl_XVASPRINTF.
44457
44458 2006-05-09  Bruno Haible  <bruno@clisp.org>
44459
44460         * m4/xvasprintf.m4: New file.
44461
44462 2006-05-09  Bruno Haible  <bruno@clisp.org>
44463
44464         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
44465         (EOVERFLOW): Define fallback value.
44466         (xstrcat): New function.
44467         (xvasprintf): Recognize the special case of a string concatenation.
44468
44469 2006-05-08  Eric Blake  <ebb9@byu.net>
44470
44471         * gnulib-tool (func_version): Base copyright year on CVS date.
44472         (func_emit_copyright_notice): New function.
44473         (func_emit_lib_Makefile_am): Use it.
44474         (func_emit_tests_Makefile_am): Likewise.
44475         (func_import): Likewise.
44476
44477 2006-05-08  Bruno Haible  <bruno@clisp.org>
44478
44479         * modules/stdarg: New file.
44480         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
44481
44482 2006-05-08  Bruno Haible  <bruno@clisp.org>
44483
44484         * m4/stdarg.m4: New file, from GNU gettext.
44485
44486 2006-05-08  Bruno Haible  <bruno@clisp.org>
44487
44488         * config/srclist.txt (build-aux/config.rpath): different from latest
44489         release.
44490
44491 2006-05-08  Bruno Haible  <bruno@clisp.org>
44492
44493         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
44494
44495 2006-05-05  Jim Meyering  <jim@meyering.net>
44496
44497         * m4/warning.m4: New file, derived from bison's file by the same name.
44498
44499 2006-05-03  Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/stdint_.h: Shorter URL.
44502         * lib/inttypes.h: Likewise.
44503
44504 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44505
44506         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
44507
44508 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44509
44510         * lib/verify.h: Document the internals better.  Most of this change
44511         was written by Bruno Haible.
44512
44513 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44514
44515         * doc/verify.texi: New file, partly based on a proposal by
44516         Bruno Haible.
44517
44518 2006-05-02  Bruno Haible  <bruno@clisp.org>
44519
44520         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
44521         test from here...
44522         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
44523
44524 2006-04-29  Bruno Haible  <bruno@clisp.org>
44525
44526         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
44527         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
44528
44529 2006-04-29  Bruno Haible  <bruno@clisp.org>
44530
44531         * gnulib-tool: Make --update option actually work.
44532
44533 2006-04-29  Bruno Haible  <bruno@clisp.org>
44534
44535         * doc/gcd.texi: New file.
44536         * doc/gnulib.texi: Include it.
44537
44538 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
44539
44540         * lib/getdate.y (get_date): When adding relative date, start with the
44541         initial time, not with the result of the first mktime call.
44542
44543 2006-04-25  Bruno Haible  <bruno@clisp.org>
44544
44545         * gnulib-tool (func_import): Output the include directives in three
44546         blocks, sorted separately.
44547         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44548
44549 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44550
44551         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
44552         to define main with arguments, for C++.  Reported by Eric Blake.
44553         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
44554         Prefer 'int main ()' to 'int main (void)', for C++.
44555         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
44556         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
44557         for 'main', for C99 and C++.
44558
44559 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44560
44561         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
44562         Don't assume that exit status -1 is valid.
44563         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44564         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44565         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44566         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
44567         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
44568         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
44569         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
44570         functions can be used without declaring them, or that you can
44571         exit with status -1.
44572         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
44573
44574 2006-04-24  Karl Berry  <karl@gnu.org>
44575
44576         * config/srclist.txt (longdouble.m4): sync lost.
44577
44578 2006-04-24  Eric Blake  <ebb9@byu.net>
44579
44580         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
44581
44582 2006-04-24  Bruno Haible  <bruno@clisp.org>
44583
44584         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
44585         poll() implementation in AIX.
44586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44587
44588 2006-04-24  Bruno Haible  <bruno@clisp.org>
44589
44590         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
44591         assigned exactly once.
44592
44593 2006-04-23  Claudio Fontana  <claudio@gnu.org>
44594             Bruno Haible  <bruno@clisp.org>
44595
44596         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
44597         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
44598         for AM_CPPFLAGS.
44599
44600 2006-04-23  Bruno Haible  <bruno@clisp.org>
44601
44602         * modules/copy-file: Depend on unistd.
44603         * modules/execute: Likewise.
44604         * modules/fatal-signal: Likewise.
44605         * modules/findprog: Likewise.
44606         * modules/mkdtemp : Likewise.
44607         * modules/pipe: Likewise.
44608         * modules/wait-process: Likewise.
44609
44610 2006-04-23  Bruno Haible  <bruno@clisp.org>
44611
44612         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
44613         condition was already detected.
44614         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44615
44616 2006-04-23  Bruno Haible  <bruno@clisp.org>
44617
44618         * lib/copy-file.c: Include <unistd.h> unconditionally.
44619         * lib/execute.c: Likewise.
44620         * lib/fatal-signal.c: Likewise.
44621         * lib/findprog.c: Likewise.
44622         * lib/mkdtemp.c: Likewise.
44623         * lib/pipe.h: Likewise.
44624         * lib/pipe.c: Likewise.
44625         * lib/wait-process.h: Likewise.
44626
44627 2006-04-23  Bruno Haible  <bruno@clisp.org>
44628
44629         * gnulib-tool (func_usage): Fix --import description. Document
44630         --update.
44631         (func_import): Create temporary file in a temporary directory, if
44632         --dry-run is specified. Silence errors from 'grep' when there are no
44633         m4 files in $m4dir.
44634         (func_create_testdir): Silence errors from 'grep' when there are no
44635         m4 files in $m4dir.
44636         Reported by Karl Berry <karl@freefriends.org>.
44637
44638 2006-04-20  Bruno Haible  <bruno@clisp.org>
44639
44640         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
44641         one argument, so that the code will be portable to Autoconf 2.60.
44642         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
44643         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
44644         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
44645
44646 2006-04-19  Derek Price  <derek@ximbiot.com>
44647             Eric Blake  <ebb9@byu.net>
44648
44649         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
44650         rather than "/full/path.h".  Update comment to match.  Shorten &
44651         generalize m4_translit call via AS_TR_CPP.
44652
44653 2006-04-19  Derek Price  <derek@ximbiot.com>
44654             Eric Blake  <ebb9@byu.net>
44655
44656         * lib/inttypes.h: Correct grammar in comment.
44657
44658 2006-04-18  Derek Price  <derek@ximbiot.com>
44659             Paul Eggert  <eggert@cs.ucla.edu>
44660
44661         * modules/inttypes: New file.
44662         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
44663
44664 2006-04-18  Derek Price  <derek@ximbiot.com>
44665             Paul Eggert  <eggert@cs.ucla.edu>
44666
44667         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
44668         New files.
44669
44670 2006-04-18  Derek Price  <derek@ximbiot.com>
44671             Paul Eggert  <eggert@cs.ucla.edu>
44672
44673         * lib/inttypes.h: New file.
44674         * lib/strtoimax.c: Assume <inttypes.h>.
44675
44676 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
44677
44678         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
44679         isn't mounted.  Problem reported by Kir Kolyshkin.
44680
44681 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
44682
44683         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
44684         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
44685         Derek R. Price.
44686         * lib/regex.h (RE_DUP_MAX): Update comment to match current
44687         implementation.
44688
44689 2006-04-12  Eric Blake  <ebb9@byu.net>
44690
44691         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
44692         is now done automatically by the corresponding Autoconf macro.
44693
44694 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
44695
44696         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
44697         time_r.h.
44698
44699 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44700
44701         Merge regex changes from libc, removing some of our
44702         POSIX-conformance changes that were rejected and redoing them in a
44703         less-intrusive way.
44704
44705         * lib/regcomp.c (re_compile_internal, init_dfa):
44706         Length arg is now size_t, not Idx.  All uses changed.
44707         (peek_token): Forward decl now says internal_function.
44708         (__re_error_msgid, __re_error_msgid_idx):
44709         Now static rather than extern with attribute_hidden.
44710         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
44711         For some reason libc prefers K&R style defns for external functions.
44712         (regerror) [!defined _LIBC]: Likewise.
44713         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
44714         (seek_collating_symbol_entry, lookup_collation_sequence_value):
44715         (build_range_exp, build_collating_symbol):
44716         Use K&R-style defn.
44717         (re_compile_fastmap): Use '\0' to memset, not 0.
44718         (utf8_sb_map): Make the calculations more obvious.
44719         (init_dfa, parse_bracket_exp, build_charclass_op):
44720         Call calloc and cast result, as glibc does.
44721         (init_word_char, fetch_token, peek_token, peek_token_bracket):
44722         (build_range_exp, build_collating_symbol):
44723         Now internal functions.
44724
44725         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
44726
44727         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
44728         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
44729         Don't depend on VMS; depend on __VMS instead, for POSIX
44730         namespace cleanness.
44731         (regoff_t): Define to ssize_t, not long int.
44732
44733         Remove the REG_ macros named below.  Instead, make the old names
44734         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
44735         __USE_GNU_REGEX.
44736         (REG_BACKSLASH_ESCAPE_IN_LISTS):
44737         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
44738         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
44739         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
44740         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
44741         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
44742         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
44743         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
44744         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
44745         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
44746         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
44747         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
44748         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
44749         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
44750         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
44751         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
44752         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
44753         (REG_NREGS):
44754         Remove.  All uses replaced by the old RE_* names.
44755         (RE_BACKSLASH_ESCAPE_IN_LISTS):
44756         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
44757         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
44758         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
44759         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
44760         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
44761         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
44762         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
44763         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
44764         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
44765         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
44766         Don't bother having these macros be independent of each others'
44767         values, since they no longer exist in the POSIX name space.
44768
44769         Rename the following member names back to their old names,
44770         unless !__USE_GNU_REGEX.  All uses changed back.
44771         (buffer): Renamed from re_buffer.
44772         (allocated): Renamed from re_allocated.
44773         (used): Renamed from re_used.
44774         (syntax): Renamed from re_syntax.
44775         (fastmap): Renamed from re_fastmap.
44776         (translate): Renamed from re_translate.
44777         (can_be_null): Renamed from re_can_be_null.
44778         (regs_allocated): Renamed from re_regs_allocated.
44779         (fastmap_accurate): Renamed from re_fastmap_accurate.
44780         (no_sub): Renamed from re_no_sub.
44781         (not_bol): Renamed from re_not_bol.
44782         (not_eol): Renamed from re_not_eol.
44783         (newline_anchor): Renamed from re_newline_anchor.
44784         (num_regs): Renamed from rm_num_regs.
44785         (start): Renamed from rm_start.
44786         (end): Renamed from rm_end.
44787
44788         (free_state): Move up a bit.
44789
44790         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
44791         #define to be empty.
44792         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
44793         when that is what is intended.
44794         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
44795         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
44796         (MAX): New macro.
44797         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
44798         All uses changed back to re_malloc, etc.  It's now the caller's
44799         responsibility to check for overflow; all callers changed.
44800         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
44801         (re_x2nrealloc): Remove.
44802         (free_state): Remove decl.
44803
44804         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
44805         (re_set_registers, re_exec):
44806         Use K&R-style defn.
44807
44808         2006-01-31  Roland McGrath  <roland@redhat.com>
44809
44810         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
44811         Reported by Mike Frysinger <vapier@gentoo.org>.
44812
44813         2006-01-15  Andreas Jaeger  <aj@suse.de>
44814
44815         [BZ #1950]
44816         * lib/regex_internal.c (re_string_reconstruct): Adjust for
44817         build_wcs_upper_buffer change.
44818         (build_wcs_upper_buffer): Change return type.
44819
44820         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
44821
44822         * lib/regex_internal.h: Include <stdint.h> if available.
44823
44824         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
44825
44826         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
44827
44828         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
44829
44830         * lib/regcomp.c: Adjust for changed secondary hash function.
44831
44832         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
44833
44834         * lib/regex.h: Pretty printing.
44835         Clean up namespace a bit.
44836
44837         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
44838
44839         * lib/regexec.c (update_cur_sifted_state, check_arrival,
44840         check_arrival_add_next_nodes): Avoid using uninitialized variable.
44841
44842         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44843                     Ulrich Drepper  <drepper@redhat.com>
44844
44845         [BZ #1302]
44846         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
44847         changed.
44848         (bitset_word_t): Renamed from bitset_word.  All uses changed.
44849
44850         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
44851
44852         [BZ #281]
44853         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
44854         * lib/regcomp.c: Remove unnecessary uses of
44855         unsigned RE_TRANSLATE_TYPE.
44856         * lib/regex_internal.h: Likewise.
44857         * lib/regex_internal.c: Likewise.
44858         * lib/regexec.c: Likewise.
44859         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
44860
44861         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
44862
44863         * lib/regexec.c (find_recover_state): Remove unnecessary
44864         initialization.
44865         (transit_state_bkref): Make DFA a const pointer.
44866         (get_subexp): Likewise.
44867         (check_arrival): Likewise.
44868         (update_cur_sifted_state): Likewise.
44869         (re_search_internal): Likewise.
44870         (prune_impossible_nodes): Likewise.
44871         (acquire_init_state_context): Likewise.
44872         (proceed_next_node): Likewise.
44873         (set_regs): Likewise.
44874         (free_fail_stack_return): Likewise.
44875         (check_arrival_expand_ecl): Mark DFA parameter as const.
44876         (check_arrival_expand_ecl_sub): Likewise.
44877         (check_subexp_limits): Likewise.
44878         (sub_epsilon_src_nodes):  Likewise.
44879         (add_epsilon_src_nodes):  Likewise.
44880         (merge_state_array): Likewise.
44881         (update_regs): Likewise.
44882         (build_trtable): Likewise.
44883         (sift_states_backward): Mark MCTX parameter as const.
44884         (build_sifted_states): Likewise.
44885         (update_cur_sifted_state): Likewise.
44886         (sift_states_mkref): Likewise.
44887         (check_arrival_expand_ecl): Mark eclosure as const.
44888         (check_dst_limits_calc_pos_1): Likewise.
44889         * lib/regex_internal.h (re_match_context_t): Make dfa a const
44890         pointer.
44891
44892         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
44893
44894         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
44895         (transit_state_sb): Likewise.
44896         (transit_state_mb): Likewise.
44897         (sift_states_iter_mb): Likewise.
44898         (check_arrival_add_next_nodes): Likewise.
44899         (check_node_accept_bytes): Change first parameter to pointer-to-const.
44900         [_LIBC] (re_search_2_stub): Use mempcpy.
44901
44902         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
44903         mbrtowc for very simple UTF-8 case.
44904
44905         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
44906         a pointer-to-const.
44907         (re_acquire_state_context): Likewise.
44908         * lib/regex_internal.h: Adjust prototypes.
44909
44910         * lib/regex.c: Prevent using C++ compilers.
44911
44912         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
44913         (re_acquire_state_context): Likewise.
44914
44915 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44916
44917         * modules/regex (Depends-on): Add ssize_t.
44918
44919 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44920
44921         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
44922         translation table.
44923
44924 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44925
44926         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
44927
44928 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
44929             Bruno Haible  <bruno@clisp.org>
44930
44931         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
44932         <sys/types.h> and <inttypes.h>.
44933
44934 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44935
44936         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
44937         `__error_t_defined', so argp.h will not typedef the former.
44938
44939 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44940
44941         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
44942         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
44943         glibc names.  Even if glibc is changed to conform to POSIX, the
44944         traditional names will be available anyway, since regex depends on
44945         the extensions module.  Also, fix a longstanding typo in the
44946         implementation of Spencer ERE test #75 from grep 2.3.  Problems
44947         reported by Emanuele Giaquinta.  Also, change sense of cached
44948         variable, so that the message makes sense.
44949
44950 2006-03-24  Simon Josefsson  <jas@extundo.com>
44951
44952         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
44953         including some doc fixes.
44954         (base64_encode_alloc): Fix +1 bug on allocation failures.
44955
44956 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44957
44958         * lib/base64.c (base64_encode): Do not read past end of array with
44959         unsanitized input on systems with CHAR_BIT > 8.
44960
44961 2006-03-24  Eric Blake  <ebb9@byu.net>
44962
44963         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
44964
44965 2006-03-22  Karl Berry  <karl@gnu.org>
44966
44967         * config/srclist.txt (*setenv.[ch]): get from coreutils.
44968         * config/srclistvars.sh (COREUTILS): new var.
44969
44970 2006-03-17  Jim Meyering  <jim@meyering.net>
44971
44972         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
44973         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
44974
44975 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
44976
44977         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
44978         no longer needs it.  Instead, check that regoff_t is as least
44979         as wide as ptrdiff_t.
44980
44981         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
44982         so that our regex.h stays compatible with the installed regex.
44983         This is helpful for installers who configure --without-included-regex.
44984         Problem reported by Emanuele Giaquinta.
44985
44986 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
44987
44988         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
44989         Typedef to long int, not to off_, as POSIX will likely change
44990         in that direction.
44991
44992 2006-03-15  Eric Blake  <ebb9@byu.net>
44993
44994         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
44995
44996 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
44997
44998         * lib/argp-help.c (validate_uparams): Fix typo
44999         * lib/argp-parse.c (argp_default_options): Consistently begin help
45000         messages with a lowercase letter.
45001
45002 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45003
45004         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
45005         overrun buffers and shouldn't be used (much as gets shouldn't be
45006         used).
45007         * lib/time_r.c (asctime_r, ctime_r): Likewise.
45008
45009 2006-03-08  Simon Josefsson  <jas@extundo.com>
45010
45011         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
45012         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45013
45014 2006-03-08  Simon Josefsson  <jas@extundo.com>
45015
45016         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
45017         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45018
45019 2006-03-08  Simon Josefsson  <jas@extundo.com>
45020
45021         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
45022         signal that configure disabled the device.
45023
45024 2006-03-08  Simon Josefsson  <jas@extundo.com>
45025
45026         * build-aux/maint.mk: Fix refresh-po, to handle no translated
45027         languages.
45028
45029 2006-03-07  Simon Josefsson  <jas@extundo.com>
45030
45031         * modules/getopt (Depends-on): Add unistd.
45032
45033         * modules/unistd: New file.
45034
45035 2006-03-07  Simon Josefsson  <jas@extundo.com>
45036
45037         * modules/gc-random: New file.
45038
45039 2006-03-07  Simon Josefsson  <jas@extundo.com>
45040
45041         * m4/unistd_h.m4: New file.
45042
45043 2006-03-07  Simon Josefsson  <jas@extundo.com>
45044
45045         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
45046         test to be side-effect free by storing the result in the cache
45047         variable gl_cv_lib_readline, and moving the assignment of
45048         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
45049         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45050
45051 2006-03-07  Simon Josefsson  <jas@extundo.com>
45052
45053         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
45054         error on missing devices (the functions will return an error).
45055
45056         * m4/gc.m4: Move random stuff to gc-random.m4
45057
45058 2006-03-07  Simon Josefsson  <jas@extundo.com>
45059
45060         * lib/unistd_.h: New file.
45061
45062 2006-03-07  Simon Josefsson  <jas@extundo.com>
45063
45064         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
45065
45066 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45067
45068         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
45069         Problem reported by Juan Manuel Guerrero.
45070
45071 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45072
45073         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
45074         the unistd module.
45075         * lib/getlogin_r.c: Likewise.
45076         * lib/getlogin_r.h: Likewise.
45077         * lib/glob.c: Likewise.
45078         * lib/pagealign_alloc.c: Likewise.
45079         * lib/unistd_.h: Remove; no longer needed.
45080
45081 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45082
45083         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45084         Add unistd.
45085         * modules/c-stack (Depends-on): Add unistd.
45086         * modules/getlogin_r: Likewise.
45087         * modules/glob: Likewise.
45088         * modules/pagealign_alloc: Likewise.
45089         * modules/unistd (Files): Remove lib/unistd_.h.
45090         (EXTRA_DIST): Remove.
45091         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
45092         need unistd_.h.
45093         (MOSTLYCLEANFILES): Remove unistd.h-t.
45094
45095 2006-03-03  Simon Josefsson  <jas@extundo.com>
45096
45097         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
45098
45099 2006-03-03  Simon Josefsson  <jas@extundo.com>
45100
45101         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
45102         libidn and bison.
45103
45104 2006-03-03  Simon Josefsson  <jas@extundo.com>
45105
45106         * build-aux/maint.mk: Add indent target.
45107
45108 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
45109
45110         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
45111         our replacement poll.h in any case, to avoid a differing
45112         declaration from a system header.  Seen on AIX.
45113
45114 2006-03-01  Simon Josefsson  <jas@extundo.com>
45115
45116         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
45117         <kasal@ucw.cz>.
45118
45119 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45120
45121         * modules/gettime (Depends-on): Add extensions module.
45122         * modules/nanosleep (Depends-on): Likewise.
45123         * modules/settime (Depends-on): Likewise.
45124
45125 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45126
45127         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
45128         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
45129         pedantically.
45130         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45131         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
45132
45133         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
45134         not "==".  Reported by Ralf Wildenhues.
45135
45136 2006-03-01  Karl Berry  <karl@gnu.org>
45137
45138         * doc/Copyright/request-*: new files, synced from gnuorg.
45139
45140 2006-03-01  Karl Berry  <karl@gnu.org>
45141
45142         * config/srclist.txt (Copyright/*): new entries.
45143
45144 2006-02-28  Simon Josefsson  <jas@extundo.com>
45145
45146         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
45147
45148 2006-02-27  Simon Josefsson  <jas@extundo.com>
45149
45150         * lib/base64.h: Indent #define's.  From Jim Meyering
45151         <jim@meyering.net>.
45152
45153 2006-02-27  Jim Meyering  <jim@meyering.net>
45154
45155         Revert the change of 2006-02-24, so these files can continue
45156         to be sync'd from gettext.
45157         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
45158         of `config.h'.
45159
45160 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45161
45162         * modules/intprops: New file.
45163         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45164         Add intprops.
45165         * modules/getloadavg (Files): Remove lib/intprops.h.
45166         (Depends-on): Add intprops.
45167         * modules/human: Likewise.
45168         * modules/inttostr: Likewise.
45169         * modules/openat: Likewise.
45170         * modules/sig2str: Likewise.
45171         * modules/userspec: Likewise.
45172         * modules/utimecmp: Likewise.
45173         * modules/xnanosleep: Likewise.
45174         * modules/xstrtol: Likewise.
45175
45176 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
45177
45178         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
45179         * modules/lock-tests (TESTS): Use $(EXEEXT).
45180         * modules/tls-tests: Likewise.
45181         * modules/argp-tests: Likewise.
45182         (check_PROGRAMS): New var, replacing...
45183         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
45184
45185 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45186
45187         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
45188         `config.h'.
45189
45190 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45191
45192         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
45193
45194 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45195
45196         Sync from coreutils.
45197         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
45198         gl_CHDIR_SAFER.
45199
45200 2006-02-22  Jim Meyering  <jim@meyering.net>
45201
45202         Sync from coreutils.
45203         * m4/chdir-safer.m4: New file.
45204
45205 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
45206
45207         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
45208         AT_FDCWD exceeds INT_MAX.
45209         * lib/openat.h (AT_FDCWD): Likewise.
45210
45211 2006-02-17  Eric Blake  <address@hidden>
45212
45213         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
45214
45215 2006-02-16  Simon Josefsson  <jas@extundo.com>
45216
45217         * modules/getaddrinfo (Depends-on): Add sys_socket.
45218
45219 2006-02-15  Simon Josefsson  <jas@extundo.com>
45220
45221         * build-aux/maint.mk: Add dsyntax-check rule.
45222
45223 2006-02-15  Eric Blake  <ebb9@byu.net>
45224
45225         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
45226         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
45227         'present but cannot compile' warnings on cygwin.
45228         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
45229         use ws2tcpip.h if sys/socket.h works.
45230         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
45231         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
45232
45233 2006-02-14  Simon Josefsson  <jas@extundo.com>
45234
45235         * modules/maintainer-makefile (Files): Rename.
45236
45237         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
45238         and (the local) Makefile.cfg to maint-cfg.mk.
45239
45240         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
45241         to the latter.
45242
45243         * modules/maintainer-makefile: New module.
45244
45245         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
45246         severaly stripped to make it possible to build it up from scratch
45247         with reliable tests.
45248
45249         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
45250         fixes to permit overriding the default actions when configure and
45251         makefile are not available.
45252
45253 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
45254
45255         Sync from coreutils.
45256         * modules/lstat (Depends-on): Don't depend on xalloc.
45257         (License): Change from GPL to LGPL, since this is now simply a
45258         replacement for a libc function.
45259
45260 2006-02-14  Jim Meyering  <jim@meyering.net>
45261
45262         Sync from coreutils.
45263
45264         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
45265         failure on deficient systems, and simplify gnulib lgpl dependencies.
45266         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
45267         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
45268
45269         * lib/xalloc-die.c: Remove unused definition of N_.
45270
45271 2006-02-14  Jim Meyering  <jim@meyering.net>
45272
45273         Sync from coreutils.
45274         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
45275         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
45276         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
45277         double-quote uses of that variable, to accommodate the rare case in
45278         which getmntent is available in none of the libraries checked.  This
45279         happens at least on FreeBSD 5.0.
45280
45281 2006-02-13  Simon Josefsson  <jas@extundo.com>
45282
45283         * gnulib-tool (Usage): Fix --import, from
45284         karl@freefriends.org (Karl Berry).
45285
45286 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45287
45288         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
45289
45290 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
45291
45292         * lib/argp-namefrob.h: Restore changes accidentally lost during the
45293         "autoupdate" on 2005-12-12.
45294
45295 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45296
45297         * modules/closeout (Depends-on): Remove atexit.
45298
45299 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45300
45301         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
45302         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
45303
45304 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
45305
45306         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
45307         __EXTENSIONS__ if this causes compilation to fail.  Problem
45308         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
45309         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
45310
45311 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
45312
45313         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
45314         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
45315         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
45316         All uses changed.
45317
45318 2006-01-26  Simon Josefsson  <jas@extundo.com>
45319
45320         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
45321         prototype is visible on mingw32.
45322
45323         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
45324         for mingw32.
45325
45326         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
45327         mingw32).
45328
45329 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45330
45331         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
45332         attempt to open for write; this always fails, at least on POSIX
45333         hosts.  This reinstates the 2006-01-09 change, which was
45334         inadvertently removed.
45335
45336 2006-01-26  Bruno Haible  <bruno@clisp.org>
45337
45338         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
45339         Reported by Paul Eggert.
45340
45341 2006-01-26  Bruno Haible  <bruno@clisp.org>
45342             Paul Eggert  <eggert@cs.ucla.edu>
45343
45344         * lib/stdbool_.h (_Bool)
45345         [(! (defined __cplusplus || defined __BEOS__)
45346           && !defined __GNUC__
45347           && !(defined __HP_cc || defined __xlc__
45348                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
45349                || defined __sgi))]:
45350         #define to signed char in these cases too; this simplifies
45351         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
45352         etc., separately) and makes it more conservative.
45353
45354 2006-01-25  Simon Josefsson  <jas@extundo.com>
45355
45356         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
45357         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
45358         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
45359
45360 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45361
45362         * lib/argp-namefrob.h: Bugfix. Remove stray #
45363
45364 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45365
45366         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
45367         so that we test the test.
45368         Check for yet another HP-UX cc bug involving *bool |= bool.
45369
45370 2006-01-25  Karl Berry  <karl@gnu.org>
45371
45372         * config/srclist.txt (vasnprintf.c): sync lost.
45373
45374 2006-01-25  Jim Meyering  <jim@meyering.net>
45375
45376         Sync from the stable (b5) branch of coreutils:
45377
45378         * lib/fts.c (fts_children): Don't let close() clobber errno from
45379         failed fchdir().
45380
45381         * lib/fts.c (fts_stat): When following a symlink-to-directory,
45382         don't necessarily interpret stat-fails+lstat-succeeds as indicating
45383         a dangling symlink.  That can also happen at least for ELOOP.
45384         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
45385         FYI, this bug predates the inclusion of fts.c in coreutils.
45386
45387         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
45388         in their own block, so pre-c99 compilers don't object.
45389
45390         Avoid the double-free (first in fts_read, second in fts_close) that
45391         would occur when an `active' directory is made inaccessible (e.g.,
45392         via chmod a-x) during a traversal.
45393         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45394         before returning.  Reproduce this failure by
45395         mkdir -p a/b; cd a; chmod a-x . b
45396         Reported by Stavros Passas.
45397
45398 2006-01-25  Jim Meyering  <jim@meyering.net>
45399
45400         * lib/fileblocks.c: Remove more useless parentheses.
45401         * lib/readutmp.h: Likewise.
45402
45403 2006-01-25  Bruno Haible  <bruno@clisp.org>
45404
45405         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
45406         warnings.
45407         Reported by Paul Eggert.
45408
45409 2006-01-25  Bruno Haible  <bruno@clisp.org>
45410
45411         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
45412         rid of a trap command. For Solaris sh.
45413         Reported by Mark D. Baushke <mdb@gnu.org>.
45414
45415 2006-01-24  Simon Josefsson  <jas@extundo.com>
45416
45417         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
45418         Bruno.
45419
45420 2006-01-24  Karl Berry  <karl@gnu.org>
45421
45422         * config/srclist.txt (argp-namefrob.h): sync lost.
45423
45424 2006-01-24  Jim Meyering  <jim@meyering.net>
45425
45426         * modules/openat (Files): Add lib/intprops.h.
45427         From Mark D. Baushke.
45428
45429 2006-01-24  Jim Meyering  <jim@meyering.net>
45430
45431         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
45432         Reported by Mark D. Baushke.
45433
45434 2006-01-24  Jim Meyering  <jim@meyering.net>
45435
45436         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
45437
45438 2006-01-24  Bruno Haible  <bruno@clisp.org>
45439
45440         * modules/strnlen (Maintainer): Change from glibc to all.
45441
45442 2006-01-24  Bruno Haible  <bruno@clisp.org>
45443
45444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
45445         Patch by Paul Eggert.
45446
45447 2006-01-24  Bruno Haible  <bruno@clisp.org>
45448
45449         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
45450         already has it.
45451         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
45452         2005-11-26.
45453
45454         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
45455         'signed char' to avoid problems with the built-in _Bool type.
45456         Reported by Paul Eggert on 2005-11-26.
45457
45458 2006-01-24  Bruno Haible  <bruno@clisp.org>
45459
45460         * gnulib-tool (func_import): Avoid constructing complicated sed
45461         expressions inside backquote.
45462         Report and solution by Mark D. Baushke <mdb@gnu.org>.
45463
45464 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
45465
45466         These changes imported from libc.
45467         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
45468         test and two separate function calls.
45469         * lib/strndup.c (__strndup): Add libc_hidden_def.
45470
45471 2006-01-23  Simon Josefsson  <jas@extundo.com>
45472
45473         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
45474         Remove the test_*_SOURCES variable: automake infers it by default.
45475         * modules/tls-tests: Likewise.
45476
45477 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45478
45479         Work around porting bugs reported by Dieter in
45480         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
45481         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
45482         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
45483         Include "getopt.h" first, to check interface.
45484         (getenv): Declare only if defined HAVE_DECL_GETENV &&
45485         !HAVE_DECL_GETENV.
45486         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
45487         (__strndup): Revert to K&R-style function dfns, the glibc style.
45488         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
45489         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
45490         Include strnlen.h first, to get prototype properly.
45491         (strnlen): Renamed from __strnlen.
45492         Remove weak alias.
45493
45494 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45495
45496         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
45497
45498 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45499
45500         * config/srclist.txt: Adjust to reflect glibc reorganization.
45501         This affects only comments.
45502
45503 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
45504
45505          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
45506          Reported by Bruce Korb <bkorb@gnu.org>.
45507
45508 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45509
45510         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
45511         to pacify gcc -Wswitch-default.
45512
45513 2006-01-22  Bruno Haible  <bruno@clisp.org>
45514
45515         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
45516         temporary buffer for sprintf, take into account the precision also
45517         for 'd', 'i', 'u', 'o', 'x', 'X'.
45518
45519 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45520
45521         * modules/argp-tests: New module
45522         * tests/test-argp.c: New file
45523         * tests/test-argp-2.sh: New file
45524
45525 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45526
45527         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
45528         (__argp_base_name): Removed
45529         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
45530         typo.
45531         (__argp_base_name): Provide macro definition or extern declaration
45532         depending on the configuration
45533
45534 2006-01-20  Simon Josefsson  <jas@extundo.com>
45535
45536         * modules/inet_ntop (Depends-on): Depend on sys_socket.
45537
45538 2006-01-20  Simon Josefsson  <jas@extundo.com>
45539
45540         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
45541
45542 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45543
45544         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
45545         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
45546         Suggested by Bruno Haible.
45547
45548 2006-01-20  Karl Berry  <karl@gnu.org>
45549
45550         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
45551         until changes propagate, I guess.
45552
45553 2006-01-19  Simon Josefsson  <jas@extundo.com>
45554
45555         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
45556
45557 2006-01-19  Simon Josefsson  <jas@extundo.com>
45558
45559         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
45560
45561 2006-01-19  Simon Josefsson  <jas@extundo.com>
45562
45563         * gnulib-tool: Set check_PROGRAMS.
45564
45565         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
45566         modules/des-tests, modules/gc-arcfour-tests,
45567         modules/gc-arctwo-tests, modules/gc-des-tests,
45568         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
45569         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
45570         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
45571         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
45572         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
45573         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
45574         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
45575         test_*_SOURCES.
45576
45577 2006-01-18  Simon Josefsson  <jas@extundo.com>
45578
45579         * modules/socklen (Depends-on): Depend on sys_socket.
45580
45581 2006-01-18  Simon Josefsson  <jas@extundo.com>
45582
45583         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
45584         modules/des-tests, modules/gc-arcfour-tests,
45585         modules/gc-arctwo-tests, modules/gc-des-tests,
45586         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
45587         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
45588         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
45589         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
45590         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
45591         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
45592         $(EXEEXT) to automake TESTS variable, for mingw32.
45593
45594 2006-01-17  Simon Josefsson  <jas@extundo.com>
45595
45596         * modules/socklen (Include): Need sys/socket.h.
45597
45598 2006-01-17  Bruno Haible  <bruno@clisp.org>
45599
45600         * modules/ssize_t (Include): Add <sys/types.h>.
45601
45602 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
45603
45604         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
45605         it's not portable and it doesn't work with cross-compiles.
45606         Problem reported by Bruno Haible.  Fix missing-$ typo in
45607         'test "gl_cv_ignore_unused_libraries" ...' that prevented
45608         -zignore from being used with Sun's C compiler.
45609
45610 2006-01-12  Simon Josefsson  <jas@extundo.com>
45611
45612         * lib/base64.c: Fix warning, reported by Bruno Haible
45613         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
45614
45615 2006-01-12  Bruno Haible  <bruno@clisp.org>
45616
45617         * modules/ldd: New file.
45618         * build-aux/ldd.sh.in: New file.
45619         * MODULES.html.sh (Support for building libraries and executables): Add
45620         ldd.
45621
45622 2006-01-12  Bruno Haible  <bruno@clisp.org>
45623
45624         * m4/ldd.m4: New file.
45625
45626 2006-01-12  Bruno Haible  <bruno@clisp.org>
45627
45628         * gnulib-tool (func_import, func_create_testdir): Don't go into an
45629         endless loop while replacing $auxdir with build-aux.
45630
45631 2006-01-11  Simon Josefsson  <jas@extundo.com>
45632
45633         * lib/stdint_.h (SIZE_MAX): Add missing (.
45634
45635 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
45636
45637         Sync from coreutils.
45638         * lib/md5.c: Fix commentary typos.
45639         (alignof, UNALIGNED_P): No need for a GCC-specific version.
45640         * lib/md5.h (__attribute__): Remove; unused.
45641         * lib/sha1.c: Fix commentary to match md5 better.
45642         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
45643         so that we don't need to worry about alignment.  All uses changed.
45644         This merges the 2005-10-28 md5 change into sha1.
45645
45646 2006-01-11  Jim Meyering  <jim@meyering.net>
45647
45648         Sync from coreutils.
45649         * lib/md5.c (OP): Fix spacing.
45650
45651 2006-01-11  Bruno Haible  <bruno@clisp.org>
45652
45653         Ensure automatic ordering between gl_LOCK and gl_ARGP.
45654         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
45655         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
45656
45657 2006-01-11  Bruno Haible  <bruno@clisp.org>
45658
45659         Ensure automatic ordering between gl_LOCK and gl_ARGP.
45660         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
45661         the "early" section as well.
45662
45663 2006-01-11  Bruno Haible  <bruno@clisp.org>
45664
45665         Avoid "ar: no archive members specified" error on MacOS X.
45666         * gnulib-tool (func_modules_add_dummy): New function.
45667         (func_import, func_create_testdir): Invoke it.
45668
45669 2006-01-11  Bruno Haible  <bruno@clisp.org>
45670
45671         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
45672         with $auxdir in AC_CONFIG_FILES statements.
45673
45674 2006-01-11  Bruno Haible  <bruno@clisp.org>
45675
45676         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45677         Initialize also noinst_HEADERS to empty.
45678
45679 2006-01-11  Bruno Haible  <bruno@clisp.org>
45680
45681         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
45682         variables.
45683         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
45684         autoreconf.
45685
45686 2006-01-11  Bruno Haible  <bruno@clisp.org>
45687
45688         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
45689         overridable by the user.
45690         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45691
45692 2006-01-10  Simon Josefsson  <jas@extundo.com>
45693
45694         * modules/sys_socket: New file.
45695
45696 2006-01-10  Simon Josefsson  <jas@extundo.com>
45697
45698         * m4/sys_socket_h.m4: New file.
45699
45700 2006-01-10  Simon Josefsson  <jas@extundo.com>
45701
45702         * lib/socket_.h: New file.
45703
45704 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45705
45706         * modules/readutmp (Maintainer): Add myself.
45707
45708 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45709
45710         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
45711         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
45712         People who are still concerned with buggy memcmp implementations
45713         can invoke gl_FUNC_MEMCMP themselves.
45714
45715 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45716
45717         * lib/regex_internal.h (BITSET_WORD_BITS):
45718         Work around a bug in 64-bit PGC (before version 6.1-2), where the
45719         preprocessor mishandles large unsigned values as if they were signed.
45720         Problem reported by Claudio Fontana in
45721         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
45722
45723 2006-01-10  Jim Meyering  <jim@meyering.net>
45724
45725         Avoid the double-free (first in fts_read, second in fts_close) that
45726         would occur when an `active' directory is made inaccessible (e.g.,
45727         via chmod a-x) during a traversal.
45728         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45729         before returning.  Reproduce this failure by
45730         mkdir -p a/b; cd a; chmod a-x . b
45731         Reported by Stavros Passas.
45732
45733         Sync from coreutils.
45734         * lib/sha1.c: Tweak grammar in a comment.
45735
45736 2006-01-10  Jim Meyering  <jim@meyering.net>
45737
45738         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
45739         Patch by Joerg Sonnenberger.
45740
45741 2006-01-10  Bruno Haible  <bruno@clisp.org>
45742
45743         * modules/readutmp: Depend on module free.
45744         * modules/strtok_r: Depend on module restrict.
45745
45746 2006-01-10  Bruno Haible  <bruno@clisp.org>
45747
45748         * modules/gettext (configure.ac): Add an invocation of
45749         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
45750
45751 2006-01-10  Bruno Haible  <bruno@clisp.org>
45752
45753         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
45754         Reported by Werner Lemberg <wl@gnu.org>.
45755
45756 2006-01-10  Bruno Haible  <bruno@clisp.org>
45757
45758         * lib/localcharset.c: Update from GNU gettext.
45759
45760 2006-01-10  Bruno Haible  <bruno@clisp.org>
45761
45762         * lib/argp.h (__const): Remove macro. Use const instead.
45763         * lib/argp-fmtstream.h (__const): Likewise.
45764         * lib/glob_.h (__const): Remove macro.
45765         * lib/glob-libc.h: Use const instead of __const.
45766
45767 2006-01-10  Bruno Haible  <bruno@clisp.org>
45768
45769         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
45770         variable.
45771         Needed to avoid an automake error regarding the 'gettext' module.
45772
45773 2006-01-09  Simon Josefsson  <jas@extundo.com>
45774
45775         * modules/inet_ntop (Depends-on): Add restrict.
45776
45777 2006-01-09  Simon Josefsson  <jas@extundo.com>
45778
45779         * modules/gc-rijndael-tests (License): Put under LGPL.
45780
45781         * modules/gc-des-tests (License): Likewise.
45782
45783         * modules/gc-arcfour-tests (License): Likewise.
45784
45785         * modules/gc-arctwo-tests (License): Likewise.
45786
45787         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
45788
45789         * modules/gc-hmac-sha1-tests (Files): Likewise.
45790
45791         * modules/gc-hmac-md5-tests (License): Likewise.
45792
45793         * modules/gc-sha1-tests (License): Likewise.
45794
45795         * modules/gc-md5-tests (License): Likewise.
45796
45797         * modules/gc-md4-tests (License): Likewise.
45798
45799         * modules/gc-md2-tests (License): Likewise.
45800
45801         * modules/gc-tests (License): Likewise.
45802
45803         * modules/des-tests (License): Likewise.
45804
45805         * modules/md4-tests (License): Likewise.
45806
45807         * modules/md2-tests (License): Likewise.
45808
45809 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45810
45811         Sync from coreutils:
45812
45813         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
45814         * modules/lib-ignore: New file.
45815         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
45816         chdir-safer.m4, lchmod.m4.
45817         * modules/openat: Add mkdirat.c, openat-priv.h.
45818
45819 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45820
45821         Sync from coreutils.
45822         * m4/lib-ignore.m4: New file.
45823         * m4/lchmod.m4: New file.
45824
45825 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45826
45827         Sync from coreutils.
45828         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
45829         for write access: POSIX says that must fail.
45830         * lib/fts.c (diropen): Likewise.
45831         * lib/save-cwd.c (save_cwd): Likewise.
45832         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
45833         well, for minor improvements on hosts that lack O_DIRECTORY.
45834         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
45835         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
45836         Fall back on chown if open failed with EACCES.
45837
45838         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
45839         Report an error at compile-time if only a 1-second nominal clock
45840         resolution is found.
45841
45842         * lib/lchmod.h: New file.
45843         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
45844         (make_dir_parents): Use lchown rather than chown, and
45845         lchmod rather than chmod.
45846
45847         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
45848         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
45849         "proc" reported by n0dalus.
45850
45851         * lib/mountlist.c: Include <limits.h>.
45852         (dev_from_mount_options)
45853         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
45854         New function.  It no longer assumes "dev=" has the System V meaning
45855         on Linux (since it doesn't).  It also parses "dev=" more carefully.
45856         (read_file_system_list)
45857         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
45858         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
45859         dev= in that case.
45860
45861         * lib/posixtm.h (PDS_PRE_2000): New macro.
45862         * lib/posixtm.c (year): Arg is now syntax_bits rather than
45863         allow_century.  All usages changed.  Reject dates outside the range
45864         1969-1999 if PDS_PRE_2000 is used.
45865
45866 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45867
45868         Sync from coreutils.
45869         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
45870         (Time of day items): Mention the possibility of leap seconds.
45871         Problem reported by Dr. David Alan Gilbert.
45872
45873 2006-01-09  Jim Meyering  <jim@meyering.net>
45874
45875         Sync from coreutils.
45876
45877         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
45878
45879         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
45880
45881         * lib/modechange.c (mode_compile): Reject an invalid mode string
45882         that starts with an octal digit.  From Andreas Gruenbacher.
45883
45884         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
45885         and dup to open_safer and dup_safer, respectively.
45886         (openat_permissive): Fix typo in comment.
45887
45888         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
45889         "gettext.h"; either no longer needed or are guaranteed by openat.h.
45890         (_): Remove; no longer needed.
45891         (openat): Renamed from rpl_openat; no need for rpl_openat
45892         since openat.h renames openat for us.
45893         Replace most of the body with a call to openat_permissive,
45894         to avoid duplicate code.
45895         Port to (probably hypothetical) environments were mode_t is
45896         wider than int.
45897         (openat_permissive): Require mode arg, so that we can check
45898         types better.  Put it just after flags.  Change cwd failure
45899         indicator from pointer-to-bool to pointer-to-errno-value.
45900         All callers changed.
45901         Invoke openat_save_fail and/or openat_restore_fail if
45902         cwd_errno is null, so that openat can call us.
45903         (openat_permissive, fdopendir, fstatat, unlinkat):
45904         Simplify errno handling to avoid some duplicate code,
45905         as it's OK to set errno on success.
45906         * lib/openat.h: Revamp code so that function macros depend on
45907         __OPENAT_PREFIX only, not also on AT_FDCWD.
45908         (openat_ro): Remove.  Caller changed to use openat_permissive.
45909         (openat_permissive): Now a macro, if not a function.
45910         (openat_restore_fail, openat_save_fail): Now always functions,
45911         since mkdirat needs them even if __OPENAT_PREFIX is defined.
45912
45913         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
45914         and openat.c.
45915         * lib/mkdirat.c: Include openat-priv.h.
45916         Remove definitions of macros defined therein.
45917         * lib/openat.c: Likewise.
45918
45919         * lib/mkdirat.c (mkdirat): New file and function.
45920         * lib/openat.h (mkdirat): Declare.
45921
45922         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
45923
45924         * lib/openat.h (openat_permissive): Declare.
45925         (openat_ro): Define.
45926
45927         * lib/openat.c (EXPECTED_ERRNO): New macro.
45928         (openat_permissive): New function -- used in remove.c rewrite.
45929         (all functions): Set errno just before returning, only if there
45930         was an actual failure.
45931         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
45932
45933         Emulate openat-family functions using Linux's procfs, if possible.
45934         Idea and some code based on Ulrich Drepper's glibc changes.
45935
45936         * lib/openat.c: (BUILD_PROC_NAME): New macro.
45937         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
45938         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
45939         before falling back on save_cwd and restore_cwd.
45940         (fdopendir, fstatat, unlinkat): Likewise.
45941
45942         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
45943         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
45944
45945         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
45946         as second argument to va_arg.  Otherwise, some versions of gcc
45947         warn that `if this code is reached, the program will abort'.
45948
45949 2006-01-09  Jim Meyering  <jim@meyering.net>
45950
45951         Sync from coreutils.
45952         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
45953         Require openat-priv.h.
45954
45955 2006-01-09  Bruno Haible  <bruno@clisp.org>
45956
45957         * modules/strnlen (Include): Use strnlen.h.
45958
45959 2006-01-09  Bruno Haible  <bruno@clisp.org>
45960
45961         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
45962
45963 2006-01-09  Bruno Haible  <bruno@clisp.org>
45964
45965         * lib/sysexit_.h (EX_OK): New macro.
45966         Suggested by Martin Lambers <marlam@marlam.de>.
45967
45968 2006-01-09  Bruno Haible  <bruno@clisp.org>
45969
45970         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
45971         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
45972
45973 2006-01-09  Bruno Haible  <bruno@clisp.org>
45974
45975         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
45976         numbers.
45977
45978 2006-01-09  Bruno Haible  <bruno@clisp.org>
45979
45980         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
45981         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
45982         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
45983         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
45984
45985 2006-01-09  Bruno Haible  <bruno@clisp.org>
45986
45987         * build-aux/javacomp.sh.in: New file, moved from lib/.
45988         * modules/javacomp-script (Files): Update.
45989         (configure.ac): Add AC_CONFIG_FILES invocation.
45990         (EXTRA_DIST): Remove variable.
45991
45992         * build-aux/javaexec.sh.in: New file, moved from lib/.
45993         * modules/javaexec (Files): Update.
45994         (configure.ac): Add AC_CONFIG_FILES invocation.
45995         (EXTRA_DIST): Remove javaexec.sh.in.
45996
45997         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
45998         * modules/csharpcomp-script (Files): Update.
45999         (configure.ac): Add AC_CONFIG_FILES invocation.
46000         (EXTRA_DIST): Remove variable.
46001
46002         * build-aux/csharpexec.sh.in: New file, moved from lib/.
46003         * modules/csharpexec (Files): Update.
46004         (configure.ac): Add AC_CONFIG_FILES invocation.
46005         (EXTRA_DIST): Remove csharpexec.sh.in.
46006
46007 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46008
46009         Sync from coreutils.
46010
46011         Add POSIX ACL support
46012         * lib/acl.h (copy_acl, set_acl): Add declarations.
46013         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
46014         systems other than Linux.
46015         (chmod_or_fchmod): New function: use fchmod when possible,
46016         and chmod otherwise.
46017         (file_has_acl): Add a POSIX ACL implementation, with a
46018         Linux-specific subcase.
46019         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
46020         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
46021         acls are unsupported.
46022         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
46023         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
46024         are unsupported.
46025
46026 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46027
46028         Sync from coreutils.
46029         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
46030
46031 2006-01-07  Bruno Haible  <bruno@clisp.org>
46032
46033         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
46034         gl_EARLY.
46035
46036 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46037
46038         * lib/strftime.c (tzname): Don't declare if it is already #defined.
46039         Problem reported for Mingw by Mark Junker.
46040
46041 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46042
46043         * README: Gnulib normally doesn't generate a tarball.
46044
46045 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
46046
46047         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
46048         long int, not int, for nanosecond counts, so that people who are
46049         used to POSIX struct timespec won't be surprised.  Reported by Jim
46050         Meyering.
46051
46052 2005-12-28  Bruno Haible  <bruno@clisp.org>
46053
46054         * build-aux/config.rpath: Update from GNU gettext.
46055
46056 2005-12-16  Jim Meyering  <jim@meyering.net>
46057
46058         * modules/fprintftime: New module.
46059         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
46060
46061 2005-12-16  Jim Meyering  <jim@meyering.net>
46062
46063         * m4/fprintftime.m4: New file.
46064
46065 2005-12-16  Jim Meyering  <jim@meyering.net>
46066
46067         * lib/fprintftime.c, lib/fprintftime.h: New files.
46068
46069 2005-12-15  Simon Josefsson  <jas@extundo.com>
46070
46071         * modules/socklen (configure.ac): Fix M4 macro name, to align with
46072         new m4/socklen.m4.
46073
46074 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46075
46076         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
46077         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
46078
46079 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46080
46081         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
46082         * lib/argp-help.c (fill_in_uparams): Check if the constructed
46083         struct uparams is valid. Fall back to the default values if it is
46084         not.
46085
46086 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46087
46088         * modules/argp (Files): Add argp-pin.c
46089         (Depends-on): dirname
46090         (lib_SOURCES): Add argp-pin.c
46091
46092 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46093
46094         * m4/argp.m4:  Check if program_invocation_name and
46095         program_invocation_short_name are declared and define appropriate
46096         macros if they are not.
46097
46098 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46099
46100         * lib/argp-help.c (__argp_base_name): New function
46101         (__argp_short_program_name): Rewrite using __argp_base_name
46102         * lib/argp-namefrob.h: Define program_invocation_name and
46103         program_invocation_short_name if requested
46104         (__argp_base_name): Add prototype
46105         * lib/argp-parse.c (argp_def): Use gettext wrappers
46106         (argp_default_parser): Use __argp_base_name
46107         * lib/argp-pin.c: New file. Defines program_invocation_name and
46108         program_invocation_short_name on systems that lack them.
46109
46110 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46111
46112         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
46113         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46114         porting problem reported by Georg Schwarz in
46115         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46116
46117 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46118
46119         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
46120         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46121         porting problem reported by Georg Schwarz in
46122         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46123
46124 2005-12-05  Bruno Haible  <bruno@clisp.org>
46125
46126         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
46127         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
46128         Reported by Mark Junker <mjscod@gmx.de>.
46129
46130 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
46131
46132         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
46133         Use implementation from Albert Chin, with some
46134         comments/corrections by Stepan Kasal and myself.
46135
46136 2005-12-02  Bruno Haible  <bruno@clisp.org>
46137
46138         * gnulib-tool (func_import): Accept GPLed build tool modules when
46139         --lgpl is given.
46140         * modules/csharpcomp-script: New file.
46141         * modules/csharpcomp: Depend on it.
46142         * modules/javacomp-script: New file.
46143         * modules/javacomp: Depend on it.
46144         Suggested by Simon Josefsson.
46145
46146 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46147
46148         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
46149         statement, to work around an HP-UX 10.20 compiler bug reported by
46150         Peter O'Gorman.
46151
46152 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46153
46154         * modules/savedir (Depends-on): Add openat.
46155
46156 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46157
46158         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
46159         (uintmax_t) [defined uintmax_t]: Do not declare.
46160         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
46161         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
46162         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
46163         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
46164         sake of portability to weird hosts that C allows (though we don't
46165         know of any practical examples).
46166
46167         * lib/savedir.h (fdsavedir): New decl.
46168         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
46169         contains most of the former guts of savedir.
46170         (savedir): Use savedirstream.
46171         Include "openat.h".
46172
46173 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46174
46175         * modules/obstack (Files): Add m4/ulonglong.m4.
46176         Problem reported by Davide Angelocola.
46177
46178 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46179
46180         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
46181         coreutils no longer futzes with rounding modes.
46182
46183 2005-11-14  Jim Meyering  <jim@meyering.net>
46184
46185         * lib/mkstemp-safer.c: Include <config.h>, required for possible
46186         replacement of mkstemp.
46187
46188 2005-11-10  Simon Josefsson  <jas@extundo.com>
46189
46190         * lib/readline.c: Remove EOL.
46191
46192 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46193
46194         * modules/gethrxtime (Depends-on): Add gettime.
46195
46196 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46197
46198         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
46199         or gettimeofday; no longer needed.
46200
46201 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46202
46203         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
46204         time business.
46205         (gethrxtime) [! (HAVE_NANOUPTIME
46206         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
46207         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
46208         our own approximation.
46209
46210 2005-11-08  Eric Blake  <ebb9@byu.net>
46211
46212         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46213
46214 2005-11-08  Eric Blake  <ebb9@byu.net>
46215
46216         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46217
46218 2005-11-04  Bruno Haible  <bruno@clisp.org>
46219
46220         * gnulib-tool: Implement --update mode.
46221
46222 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46223
46224         Fix porting problem reported by Theodoros V. Kalamatianos.
46225         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
46226         Don't assume that futimes failing means we must fail.
46227
46228 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46229
46230         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
46231         variables to suggest the intended function of the PATH_MAX check.
46232
46233 2005-10-30  Kean Johnston  <jkj@sco.com>
46234
46235         Trivial changes to support SCO systems.
46236         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
46237         as PATH_MAX.
46238         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
46239         where __ptr is null when no I/O is pending.
46240
46241 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46242
46243         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
46244         leave errno alone.  Problem reported by Dmitry V. Levin.
46245
46246 2005-10-28  Simon Josefsson  <jas@extundo.com>
46247
46248         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
46249         Test more.
46250
46251         * tests/test-gc-md2.c, tests/test-md2.c: New files.
46252
46253         * modules/md2, modules/md2-tests: New files.
46254
46255 2005-10-28  Simon Josefsson  <jas@extundo.com>
46256
46257         * m4/inet_ntop.m4: More tests.
46258
46259         * m4/gc-md2.m4, md2.m4: New file.
46260
46261 2005-10-28  Simon Josefsson  <jas@extundo.com>
46262
46263         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
46264         "restrict" keywords, as per POSIX.  Protect the function
46265         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
46266         Don't use K&R prototypes.  Check the sprintf return values.
46267         Re-define EAFNOSUPPORT if not present.  Indent.
46268
46269         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
46270         suggested by Bruno Haible <bruno@clisp.org>.
46271
46272         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
46273
46274         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
46275
46276         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
46277         libgcrypt).
46278
46279         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
46280
46281         * lib/md2.h, lib/md2.c: New files.
46282
46283 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
46284
46285         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
46286         errno alone.  Problem reported by Frederic Jolliton.
46287
46288 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46289
46290         * modules/verify (License): Change from GPL to LGPL.  This is a
46291         tiny module and there are apparently near-equivalents that are
46292         under the BSD license.
46293
46294 2005-10-24  Simon Josefsson  <jas@extundo.com>
46295
46296         * modules/sha1: Relicense to LGPL.
46297
46298 2005-10-24  Simon Josefsson  <jas@extundo.com>
46299
46300         * lib/md4.h: Shrink buffer size, now that we changed the type.
46301
46302 2005-10-23  Simon Josefsson  <jas@extundo.com>
46303
46304         * gnulib-tool (func_import): Fix --tests-base.
46305
46306 2005-10-22  Simon Josefsson  <jas@extundo.com>
46307
46308         * modules/arcfour (Depends-on): Need stdint.
46309
46310 2005-10-22  Simon Josefsson  <jas@extundo.com>
46311
46312         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
46313         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
46314
46315 2005-10-22  Simon Josefsson  <jas@extundo.com>
46316
46317         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
46318         suggested by Bruno Haible <bruno@clisp.org>.
46319
46320 2005-10-22  Simon Josefsson  <jas@extundo.com>
46321
46322         * lib/crc.h: Include stddef.h, for size_t.
46323
46324 2005-10-22  Simon Josefsson  <jas@extundo.com>
46325
46326         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
46327         arcfour_context struct (simplify test vector testing in GNU
46328         Shishi).
46329
46330 2005-10-21  Simon Josefsson  <jas@extundo.com>
46331
46332         * modules/des, modules/des-tests: New files.
46333
46334         * modules/gc-des, modules/gc-des-tests: New files.
46335
46336         * tests/test-des.c, tests/test-gc-des.c: New file.
46337
46338 2005-10-21  Simon Josefsson  <jas@extundo.com>
46339
46340         * modules/arctwo, modules/arctwo-tests: New files.
46341
46342         * tests/test-arctwo.c: New file.
46343
46344         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
46345
46346         * tests/test-gc-arctwo.c: New file.
46347
46348 2005-10-21  Simon Josefsson  <jas@extundo.com>
46349
46350         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
46351         Bruno Haible <bruno@clisp.org>.
46352
46353         * m4/gc-des.m4: New file.
46354
46355 2005-10-21  Simon Josefsson  <jas@extundo.com>
46356
46357         * m4/arctwo.m4: New file.
46358
46359         * m4/gc-arctwo.m4: New file.
46360
46361 2005-10-21  Simon Josefsson  <jas@extundo.com>
46362
46363         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
46364         block.
46365
46366 2005-10-21  Simon Josefsson  <jas@extundo.com>
46367
46368         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
46369         <bruno@clisp.org>.
46370
46371         * lib/hmac-sha1.c (hmac_sha1): Likewise.
46372
46373         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
46374         Bruno Haible <bruno@clisp.org>.
46375
46376         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
46377         <bruno@clisp.org>.
46378
46379 2005-10-21  Simon Josefsson  <jas@extundo.com>
46380
46381         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
46382
46383 2005-10-21  Simon Josefsson  <jas@extundo.com>
46384
46385         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
46386
46387 2005-10-21  Simon Josefsson  <jas@extundo.com>
46388
46389         * lib/des.h, lib/des.c: New files.
46390
46391         * lib/gc-gnulib.c: Support DES.c
46392
46393 2005-10-21  Simon Josefsson  <jas@extundo.com>
46394
46395         * lib/arctwo.h, lib/arctwo.c: New files.
46396
46397         * lib/gc-gnulib.c: Support ARCTWO.
46398
46399 2005-10-21  Simon Josefsson  <jas@extundo.com>
46400
46401         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
46402         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46403
46404 2005-10-21  Simon Josefsson  <jas@extundo.com>
46405
46406         * gnulib-tool (func_import, func_create_testdir): Define automake
46407         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
46408         Makefile.am snippet),
46409         suggested by Bruno Haible <bruno@clisp.org>.
46410
46411         * modules/gc (Makefile.am): Use it.
46412
46413 2005-10-21  Bruno Haible  <bruno@clisp.org>
46414
46415         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
46416         patch.
46417
46418 2005-10-19  Simon Josefsson  <jas@extundo.com>
46419
46420         * tests/test-gc-rijndael.c: New file.
46421
46422         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
46423
46424 2005-10-19  Simon Josefsson  <jas@extundo.com>
46425
46426         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
46427         interface too.
46428
46429 2005-10-19  Simon Josefsson  <jas@extundo.com>
46430
46431         * tests/test-gc-arcfour.c: New file.
46432
46433         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
46434
46435 2005-10-19  Simon Josefsson  <jas@extundo.com>
46436
46437         * modules/gc-md4, modules/gc-md4-tests: New file.
46438
46439         * tests/test-gc-md4.c: New file.
46440
46441 2005-10-19  Simon Josefsson  <jas@extundo.com>
46442
46443         * m4/gc-md4.m4: New file.
46444
46445 2005-10-19  Simon Josefsson  <jas@extundo.com>
46446
46447         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
46448         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
46449         <kasal@ucw.cz>.
46450
46451 2005-10-19  Simon Josefsson  <jas@extundo.com>
46452
46453         * m4/gc-arcfour.m4: New file.
46454
46455         * m4/gc-rijndael.m4: New file.
46456
46457 2005-10-19  Simon Josefsson  <jas@extundo.com>
46458
46459         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
46460
46461 2005-10-19  Simon Josefsson  <jas@extundo.com>
46462
46463         * lib/gc-gnulib.c: Support ARCFOUR.
46464
46465 2005-10-19  Simon Josefsson  <jas@extundo.com>
46466
46467         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
46468         support.
46469
46470         * lib/gc.h: Add ECB enum type.
46471
46472         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
46473
46474 2005-10-18  Simon Josefsson  <jas@extundo.com>
46475
46476         * tests/test-md5.c: New file.
46477
46478         * modules/md5-tests: New file.
46479
46480 2005-10-18  Simon Josefsson  <jas@extundo.com>
46481
46482         * tests/test-md4.c: New file.
46483
46484         * modules/md4, modules/md4-tests: New files.
46485
46486 2005-10-18  Simon Josefsson  <jas@extundo.com>
46487
46488         * m4/md4.m4: New file.
46489
46490 2005-10-18  Simon Josefsson  <jas@extundo.com>
46491
46492         * lib/md4.h, lib/md4.c: New files, based on md5.?.
46493
46494 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
46495
46496         * gnulib-tool (func_create_testdir): Omit the second check whether
46497         BUILT_SOURCES in nonempty.
46498
46499 2005-10-17  Simon Josefsson  <jas@extundo.com>
46500
46501         * tests/test-rijndael.c: New file.
46502
46503 2005-10-17  Simon Josefsson  <jas@extundo.com>
46504
46505         * modules/sha1: Depend on stdint instead of md5.
46506
46507         * modules/md5: Depend on stdint, remove uint32_t.
46508
46509 2005-10-17  Simon Josefsson  <jas@extundo.com>
46510
46511         * modules/gc-sha1-tests: New file.
46512
46513         * tests/test-gc-sha1.c: New file.
46514
46515 2005-10-17  Simon Josefsson  <jas@extundo.com>
46516
46517         * m4/md5.m4: Remove call to uint32_t.m4.
46518
46519 2005-10-17  Simon Josefsson  <jas@extundo.com>
46520
46521         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
46522
46523         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
46524         md5.h.
46525
46526         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
46527
46528         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
46529
46530 2005-10-17  Simon Josefsson  <jas@extundo.com>
46531
46532         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
46533
46534 2005-10-17  Simon Josefsson  <jas@extundo.com>
46535
46536         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
46537
46538 2005-10-17  Simon Josefsson  <jas@extundo.com>
46539
46540         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
46541
46542         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
46543
46544 2005-10-17  Bruno Haible  <bruno@clisp.org>
46545
46546         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
46547         that it can also be used in a test.
46548
46549 2005-10-16  Bruno Haible  <bruno@clisp.org>
46550
46551         * gnulib-tool (func_emit_tests_Makefile_am): Also define
46552         TESTS_ENVIRONMENT, so that individual tests can augment it.
46553
46554         * gnulib-tool (func_create_testdir): Use an intermediate target for
46555         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
46556         macros, like $(ALLOCA_H), which cannot be passed through the command
46557         line.
46558
46559 2005-10-15  Simon Josefsson  <jas@extundo.com>
46560
46561         * modules/rijndael-tests: New file.
46562
46563         * modules/rijndael: New file.
46564
46565 2005-10-15  Simon Josefsson  <jas@extundo.com>
46566
46567         * m4/rijndael.m4: New file.
46568
46569 2005-10-15  Simon Josefsson  <jas@extundo.com>
46570
46571         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
46572
46573         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
46574
46575 2005-10-14  Simon Josefsson  <jas@extundo.com>
46576
46577         * tests/test-arcfour.c: New file.
46578
46579         * modules/arcfour, modules/arcfour-tests: New files.
46580
46581 2005-10-14  Simon Josefsson  <jas@extundo.com>
46582
46583         * m4/arcfour.m4: New file.
46584
46585 2005-10-14  Simon Josefsson  <jas@extundo.com>
46586
46587         * lib/arcfour.h, lib/arcfour.c: New files.
46588
46589 2005-10-14  Roland McGrath  <roland@redhat.com>
46590
46591         Import from libc.  [BZ #1331]
46592         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
46593         macro argument.
46594         Reported by Matej Vela <vela@debian.org>.
46595
46596 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46597
46598         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
46599         include <wchar.h>; no longer needed.
46600
46601 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46602
46603         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
46604
46605 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
46606         and  Ulrich Drepper  <drepper@redhat.com>
46607
46608         Import from libc.
46609         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
46610         instead of inline stream orientation test and two separate
46611         function calls.  Pay no attention to USE_IN_LIBIO.
46612
46613 2005-10-13  Simon Josefsson  <jas@extundo.com>
46614
46615         * modules/gc-hmac-md5-tests: New file.
46616
46617         * tests/test-gc-hmac-sha1.c: New file.
46618
46619         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
46620
46621         * modules/gc-hmac-md5-tests: New file.
46622
46623         * tests/test-gc-md5.c: New file.
46624
46625         * modules/gc-md5-tests: New file.
46626
46627 2005-10-13  Simon Josefsson  <jas@extundo.com>
46628
46629         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
46630         Move memory allocation outside of loop.
46631
46632 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
46633
46634         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
46635         intermediate directory is in a read-only file system.  Problem
46636         reported by Eric Blake.
46637
46638 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
46639
46640         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
46641
46642 2005-10-12  Simon Josefsson  <jas@extundo.com>
46643
46644         * tests/test-hmac-sha1.c: New file.
46645
46646         * modules/hmac-sha1-tests: New file.
46647
46648         * modules/hmac-sha1: New file.
46649
46650 2005-10-12  Simon Josefsson  <jas@extundo.com>
46651
46652         * modules/gc-sha1: New file.
46653
46654 2005-10-12  Simon Josefsson  <jas@extundo.com>
46655
46656         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
46657
46658         * tests/test-gc-pbkdf2-sha1.c: New file.
46659
46660 2005-10-12  Simon Josefsson  <jas@extundo.com>
46661
46662         * modules/gc-md5, modules/gc-hmac-md5: New files.
46663
46664         * modules/gc (Files): Remove md5, memxor and hmac files.
46665
46666 2005-10-12  Simon Josefsson  <jas@extundo.com>
46667
46668         * m4/gc-pbkdf2-sha1.m4: New file.
46669
46670         * m4/gc-hmac-sha1.m4: New file.
46671
46672         * m4/gc-sha1: New file.
46673
46674         * m4/hmac-sha1.m4: New file.
46675
46676 2005-10-12  Simon Josefsson  <jas@extundo.com>
46677
46678         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
46679
46680         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
46681
46682 2005-10-12  Simon Josefsson  <jas@extundo.com>
46683
46684         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
46685         suggested by Bruno Haible <bruno@clisp.org>.
46686
46687 2005-10-12  Simon Josefsson  <jas@extundo.com>
46688
46689         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
46690
46691 2005-10-12  Simon Josefsson  <jas@extundo.com>
46692
46693         * lib/gc-pbkdf2-sha1.c: New file.
46694
46695         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
46696
46697 2005-10-12  Simon Josefsson  <jas@extundo.com>
46698
46699         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
46700
46701         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
46702
46703 2005-10-12  Simon Josefsson  <jas@extundo.com>
46704
46705         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
46706         GC_USE_HMAC_MD5, respectively.
46707
46708         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
46709         (gc_md5): Fix typo.
46710
46711         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
46712
46713         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
46714
46715         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
46716
46717 2005-10-12  Bruno Haible  <bruno@clisp.org>
46718
46719         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
46720         Reported by Stepan Kasal <kasal@ucw.cz>.
46721
46722 2005-10-11  Simon Josefsson  <jas@extundo.com>
46723
46724         * tests/test-crc.c: New file.
46725
46726         * modules/crc, modules/crc-tests: New files.
46727
46728 2005-10-11  Simon Josefsson  <jas@extundo.com>
46729
46730         * m4/crc.m4: New file.
46731
46732 2005-10-11  Simon Josefsson  <jas@extundo.com>
46733
46734         * lib/gc.h: Add gc_hash and gc_hash_buffer.
46735
46736         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
46737
46738         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
46739
46740 2005-10-11  Simon Josefsson  <jas@extundo.com>
46741
46742         * lib/crc.h, lib/crc.c: New files.
46743
46744         * lib/gc.h (gc_hash_buffer): Add doc.
46745
46746 2005-10-11  Bruno Haible  <bruno@clisp.org>
46747
46748         * modules/c-strcasestr: New file.
46749         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
46750
46751 2005-10-11  Bruno Haible  <bruno@clisp.org>
46752
46753         * modules/c-strcase: New file.
46754         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
46755
46756 2005-10-11  Bruno Haible  <bruno@clisp.org>
46757
46758         * lib/strcasecmp.c: Include limits.h.
46759         (strcasecmp): Avoid integer overflow on exotic platforms.
46760         * lib/strncasecmp.c: Include limits.h.
46761         (strncasecmp): Avoid integer overflow on exotic platforms.
46762         Reported by Paul Eggert.
46763
46764 2005-10-11  Bruno Haible  <bruno@clisp.org>
46765
46766         * lib/c-strcasestr.h: New file, from GNU gettext.
46767         * lib/c-strcasestr.c: New file, from GNU gettext.
46768
46769 2005-10-11  Bruno Haible  <bruno@clisp.org>
46770
46771         * lib/c-strcase.h: New file, from GNU gettext.
46772         * lib/c-strcasecmp.c: New file, from GNU gettext.
46773         * lib/c-strncasecmp.c: New file, from GNU gettext.
46774
46775 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46776
46777         * modules/mempcpy (License): GPL -> LGPL.
46778         * modules/strchrnul (License): Likewise.
46779         * modules/sysexits (License): Likewise.
46780
46781 2005-10-08  Simon Josefsson  <jas@extundo.com>
46782
46783         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
46784
46785 2005-10-07  Simon Josefsson  <jas@extundo.com>
46786
46787         * m4/memxor.m4: Remove gl_C_RESTRICT call.
46788
46789 2005-10-06  Simon Josefsson  <jas@extundo.com>
46790
46791         * tests/test-hmac-md5.c: New file.
46792
46793         * modules/hmac-md5-tests: New file.
46794
46795         * modules/hmac-md5: New file.
46796
46797 2005-10-06  Simon Josefsson  <jas@extundo.com>
46798
46799         * m4/hmac-md5.m4: New file.
46800
46801         * m4/memxor.m4: Require gl_C_RESTRICT.
46802
46803 2005-10-06  Simon Josefsson  <jas@extundo.com>
46804
46805         * lib/memxor.c (memxor): Avoid casts and warnings.
46806
46807 2005-10-06  Simon Josefsson  <jas@extundo.com>
46808
46809         * lib/hmac-md5.c: New file.
46810
46811         * lib/hmac.h: New file.
46812
46813 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46814
46815         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
46816         promotes to int, not unsigned int, to catch the AIX 5.3
46817         compiler bug.
46818
46819 2005-10-05  Simon Josefsson  <jas@extundo.com>
46820
46821         * modules/memxor: New file.
46822
46823         * modules/iconv (Files): Move config.rpath to havelib, it is used
46824         there.
46825
46826         * modules/havelib (Files): Add config.rpath.
46827
46828 2005-10-05  Simon Josefsson  <jas@extundo.com>
46829
46830         * m4/memxor.m4: New file.
46831
46832 2005-10-05  Simon Josefsson  <jas@extundo.com>
46833
46834         * lib/memxor.c (memxor): Fix compiler error.
46835
46836         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
46837         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
46838
46839         * lib/memxor.h, lib/memxor.c: New files.
46840
46841         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
46842         we assume all systems have it, suggested by Jim Meyering
46843         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
46844         any systems lack sys/socket.h; mingw32 is known to lack it, but we
46845         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
46846         same reasons.
46847
46848 2005-10-05  Simon Josefsson  <jas@extundo.com>
46849
46850         * config/srclist.txt: Add glibc bug 1423 for md5.h.
46851
46852 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46853
46854         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
46855         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
46856         needed, since the source code now assumes these .h files.
46857
46858 2005-10-05  Derek Price  <derek@ximbiot.com>
46859
46860         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
46861
46862 2005-10-05  Bruno Haible  <bruno@clisp.org>
46863
46864         * modules/stdint (License): Change to LGPL.
46865
46866 2005-10-04  Simon Josefsson  <jas@extundo.com>
46867
46868         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
46869         D. Baushke" <mdb@gnu.org>.
46870
46871 2005-10-04  Bruno Haible  <bruno@clisp.org>
46872
46873         * lib/verify.h (verify_true): Provide alternative definition for C++.
46874
46875 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
46876
46877         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
46878         (SSIZE_MAX): New macro, if not already defined.
46879         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
46880         than 2 GiB.
46881
46882 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46883
46884         Sync from coreutils.
46885         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
46886         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
46887         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
46888         ULLONG_MAX doesn't work with 2.7.2.1.
46889
46890 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46891
46892         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
46893         From Ben Pfaff.
46894
46895         * modules/exclude (Depends-on): Depend on verify.
46896         * modules/strtoimax (Depends-on): Likewise.
46897         * modules/utimecmp (Depends-on): Likewise.
46898
46899 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * lib/exclude.c: Include verify.h.
46902         (verify): Remove.  All callers changed to use verify.h's version.
46903         * lib/strtoimax.c: Likewise.
46904         * lib/utimecmp.c: Likewis.e
46905
46906         Sync from coreutils.
46907         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
46908         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
46909         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
46910         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
46911         bother returning ENOSYS if settimeofday or stime fails; just let
46912         them return whatever errno they want to return.
46913         * lib/utimens.c: Include unistd.h, for dup2.
46914         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
46915         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
46916
46917 2005-10-02  Jim Meyering  <jim@meyering.net>
46918
46919         Sync from coreutils.
46920         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
46921         from glibc-2.2.5 that fails for read-only files.
46922
46923 2005-10-02  Jim Meyering  <jim@meyering.net>
46924
46925         Sync from coreutils.
46926         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
46927         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
46928         `#if HAVE_CONFIG_H'.
46929         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
46930         Remove AT_FDCWD test.
46931         Do not consume the fd unless successful.
46932         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
46933         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
46934         block, so that we don't even try to compile it if settimeofday is
46935         available.  This works around a compilation failure on OSF1 V5.1,
46936         due to stime requiring a `long int*' while tv_sec is `int'.
46937
46938 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
46939
46940         Sync from coreutils.
46941         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
46942         against `yes', rather than just testing for nonempty.
46943
46944 2005-10-01  Simon Josefsson  <jas@extundo.com>
46945
46946         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
46947         and Darwin.
46948
46949         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
46950         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
46951         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
46952         freeaddrinfo and gai_strerror are declared by the POSIX headers.
46953         Check if struct addrinfo is declared.
46954
46955 2005-10-01  Simon Josefsson  <jas@extundo.com>
46956
46957         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
46958         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
46959         AI_* and EAI_* definitions.  Protect function declarations.
46960
46961 2005-10-01  Jim Meyering  <jim@meyering.net>
46962
46963         Sync from coreutils.
46964
46965         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
46966         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
46967         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
46968         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
46969         in the inet and nsl libraries.  Required on Solaris 5.7.
46970
46971 2005-10-01  Jim Meyering  <jim@meyering.net>
46972
46973         Sync from coreutils.
46974         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
46975         in the inet and nsl libraries.  Required on Solaris 5.7.
46976
46977 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
46978
46979         * lib/getdelim.c (getdelim): Remove unused variables.
46980
46981 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46982
46983         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
46984         so that the code works even with ancient cpp.  Portability problem
46985         with GCC 2.7.2.1 reported by Thomas M.Ott.
46986
46987 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
46988
46989         * modules/regex (Depends-on): Add strcase.
46990
46991         * modules/gethostname (Licence): Change from GPL to LGPL, since
46992         gethostname.c is a trivial implementation of a standard library
46993         function.
46994         * modules/poll (License): Change from GPL to LGPL, since it's
46995         derived from LGPL code.
46996
46997 2005-09-27  Jim Meyering  <jim@meyering.net>
46998
46999         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
47000         HAVE_CONFIG_H.
47001
47002         * lib/intprops.h (signed_type_or_expr__): Define.
47003         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
47004         for unsigned types.
47005
47006 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47007
47008         * lib/verify.h (verify_expr): Remove, replacing with:
47009         (verify_true): New macro that returns true instead of void.
47010         (verify_type__): Remove.
47011         (verify): Use verify_true rather than verify_type__.
47012
47013 2005-09-26  Bruno Haible  <bruno@clisp.org>
47014
47015         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
47016         is necessary.
47017         (lib_SOURCES): Remove mbchar.c.
47018         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
47019         (Files): Add m4/mbrtowc.m4.
47020         * modules/mbiter: Likewise.
47021         * modules/mbuiter: Likewise.
47022
47023 2005-09-26  Bruno Haible  <bruno@clisp.org>
47024
47025         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
47026         compile mbchar.c if they are not both present.
47027         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
47028         * m4/mbiter.m4 (gl_MBITER): Likewise.
47029         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
47030         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
47031         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
47032
47033 2005-09-25  Jim Meyering  <jim@meyering.net>
47034
47035         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
47036         also uses socklen_t.
47037
47038 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47039
47040         * lib/utimens.c (ENOSYS): Define if not already defined.
47041         (futimens): Support having a null PATH if the file descriptor
47042         is nonnegative.
47043
47044         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
47045         Remove.
47046         (__attribute): Define to empty unless GCC 3.1 or later.
47047         This works around a core dump on OpenBSD 3.4, which has GCC
47048         2.95.3, which dumps core when given __attribute__(()).  It also
47049         simplifies other tests, since we really don't want to bother with
47050         worrying about which ancient version of GCC supported what.
47051         Original problem reported by Yoann Vandoorselaere, with part of
47052         the fix suggested by Derek Price.
47053
47054 2005-09-24  Jim Meyering  <jim@meyering.net>
47055
47056         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
47057         so we can once again use a positive bitfield width of 1 -- now we
47058         don't have to explain why we were using a bitfield width of 2.
47059
47060 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47061
47062         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
47063         and similarly for the other external symbols.  Problem reported
47064         by James Gallager.
47065
47066         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
47067         bug reported by Jim Meyering.
47068
47069         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
47070         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
47071         not needed, since socklen is a prerequisite module.
47072
47073 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47074
47075         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
47076         Problem reported by Eric Blake.
47077         (getaddrinfo): Initialize se so that it's not garbage.
47078         Redo internal storage allocation so that it doesn't make unportable
47079         assumptions about alignment.
47080         Fix a memory leak.
47081
47082         * lib/utimens.c (futimens): Use futimesat if available.
47083         Prefer it to futimes since it doesn't have the futimes bug.
47084
47085         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
47086         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
47087         Instead, declare a function that returns a pointer to an array,
47088         and use verify_type__ to declare the size of the array.
47089         Problem and germ of a solution reported by Bruno Haible.
47090         (verify_type__): Use 2, not 1, for bitfield size, to avoid
47091         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
47092
47093 2005-09-23  Jim Meyering  <jim@meyering.net>
47094
47095         Sync from coreutils.
47096         Correct build failure (socklen_t not defined) on at least
47097         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
47098         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
47099
47100 2005-09-23  Jim Meyering  <jim@meyering.net>
47101
47102         * modules/getaddrinfo (Depends-on): Add socklen.
47103
47104 2005-09-23  Bruno Haible  <bruno@clisp.org>
47105
47106         * tests/test-verify.c: New file.
47107
47108 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47109
47110         Sync from coreutils.
47111
47112         * modules/argmatch (Depends-on): Add verify.
47113         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
47114         unistd-safer.
47115         * modules/save-cwd (Depends-on): Likewise.
47116
47117         * modules/openat (Files): Add lib/openat-die.c.
47118         (Depends-on): Remove error, exitfail.
47119         Add dirname.
47120
47121         * modules/verify: New file.
47122         * MODULES.html.sh (Diagnostics <assert.h>): New section,
47123         with "verify" module.
47124
47125 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47126
47127         Sync from coreutils.
47128
47129         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
47130         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
47131         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
47132         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
47133         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
47134         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
47135         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
47136         Don't bother checking for string.h, stdlib.h, unistd.h.
47137         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
47138         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
47139         module's job.
47140         * m4/jm-macros.m4 (gl_MACROS): Likewise.
47141         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
47142
47143         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
47144         (gl_GETDATE): Use it.
47145
47146         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
47147
47148 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47149
47150         Sync from coreutils.
47151
47152         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
47153         stat-time.h.
47154         * lib/argmatch.h: Include verify.h
47155         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
47156         (ARGMATCH_ASSERT): Remove; unused.
47157         * lib/canonicalize.c: Assume STDC_HEADERS.
47158         * lib/exclude.c: Include "strcase.h".
47159         * lib/regex_internal.h [!defined _LIBC]: Likewise.
47160         * lib/getusershell.c: Include stdio--.h rather than stdio.h
47161         and stdio-safer.h.
47162         (getusershell): Call fopen, not fopen_safer.
47163         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
47164         Do not include unistd-safer.h.
47165         (save_cwd): Don't call fd_safer; no longer needed
47166         now that we include fcntl--.h.
47167
47168         * lib/getdate.y (relative_time): New type.
47169         (RELATIVE_TIME_0): New constant.
47170         (parser_control): Use relative_time instead of doing it ourselves.
47171         (%union): Add new relative_time rel member.
47172         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
47173         Now typeless.
47174         (relunit, relunit_snumber): Now of type rel.
47175         (zone, rel, relunit, get_date): Adjust to above changes.
47176
47177         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
47178         Do not include unistd-safer.h.
47179         (getloadavg): Don't call fd_safer; no longer needed
47180         now that we include fcntl--.h.
47181
47182         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
47183         (make_dir_parents): Treat ENOSYS like EEXIST.
47184
47185         Improve quality of diagnostics on restore_cwd failure.
47186         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
47187         (make_dir_parents): Last arg is now int * (for errno), not bool *.
47188         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
47189         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
47190         each time through the loop.  Do not diagnose restore_cwd failure;
47191         that is the caller's job (and perhaps the caller does not care).
47192
47193         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
47194         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
47195         If the file already exists but is not a directory, don't bother
47196         to try to make its parents.
47197         Close potential file descriptor leak if we can't chdir("/") (!).
47198         Don't always return true if chdir($PWD) fails; return true only
47199         if the requested action was done successfully (except for the
47200         chdir($PWD)).
47201         Don't log final directory unless we actually made it.
47202         Refactor to avoid duplicate code to fix up permissions.
47203         Don't attempt to fix up parent permissions if chdir($PWD) fails.
47204
47205         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
47206         to make it a bit faster and (I hope) clearer.
47207         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
47208         Fix bug in formats like %2N.
47209
47210         * lib/verify.h: New file.
47211
47212 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47213
47214         Sync from coreutils.
47215         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
47216
47217 2005-09-22  Jim Meyering  <jim@meyering.net>
47218
47219         Sync from coreutils.
47220
47221         * m4/lstat.m4 (gl_FUNC_LSTAT):
47222         Use AC_LIBSOURCES to require lstat.c and lstat.h.
47223         Remove obsolete comment.
47224         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
47225         * m4/xstrtod.m4: Likewise.
47226
47227         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
47228
47229 2005-09-22  Jim Meyering  <jim@meyering.net>
47230
47231         Sync from coreutils.
47232
47233         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
47234
47235         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
47236         the .tm_year member, since otherwise gcc-4.0 would now warn about
47237         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
47238
47239         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
47240         order to avoid an unsuppressible warning from gcc on 64-bit systems.
47241
47242         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
47243         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
47244         when run in a time zone for which daylight savings time is in effect
47245         for the starting date.
47246
47247         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
47248         stop us from restricting permissions of just-created absolute-named
47249         directories.
47250         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
47251         to restore initial working directory.
47252         * lib/mkdir-p.c (make_dir_parents): New parameter:
47253         different_working_dir, to tell caller if/when we change the working
47254         directory and are unable to return to the initial one.
47255         * lib/mkdir-p.h (make_dir_parents): Update prototype.
47256         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
47257         `return false'.  This fixes a bug introduced on 2004-07-30.
47258
47259         * lib/openat.c (fdopendir): Be sure to close the supplied
47260         file descriptor before returning.  This makes our replacement
47261         implementation a little closer to Solaris's, where fdopendir
47262         ties the file descriptor to the returned DIR* pointer.
47263         * lib/openat.c (unlinkat): New function.
47264         * lib/openat.h (unlinkat): Add prototype.
47265         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
47266         (openat_restore_fail): Rename from openat_restore_die.
47267         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
47268
47269         Provide an alternative to exiting immediately upon save_cwd or
47270         restore_cwd failure.  Now, an application can arrange e.g.,
47271         to perform a longjump in that case.
47272         * lib/openat.c: Include dirname.h.
47273         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
47274         (rpl_openat, fdopendir, fstatat): Call openat_save_die
47275         and openat_restore_die rather than calling error directly.
47276         Don't include "error.h" or "exitfail.h"; they're no longer needed.
47277
47278         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
47279         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
47280         define.
47281
47282         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
47283         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
47284                             int utc, int nanoseconds);
47285         Background:
47286         date should not have to allocate a megabyte of virtual memory to
47287         handle a format argument like +%1048575T.  When implemented with
47288         strftime, it must allocate such a buffer, use strftime to fill it
47289         in, print it, then free it.
47290         With fprintftime, it simply prints everything and exits.
47291         With no need for memory allocation, that's one fewer way to fail.
47292         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
47293         optional field width, not before, so we accept %9:z, not %:9z.
47294         (my_strftime): Be sure to use L_('x') for literals.
47295
47296         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
47297         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
47298         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
47299         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
47300         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
47301         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
47302         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
47303         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
47304         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
47305         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
47306         * lib/xgethostname.c, lib/xreadlink.c:
47307         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
47308
47309         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
47310         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
47311         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
47312         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
47313         and don't include <sys/file.h>).
47314
47315 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
47316
47317         Sync from coreutils.
47318
47319         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
47320         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
47321         [!LDAV_DONE]: Avoid unused variable warning.
47322
47323 2005-09-21  Bruno Haible  <bruno@clisp.org>
47324
47325         * lib/unicodeio.h (unicode_to_mb): New declaration.
47326
47327 2005-09-20  Derek Price  <derek@ximbiot.com>
47328
47329         * lib/getaddrinfo.c: Don't include <netdb.h> included from
47330         getaddrinfo.h.
47331
47332 2005-09-20  Bruno Haible  <bruno@clisp.org>
47333
47334         * gnulib-tool: Remove trailing slashes from the values specified for
47335         --source-base, --m4-base, --tests-base, --aux-dir.
47336         Suggested by Simon Josefsson <jas@extundo.com>.
47337
47338 2005-09-20  Bruno Haible  <bruno@clisp.org>
47339
47340         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
47341         func_modules_to_filelist, func_import, func_create_testdir): Make all
47342         sorting results locale-independent, so that gnulib-cache.m4 doesn't
47343         change when gnulib-tool is invoked in a different locale.
47344
47345 2005-09-19  Simon Josefsson  <jas@extundo.com>
47346
47347         * m4/socklen.m4: Fix typo.
47348
47349 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47350
47351         Use a consistent style for including <config.h>.
47352         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
47353         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
47354         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
47355         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
47356         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
47357         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
47358         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
47359         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
47360         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
47361         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
47362         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
47363         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
47364         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
47365         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
47366         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
47367         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
47368         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
47369         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
47370         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
47371         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
47372         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
47373         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
47374         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
47375         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
47376         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
47377         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
47378         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
47379         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
47380         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
47381         lib/xstrtoumax.c, lib/yesno.c:
47382         Standardize inclusion of config.h.
47383         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
47384         lib/inttostr.h:  Removed inclusion of config.h from header files.
47385         * lib/inttostr.c:  Adjusted in-tree users.
47386         * lib/timespec.h: Remove superfluous warning to include config.h.
47387         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
47388         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
47389         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
47390         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
47391         config.h with HAVE_CONFIG_H.
47392
47393 2005-09-19  Jim Meyering  <jim@meyering.net>
47394
47395         * modules/pathmax (License): Change to LGPL.
47396
47397 2005-09-19  Derek Price  <derek@ximbiot.com>
47398
47399         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
47400
47401 2005-09-19  Bruno Haible  <bruno@clisp.org>
47402
47403         * gnulib-tool (import): Provide default for --tests-base.
47404
47405 2005-09-19  Bruno Haible  <bruno@clisp.org>
47406
47407         * doc/quote.texi: New file, extracted from gnulib.texi.
47408         * doc/ctime.texi: New file, extracted from gnulib.texi.
47409         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
47410         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
47411         * doc/gnulib.texi: Include them.
47412
47413 2005-09-18  Bruno Haible  <bruno@clisp.org>
47414
47415         Portability fix.
47416         * gnulib-tool (func_readlink): New function.
47417         (func_ln_if_changed): Use it.
47418
47419 2005-09-18  Bruno Haible  <bruno@clisp.org>
47420
47421         * gnulib-tool: Support --with-tests also with --import.
47422         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
47423         (func_import): Use variables $testsbase and $inctests. Emit a
47424         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
47425         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
47426         SUBDIRS += $testsdir.
47427         (func_create_testdir): Update.
47428
47429 2005-09-18  Bruno Haible  <bruno@clisp.org>
47430
47431         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
47432         instead of $dry_run.
47433         (func_cp_if_changed, func_mv_if_changed): Remove functions.
47434         (func_ln_if_changed): Don't handle dry-run here.
47435         (func_import): In dry-run mode, detect more precisely which actions
47436         would be performed, and don't use "...ing" verbs.
47437
47438 2005-09-18  Bruno Haible  <bruno@clisp.org>
47439
47440         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
47441         (func_import): Use join on two temporary files instead of three nested
47442         loops, in order to determine which files are new or old.
47443
47444 2005-09-18  Bruno Haible  <bruno@clisp.org>
47445
47446         * gnulib-tool (func_import): Comment out code that spits out the
47447         new files with --dry-run.
47448
47449 2005-09-18  Bruno Haible  <bruno@clisp.org>
47450
47451         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
47452
47453 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47454
47455         * lib/stat-time.h: New file.
47456         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
47457         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
47458         in a different way.
47459         (timespec_cmp): New function.
47460         * lib/utimecmp.c: Include stat-time.h.
47461         (SYSCALL_RESOLUTION): Depend on whether various struct stat
47462         members exist, not on the obsolescent ST_MTIM_NSEC.
47463         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
47464
47465 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47466
47467         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
47468
47469 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47470
47471         * MODULES.html.sh (File system functions): Add stat-time.
47472         * modules/stat-time: New file.
47473         * modules/timespec (Files): Remove m4/st_mtim.m4; this
47474         is now done in a different way, by the stat-time module.
47475         * modules/utimecmp (Depends-on): Add stat-time.
47476
47477 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47478
47479         * m4/st_mtim.m4: Remove.  Superseded by...
47480         * m4/stat-time.m4: New file.
47481         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
47482         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
47483
47484 2005-09-15  Derek Price  <derek@ximbiot.com>
47485
47486         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
47487
47488 2005-09-15  Derek Price  <derek@ximbiot.com>
47489
47490         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
47491         * lib/regex_internal.c: Ditto, using this...
47492         (__GNUC_PREREQ): ...new macro.
47493         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
47494         using...
47495         (__GNUC_PREREQ): ...this new macro.
47496
47497         * lib/strstr.h: Include string.h. Define strstr as a macro here.
47498
47499 2005-09-15  Derek Price  <derek@ximbiot.com>
47500             Paul Eggert  <eggert@cs.ucla.edu>
47501
47502         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
47503         changes, consolidating in...
47504         * lib/regex_internal.h: ...this file.
47505
47506 2005-09-13  Jim Meyering  <jim@meyering.net>
47507
47508         * lib/canon-host.c: Filter through gnu indent and reword comments
47509         slightly.
47510         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
47511
47512 2005-09-13  Derek Price  <derek@ximbiot.com>
47513
47514         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
47515         failure.
47516         Reported by Jim Meyering  <jim@meyering.net>.
47517
47518 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47519
47520         * lib/base64.c: Typo.
47521         (base64_encode): Put b64str in initialized data section.
47522
47523 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47524
47525         Merge glibc and coreutils changes into gnulib, plus a few
47526         extra fixes.
47527         * lib/md5.c: Use #error rather than a string.
47528         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
47529         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
47530         (__attribute__): Define to empty for non recent-GCC.
47531         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
47532         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
47533         Renamed from their non-__ counterparts, with new macros replacing
47534         them if not _LIBC.  Add __THROW attribute.
47535         (rol): Remove.
47536         (struct md5_ctx): Align buffer if using GCC.
47537         * lib/sha1.h (struct sha1_ctx): Likewise.
47538         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
47539         The old name was backwards.
47540         (NOTSWAP): Remove; not used.
47541         (rol): New macro, moved here from md5.h.
47542         (sha1_process_block): Remove a FIXME that doesn't make sense.
47543
47544 2005-09-12  Derek Price  <derek@ximbiot.com>
47545
47546         Return usable errors from canon-host.
47547         * lib/canon-host.h: New file.
47548         * lib/canon-host.c (canon_host): Wrap...
47549         (canon_host_r): ...this new function, which now relies exclusively on
47550         getaddrinfo.
47551         (ch_strerror): New function.
47552         (last_cherror): New global.
47553         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
47554         interface.
47555         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
47556         void *.
47557         (freeaddrinfo): Free ai->ai_canonname when set.
47558
47559 2005-09-12  Derek Price  <derek@ximbiot.com>
47560
47561         Make canon-host require getaddrinfo.
47562         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
47563         AC_LIBSOURCE canon-host.h.  Call...
47564         (gl_PREREQ_CANON_HOST): ...this new function, which requires
47565         gl_GETADDRINFO.
47566         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
47567
47568 2005-09-12  Derek Price  <derek@ximbiot.com>
47569
47570         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
47571         LGPL.
47572         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
47573
47574 2005-09-12  Derek Price  <derek@ximbiot.com>
47575
47576         * lib/gai_strerror.c: Include config.h when available.  Include
47577         getaddrinfo.h before other headers to test interface.
47578         Reported by Larry Jones <lawrence.jones@ugs.com>.
47579
47580 2005-09-12  Derek Price  <derek@ximbiot.com>
47581             Paul Eggert  <eggert@cs.ucla.edu>
47582
47583         * modules/glob (Files): Add glob-libc.h.
47584
47585 2005-09-12  Derek Price  <derek@ximbiot.com>
47586             Paul Eggert  <eggert@cs.ucla.edu>
47587
47588         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
47589         glob_.h, glob-libc.h.
47590         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
47591
47592 2005-09-12  Derek Price  <derek@ximbiot.com>
47593             Paul Eggert  <eggert@cs.ucla.edu>
47594
47595         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
47596         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
47597         protecting things that should be done only in gnulib contexts.
47598         * lib/glob_.h: New file, containing only the glob things needed for
47599         gnulib.
47600         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
47601         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
47602         (glob, globfree, glob_pattern_p): Now defined simply in terms of
47603         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
47604         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
47605         and to respect the namespace rules better.
47606
47607 2005-09-08  Simon Josefsson  <jas@extundo.com>
47608
47609         * modules/socklen: New file.
47610
47611 2005-09-08  Simon Josefsson  <jas@extundo.com>
47612
47613         * m4/socklen.m4: New file.
47614
47615 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47616
47617         * modules/utimens (Files): Add m4/utimbuf.m4, since
47618         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
47619         Reported by Sergey Poznyakoff.
47620
47621 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47622
47623         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
47624         definitions, since that's the preferred style in glibc.
47625         Fix a minor spacing issue, and update copyright notice to match
47626         glibc's.
47627
47628 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47629
47630         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
47631
47632 2005-09-06  Simon Josefsson  <jas@extundo.com>
47633
47634         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
47635         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
47636
47637 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47638
47639         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
47640         warning.
47641
47642 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47643
47644         * config/srclist.txt: Add glibc bug 1302.
47645
47646 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
47647
47648         Change bitset word type from unsigned int to unsigned long int,
47649         as this has better performance on typical 64-bit hosts.
47650         Port bitset code to hosts with unusual word sizes.
47651         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
47652         (build_collating_symbol):
47653         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
47654         argument is a bitset.  This is merely a style issue, but it makes
47655         it clearer that an entire array is expected.
47656         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
47657         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
47658         Port to the case where bitset_word is not the same as unsigned int.
47659         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
47660         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
47661         Likewise.
47662         * lib/regexec.c (check_dst_limits_calc_pos_1,
47663         check_subexp_matching_top):
47664         (build_trtable, group_nodes_into_DFAstates):
47665         Likewise.
47666         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
47667         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
47668         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
47669         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
47670         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
47671         * lib/regcomp.c (optimize_subexps, lower_subexp):
47672         Work even if bitset_word has holes in its bitwise representation.
47673         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
47674         * lib/regexec.c (check_dst_limits_calc_pos_1,
47675         check_subexp_matching_top):
47676         Likewise.
47677         * lib/regex_internal.c (re_string_reconstruct):
47678         Don't assume UCHAR_MAX == 255.
47679         * lib/regex_internal.h (bitset_set_all): Likewise.
47680         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
47681         All uses changed.
47682         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
47683         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
47684         All uses changed.
47685         (BITSET_WORD_MAX): New macro.
47686         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
47687         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
47688         (bitset_empty, bitset_copy):
47689         Prefer sizeof (bitset) to multiplying it out ourselves.
47690         (bitset_not_merge): Remove; unused.
47691         (bitset_contain): Return bool, not unsigned int with one bit on.
47692         All callers changed.
47693         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
47694         alignment than re_node_set; do this by defining a new internal
47695         type struct dests_alloc and using it to allocate memory.
47696
47697 2005-09-05  Bruno Haible  <bruno@clisp.org>
47698
47699         * gnulib-tool (func_import): Fix comparison in handling of symbolic
47700         links.
47701
47702 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
47703
47704         * modules/size_max (Makefile.am): Add size_max.h
47705
47706 2005-09-04  Derek Price  <derek@ximbiot.com>
47707
47708         * gnulib-tool (func_import): Fix reversed $symbolic logic.
47709
47710 2005-09-03  Simon Josefsson  <jas@extundo.com>
47711
47712         * gnulib-tool: Fix typo.
47713
47714 2005-09-03  Simon Josefsson  <jas@extundo.com>
47715
47716         * config/srclist.txt: Add glibc bug 1293.
47717
47718 2005-09-03  Derek Price  <derek@ximbiot.com>
47719
47720         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
47721         From Larry Jones <lawrence.jones@ugs.com>.
47722
47723 2005-09-02  Simon Josefsson  <jas@extundo.com>
47724
47725         * modules/socklen: New file.
47726
47727 2005-09-02  Simon Josefsson  <jas@extundo.com>
47728
47729         * modules/havelib: New module.
47730
47731         * modules/gettext, modules/iconv, modules/lock, modules/readline:
47732         Use havelib.
47733
47734 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47735
47736         Check for arithmetic overflow when calculating sizes, to prevent
47737         some buffer-overflow issues.  These patches are conservative, in the
47738         sense that when I couldn't determine whether an overflow was possible,
47739         I inserted a run-time check.
47740         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
47741         macros.
47742         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
47743         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
47744         (re_xnrealloc, re_x2nrealloc): New inline functions.
47745         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
47746         parse_bracket_exp):
47747         (build_equiv_class, build_charclass): Check for arithmetic overflow
47748         in size expression calculations.
47749         * lib/regex_internal.c (re_string_realloc_buffers):
47750         (build_wcs_upper_buffer, re_node_set_add_intersect):
47751         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
47752         (re_dfa_add_node, register_state): Likewise.
47753         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
47754         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
47755         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
47756         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
47757
47758 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47759
47760         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
47761         m4/ulonglong.m4.  Problem reported by Martin Lambers.
47762
47763 2005-09-02  Bruno Haible  <bruno@clisp.org>
47764
47765         Support for lib vs. lib64 distinction on biarch platforms.
47766         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
47767         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
47768         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
47769
47770 2005-09-02  Bruno Haible  <bruno@clisp.org>
47771
47772         * gnulib-tool (import): In the other first-use case, provide defaults
47773         as well.
47774
47775 2005-09-02  Bruno Haible  <bruno@clisp.org>
47776
47777         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
47778         patches not yet found in the latest gettext release.
47779
47780 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47781
47782         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
47783         to avoid a collision with bits/local_lim.h in glibc.
47784         All uses changed.  Problem reported by Dmitry V. Levin in
47785         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
47786
47787         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
47788         bugs in int versus size_t comparisons.
47789         (re_string_context_at): Fix bug where the code assumed that
47790         Idx is signed.
47791
47792         Use bool where appropriate.
47793         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
47794         All callers changed.
47795         (calc_eclosure_iter): Likewise, for ROOT arg.
47796         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
47797         (build_charclass_op): Likewise, for NON_MATCH arg.
47798         * lib/regex_internal.c (re_string_allocate, re_string_construct):
47799         (re_string_construct_common): Likewise, for ICASE arg.
47800         * lib/regexec.c (re_search_2_stub, re_search_stub):
47801         Likewise, for RET_LEN arg.
47802         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
47803         (set_regs): Likewise, for FL_BACKTRACK arg.
47804         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
47805         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
47806         (calc_eclosure_iter, parse_bracket_exp):
47807         Use bool for internal variables that are booleans.
47808         * lib/regexec.c (re_search_internal, check_matching,
47809         proceed_next_node):
47810         (set_regs, build_sifted_states, sift_states_bkref):
47811         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
47812         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
47813         (find_collation_sequence_value):
47814         Likewise.
47815         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
47816         (re_node_set_compare):
47817         Return bool, not int. All callers changed.
47818         * lib/regexec.c (check_halt_node_context, check_dst_limits):
47819         (build_trtable, check_node_accept): Likewise.
47820         * lib/regex_internal.h: Include stdbool.h.
47821
47822         Fix bugs uncovered when converting to bool.
47823         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
47824         failure instead of charging ahead blindly.
47825         * lib/regex_internal.c (register_state): Likewise.
47826         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
47827         for freeing internal storage.
47828         (group_nodes_into_DFA_states): Use unsigned int, not int, for
47829         bitset pieces used as boolean, to avoid undefined behavior
47830         on hosts that do int overflow checking.
47831
47832 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47833
47834         * config/srclist.txt: Add glibc bugs 1285-1287.
47835
47836 2005-09-01  Jim Meyering  <jim@meyering.net>
47837
47838         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
47839         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
47840         Require gl_STAT_MACROS, too.
47841
47842 2005-09-01  Bruno Haible  <bruno@clisp.org>
47843
47844         * gnulib-tool (import): In the first-use case, provide defaults.
47845
47846 2005-09-01  Bruno Haible  <bruno@clisp.org>
47847
47848         * gnulib-tool (func_import): Remove the .tmp files.
47849
47850 2005-09-01  Bruno Haible  <bruno@clisp.org>
47851
47852         * gnulib-tool (func_import): Fix handling of symbolic links.
47853
47854 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47855
47856         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
47857         old glibc regex code mishandles strings longer than 2**31 bytes.
47858         This patch fixes this when the regex code is used in gnulib
47859         (i.e., outside glibc).
47860
47861         This patch should not affect the use of the regex code inside
47862         glibc.  No doubt this problem also needs to be handled for glibc
47863         as well, but the result will be an incompatible change to the
47864         glibc ABI, and the old ABI will have to be supported too.  That
47865         can be the the subject for another patch.
47866
47867         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
47868         governing whether the rest of this patch is active.  By default,
47869         the macro is disabled and the patch has no effect.
47870         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
47871         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
47872         (struct re_pattern_buffer, re_search, re_search_2, re_match):
47873         (re_match_2, re_set_registers): Use the new types.
47874         * lib/regex_internal.h (Idx, re_hashval_t): New types.
47875         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
47876         New macros.
47877         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
47878         (re_string_context_at, bin_tree_t, re_dfastate_t):
47879         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
47880         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
47881         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
47882         (re_string_char_size_at, re_string_wchar_at):
47883         (re_string_elem_size_at):
47884         Use the new types and macros to port to 64-bit hosts.
47885         Use unsigned types for internal values, so that the code
47886         mostly works even for arrays larger than SSIZE_MAX.
47887         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
47888         (search_duplicated_node, calc_eclosure_iter, fetch_number):
47889         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
47890         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
47891         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
47892         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
47893         (calc_inveclosure, parse_dup_op, build_range_exp):
47894         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
47895         (fetch_number, create_token_tree, mark_opt_subexp):
47896         Likewise.
47897         * lib/regex_internal.c (re_string_construct_common,
47898         create_ci_newstate):
47899         (create_cd_newstate, re_string_allocate, re_string_construct):
47900         (re_string_realloc_buffers, build_wcs_upper_buffer):
47901         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
47902         (re_string_reconstruct, re_string_peek_byte_case):
47903         (re_string_fetch_byte_case, re_string_context_at):
47904         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
47905         (re_node_set_init_copy, re_node_set_add_intersect):
47906         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47907         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47908         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
47909         (re_acquire_state, re_acquire_state_context, register_state):
47910         Likewise.
47911         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
47912         search_cur_bkref_entry):
47913         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
47914         (re_search_internal, re_search_2_stub, re_search_stub)
47915         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
47916         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
47917         (update_cur_sifted_state, check_dst_limits):
47918         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
47919         (check_subexp_limits, sift_states_bkref, merge_state_array):
47920         (check_subexp_matching_top, get_subexp, get_subexp_sub):
47921         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
47922         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
47923         (expand_bkref_cache, check_node_accept_bytes):
47924         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
47925         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
47926         (acquire_init_state_context, check_halt_node_context):
47927         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
47928         (sift_states_backward, clean_state_log_if_needed):
47929         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
47930         (find_recover_state, transit_state_sb, transit_state_mb):
47931         (transit_state_bkref, build_trtable, match_ctx_clean):
47932         Likewise.
47933         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
47934         to work around an assumption that REG_MISSING is negative.
47935
47936         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
47937         (seek_collating_symbol_entry) [defined _LIBC]:
47938         (lookup_collation_sequence_value) [defined _LIBC]:
47939         (build_range_exp, build_collating_symbol) [defined _LIBC]:
47940         Use prototypes rather than old-style function definitions.
47941         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
47942         (transit_state_sb) [0]:
47943         (find_collation_sequence_value) [defined _LIBC]: Likewise.
47944
47945         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
47946         rm_eo.
47947
47948         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
47949         (optimize_subexps, lower_subexp):
47950         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
47951         since the signed shift might overflow.  Use 1u<<31 instead.
47952         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
47953         Likewise.
47954         * lib/regexec.c (check_dst_limits_calc_pos_1,
47955         check_subexp_matching_top): Likewise.
47956
47957         * lib/regcomp.c (optimize_subexps, lower_subexp):
47958         Use CHAR_BIT rather than 8, for clarity.
47959         * lib/regexec.c (check_dst_limits_calc_pos_1):
47960         (check_subexp_matching_top): Likewise.
47961         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
47962         have to worry about portability issues when shifting it left.
47963         Remove no-longer-needed test for table_size > 0.
47964         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
47965         in a word, as the resulting behavior is undefined.
47966         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
47967         in one case, a <= should have been an <, and in another case the
47968         whole test was missing.
47969         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
47970         the standard name CHAR_BIT.
47971         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
47972         this is not true on one's complement and signed-magnitude hosts.
47973
47974         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
47975         next_last_offset.
47976         (struct re_dfa_t): Remove unused member states_alloc.
47977         * lib/regcomp.c (init_dfa): Don't initialize unused members.
47978
47979 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47980
47981         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
47982         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
47983         and large-file glibc and in 32-bit large-file Solaris.
47984
47985 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47986
47987         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
47988         lengths fit in regoff_t; this isn't true if regoff_t is the same
47989         width as size_t.
47990         * lib/regex.c (re_search_internal): 5th arg is LAST_START
47991         (= START + RANGE) instead of RANGE.  This avoids overflow
47992         problems when regoff_t is the same width as size_t.
47993         All callers changed.
47994         (re_search_2_stub): Check for overflow when adding the
47995         sizes of the two strings.
47996         (re_search_stub): Check for overflow when adding START
47997         to RANGE; if it occurs, substitute the extreme value.
47998
47999 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48000
48001         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
48002
48003 2005-08-31  Jim Meyering  <jim@meyering.net>
48004
48005         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
48006         a pointer-to-const.
48007         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
48008         (register_state): Likewise.
48009         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
48010         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48011         (group_nodes_into_DFAstates): Likewise.
48012
48013 2005-08-31  Jim Meyering  <jim@meyering.net>
48014
48015         * check-module: Add a FIXME comment.
48016
48017 2005-08-31  Eric Blake  <ebb9@byu.net>
48018
48019         * modules/unistd-safer (Files): Add unistd--.h.
48020         * modules/stdio-safer (Files): Add stdio--.h.
48021
48022 2005-08-31  Derek Price  <derek@ximbiot.com>
48023
48024         * lib/getdelim.c (getdelim): Return EOF on EOF.
48025         Reported by Larry Jones <lawrence.jones@ugs.com>.
48026
48027 2005-08-31  Bruno Haible  <bruno@clisp.org>
48028
48029         Avoid unnecessary diffs in the generated lib/Makefile.am.
48030         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
48031         the generated files.
48032         (func_import): Don't set cmd.
48033
48034 2005-08-31  Bruno Haible  <bruno@clisp.org>
48035
48036         * lib/strstr.c: Include <stddef.h>, for NULL.
48037         * lib/strcasestr.c: Likewise.
48038         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48039
48040 2005-08-31  Bruno Haible  <bruno@clisp.org>
48041
48042         * gnulib-tool: New option --macro-prefix.
48043         (func_import): Use macro_prefix.
48044         (import): Handle option --macro-prefix.
48045
48046 2005-08-31  Bruno Haible  <bruno@clisp.org>
48047
48048         * gnulib-tool (import): Rename most ac_* variables to cached_*.
48049         Also use new variables cached_lgpl, cached_libtool.
48050
48051 2005-08-31  Bruno Haible  <bruno@clisp.org>
48052
48053         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
48054         always instantiating them.
48055
48056 2005-08-31  Bruno Haible  <bruno@clisp.org>
48057
48058         * gnulib-tool (func_import): Read the previous cached settings
48059         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
48060         earlier added by gnulib but are now dropped. Warn when a gnulib file
48061         overwrites a non-gnulib file.
48062
48063 2005-08-31  Bruno Haible  <bruno@clisp.org>
48064
48065         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
48066         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
48067         projects that don't keep autogenerated files in CVS. Put into
48068         actioncmd only the specified modules, not the transitive closure.
48069
48070 2005-08-31  Bruno Haible  <bruno@clisp.org>
48071
48072         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
48073         Create directories that shall be filled.
48074         (import): Don't look for gl_* macros in configure.ac. Recurse across
48075         all directories containing a gnulib-cache.m4 files, if meaningful.
48076
48077 2005-08-31  Bruno Haible  <bruno@clisp.org>
48078
48079         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
48080         (import): Set seen_libtool when we see gl_LIBTOOL.
48081
48082 2005-08-31  Bruno Haible  <bruno@clisp.org>
48083
48084         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
48085         declaration macro definitions from generated gnulib.m4.
48086
48087 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
48088
48089         * lib/iconvme.h: Add prototype for iconv_alloc.
48090
48091 2005-08-29  Simon Josefsson  <jas@extundo.com>
48092
48093         * lib/iconvme.c: Fix errno.
48094
48095 2005-08-29  Bruno Haible  <bruno@clisp.org>
48096
48097         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
48098         that it works when the directory contains spaces.
48099
48100 2005-08-29  Bruno Haible  <bruno@clisp.org>
48101
48102         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
48103
48104 2005-08-29  Bruno Haible  <bruno@clisp.org>
48105
48106         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
48107         Emit more advice.
48108
48109 2005-08-29  Bruno Haible  <bruno@clisp.org>
48110         and Stepan Kasal  <kasal@ucw.cz>
48111
48112         * check-module: If more parameters are given, check each of them
48113         separately; add more exceptions, as noted by Jim Meyering.
48114         (check_module): New procedure.
48115         (%exempt_header): Now contains all exceptions.
48116
48117 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
48118
48119         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
48120
48121 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
48122
48123         * lib/iconvme.c: Split iconv_string into iconv_alloc.
48124
48125 2005-08-28  Bruno Haible  <bruno@clisp.org>
48126
48127         * m4/gnulib-tool.m4: New file.
48128
48129 2005-08-27  Jim Meyering  <jim@meyering.net>
48130
48131         * modules/unistd-safer (Files): Add pipe-safer.c.
48132         * modules/fcntl-safer (Files): Add creat-safer.c.
48133
48134 2005-08-27  Jim Meyering  <jim@meyering.net>
48135
48136         * m4/stdlib-safer.m4: New file.  From coreutils.
48137         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
48138         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
48139         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
48140         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
48141         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
48142
48143 2005-08-27  Jim Meyering  <jim@meyering.net>
48144
48145         * lib/fopen-safer.c: Merge minor changes from coreutils.
48146         * lib/dup-safer.c: Likewise.
48147         * lib/fd-safer.c: Likewise.
48148
48149         Merge from coreutils.
48150         * lib/stdio--.h: New file.
48151         * lib/stdlib--.h: New file.
48152         * lib/mkstemp-safer.c: New file.
48153
48154         GNU tar needs these.
48155         * lib/pipe-safer.c: New file.
48156         * lib/creat-safer.c: New file.
48157         * lib/fcntl--.h (creat): Define to creat_safer.
48158         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
48159         * lib/unistd--.h (pipe): Define to pipe_safer.
48160         * lib/unistd-safer.h: Declare pipe_safer.
48161
48162 2005-08-26  Simon Josefsson  <jas@extundo.com>
48163
48164         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
48165         Haible <bruno@clisp.org>.
48166
48167 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
48168
48169         * lib/regex_internal.h: Remove all references to
48170         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
48171         or better.
48172         (bitset_not, bitset_merge, bitset_not_merge):
48173         (bitset_mask, re_string_allocate, re_string_construct):
48174         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
48175         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
48176         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
48177         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
48178         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48179         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48180         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
48181         (re_acquire_state_context):
48182         Remove unnecessary forward decls.
48183         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
48184         Put __attribute at function definition,
48185         now that the function decl has been removed.
48186         * lib/regex_internal.c (re_string_peek_byte_case):
48187         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
48188         Likewise.
48189
48190 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
48191
48192         * m4/regex.m4: Add AC_PREREQ(2.50).
48193         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
48194
48195 2005-08-25  Simon Josefsson  <jas@extundo.com>
48196
48197         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
48198         __fsetlocking.
48199
48200 2005-08-25  Simon Josefsson  <jas@extundo.com>
48201
48202         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
48203         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
48204         GLIBC specific code.
48205
48206 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48207
48208         Make regex safe for g++.  This fixes one real bug (an "err"
48209         that should have been "*err").  g++ problem reported by
48210         Sam Steingold.
48211         * lib/regex_internal.h (re_calloc): New macro, consistent with
48212         re_malloc etc.  All callers of calloc changed to use re_calloc.
48213         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
48214         not int.  All callers changed.
48215         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
48216         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
48217         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
48218         (find_recover_state): Change "err" to "*err"; this fixes what
48219         appears to be a real bug.
48220         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
48221         versus int.
48222
48223 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48224
48225         * modules/regex (Depends-on): Add malloc, since the code
48226         assumes that !malloc(0) means failure.
48227
48228 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48229
48230         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
48231
48232         alloca modernization/simplification for regex.
48233         * lib/regex.c: Remove portability cruft for alloca.  This no longer
48234         needs to be at the start of the file, and can be moved into
48235         regex_internal.h and simplified.
48236         * lib/regex_internal.h: Include <alloca.h>.
48237         (__libc_use_alloca) [!defined _LIBC]: New macro.
48238         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
48239         now works outside glibc.
48240
48241 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48242
48243         * config/srclist.txt: Add glibc bugs 1241, 1245.
48244
48245 2005-08-25  Jim Meyering  <jim@meyering.net>
48246
48247         * lib/open-safer.c: Include <config.h>.
48248         Otherwise, we'd lose LARGEFILE support in any file using
48249         e.g. "fcntl--.h"
48250
48251 2005-08-25  Bruno Haible  <bruno@clisp.org>
48252
48253         * m4/minmax.m4: Require autoconf 2.52.
48254         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
48255         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
48256         alternatives of translit over the alphabet.
48257         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
48258
48259 2005-08-24  Simon Josefsson  <jas@extundo.com>
48260
48261         * tests/test-getpass.c: New file.
48262
48263 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48264
48265         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
48266         for GNU regex features.
48267
48268 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48269
48270         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
48271         * lib/regex.h (regerror): Likewise.
48272
48273         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
48274         requires this.  (The code never needed it.)
48275
48276         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
48277         All uses of recently-renamed identifiers changed to use the new,
48278         POSIX-compliant names.  The code will build and run just fine
48279         without these changes, but it's better to eat our own dog food
48280         and use the standard-conforming names.
48281
48282         * lib/regex.h: Fix a multitude of POSIX name space violations.
48283         These changes have an effect only for programs that define
48284         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
48285         do not change anything for programs compiled in the normal way.
48286         Also, there is no effect on the ABI.
48287
48288         (_REGEX_SOURCE): New macro.
48289         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
48290         defined and _GNU_SOURCE is not; this fixes a name space violation.
48291
48292         Rename the following macros to obey POSIX requirements.
48293         The old names are still visible as macros if _REGEX_SOURCE is defined.
48294         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
48295         RE_BACKSLASH_ESCAPE_IN_LISTS.
48296         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
48297         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
48298         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
48299         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
48300         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
48301         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
48302         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
48303         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
48304         (REG_INTERVALS): renamed from RE_INTERVALS.
48305         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
48306         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
48307         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
48308         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
48309         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
48310         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
48311         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
48312         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
48313         RE_UNMATCHED_RIGHT_PAREN_ORD.
48314         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
48315         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
48316         (REG_DEBUG): renamed from RE_DEBUG.
48317         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
48318         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
48319         unusual, since we can't clash with the POSIX REG_ICASE.
48320         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
48321         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
48322         (REG_NO_SUB): renamed from RE_NO_SUB.
48323         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
48324         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
48325         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
48326         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
48327         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
48328         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
48329         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
48330         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
48331         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
48332         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
48333         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
48334         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
48335         RE_SYNTAX_POSIX_MINIMAL_BASIC.
48336         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
48337         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
48338         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
48339         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
48340         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
48341         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
48342         (REG_FIXED): Renamed from REGS_FIXED.
48343         (REG_NREGS): Renamed from RE_NREGS.
48344
48345         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
48346         of other REG_* macros, since POSIX says the user is allowed to
48347         #undef these macros selectively.
48348
48349         (reg_errcode_t): Update comment stating what other tables need
48350         to be consistent.
48351
48352         Rename the following enum values to obey POSIX requirements.
48353         The old names are still visible as macros.
48354         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
48355         is not defined, since GNU is supposed to be a superset of POSIX as
48356         much as possible, and since we want reg_errcode_t to be a signed
48357         type for implementation consistency.
48358         (_REG_NOERROR): Renamed from REG_NOERROR.
48359         (_REG_NOMATCH): Renamed from REG_NOMATCH.
48360         (_REG_BADPAT): Renamed from REG_BADPAT.
48361         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
48362         (_REG_ECTYPE): Renamed from REG_ECTYPE.
48363         (_REG_EESCAPE): Renamed from REG_EESCAPE.
48364         (_REG_ESUBREG): Renamed from REG_ESUBREG.
48365         (_REG_EBRACK): Renamed from REG_EBRACK.
48366         (_REG_EPAREN): Renamed from REG_EPAREN.
48367         (_REG_EBRACE): Renamed from REG_EBRACE.
48368         (_REG_BADBR): Renamed from REG_BADBR.
48369         (_REG_ERANGE): Renamed from REG_ERANGE.
48370         (_REG_ESPACE): Renamed from REG_ESPACE.
48371         (_REG_BADRPT): Renamed from REG_BADRPT.
48372         (_REG_EEND): Renamed from REG_EEND.
48373         (_REG_ESIZE): Renamed from REG_ESIZE.
48374         (_REG_ERPAREN): Renamed from REG_ERPAREN.
48375         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
48376         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
48377         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
48378         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
48379
48380         (_REG_RE_NAME, _REG_RM_NAME): New macros.
48381         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
48382         changed.  But support the old name if the new one is not defined
48383         and if _REGEX_SOURCE.
48384
48385         Change the following member names in struct re_pattern_buffer.
48386         The old names are still supported if !_REGEX_SOURCE.
48387         The new names are always supported, regardless of _REGEX_SOURCE.
48388         (re_buffer): Renamed from buffer.
48389         (re_allocated): Renamed from allocated.
48390         (re_used): Renamed from used.
48391         (re_syntax): Renamed from syntax.
48392         (re_fastmap): Renamed from fastmap.
48393         (re_translate): Renamed from translate.
48394         (re_can_be_null): Renamed from can_be_null.
48395         (re_regs_allocated): Renamed from regs_allocated.
48396         (re_fastmap_accurate): Renamed from fastmap_accurate.
48397         (re_no_sub): Renamed from no_sub.
48398         (re_not_bol): Renamed from not_bol.
48399         (re_not_eol): Renamed from not_eol.
48400         (re_newline_anchor): Renamed from newline_anchor.
48401
48402         Change the following member names in struct re_registers.
48403         The old names are still supported if !_REGEX_SOURCE.
48404         The new names are always supported, regardless of _REGEX_SOURCE.
48405         (rm_num_regs): Renamed from num_regs.
48406         (rm_start): Renamed from start.
48407         (rm_end): Renamed from end.
48408
48409         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
48410         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
48411         Prepend __ to parameter names.
48412
48413         Undo yesterday's changes.
48414
48415 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48416
48417         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
48418         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
48419         lib/regex.c.
48420
48421 2005-08-24  Jim Meyering  <jim@meyering.net>
48422
48423         Sync from coreutils.
48424         * m4/fcntl-safer.m4: New file.
48425
48426         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
48427         and object files for this module.
48428
48429 2005-08-24  Jim Meyering  <jim@meyering.net>
48430
48431         Sync from coreutils.
48432         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
48433
48434 2005-08-24  Jim Meyering  <jim@meyering.net>
48435
48436         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
48437         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
48438
48439 2005-08-24  Jim Meyering  <jim@meyering.net>
48440
48441         * modules/fcntl-safer: New module.
48442         * modules/fts (Depends-on): Add fcntl-safer.
48443         * MODULES.html.sh (File descriptor based Input/Output):
48444         Add fcntl-safer.
48445
48446 2005-08-24  Bruno Haible  <bruno@clisp.org>
48447
48448         Support for unit test modules.
48449         * modules/README: Mention tests modules.
48450         * modules/TEMPLATE-TESTS: New file.
48451         * gnulib-tool: New options --extract-tests-module, --with-tests and
48452         --tests-base (unused for the moment).
48453         (testsbase, inctests): New variables.
48454         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
48455         (func_verify_module): Exclude TEMPLATE-TESTS.
48456         (func_verify_nontests_module, func_verify_tests_module): New functions.
48457         (func_get_dependencies): Add implicit dependency for tests modules.
48458         (func_get_tests_module): New function.
48459         (func_modules_transitive_closure): When --with-tests was specified,
48460         include the unit tests as well, unless explicitly avoided.
48461         (func_emit_lib_Makefile_am): Ignore the tests modules here.
48462         (func_emit_tests_Makefile_am): New function.
48463         (func_create_testdir): When --with-tests was specified, emit a
48464         tests/ directory.
48465         * MODULES.html.sh (Future developments): Update.
48466
48467 2005-08-24  Bruno Haible  <bruno@clisp.org>
48468
48469         * modules/tls-tests: New file.
48470         * tests/test-tls.c: New file, from GNU gettext.
48471
48472 2005-08-24  Bruno Haible  <bruno@clisp.org>
48473
48474         * modules/lock-tests: New file.
48475         * tests/test-lock.c: New file, from GNU gettext.
48476
48477 2005-08-24  Bruno Haible  <bruno@clisp.org>
48478
48479         * lib/lock.h: Add multiple inclusion guard.
48480         * lib/tls.h: Add multiple inclusion guard.
48481
48482 2005-08-24  Bruno Haible  <bruno@clisp.org>
48483
48484         * gnulib-tool: Add support for the --aux-dir option to
48485         --create-testdir, --create-megatestdir, --test, --megatest.
48486         (func_create_testdir, func_create_megatestdir): Optionally emit a
48487         AC_CONFIG_AUX_DIR directive.
48488         (create-testdir, create-megatestdir, test, megatest): Provide a
48489         default value for $auxdir.
48490
48491 2005-08-24  Bruno Haible  <bruno@clisp.org>
48492
48493         * gnulib-tool (import): Use compound statement instead of subshell
48494         where possible.
48495
48496 2005-08-24  Bruno Haible  <bruno@clisp.org>
48497
48498         * gnulib-tool (import): Change --aux-dir default to "build-aux".
48499
48500 2005-08-24  Bruno Haible  <bruno@clisp.org>
48501
48502         * gnulib-tool (func_version): Update.
48503
48504 2005-08-24  Bruno Haible  <bruno@clisp.org>
48505
48506         * gnulib-tool (func_import, func_create_testdir,
48507         func_create_megatestdir): Quote all autoconf macro arguments.
48508
48509 2005-08-24  Bruno Haible  <bruno@clisp.org>
48510
48511         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
48512         option --force, because --force causes the aclocal.m4 of each
48513         subdirectory to be newer than the corresponding config.h.in.
48514
48515 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48516
48517         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
48518         All contents moved to gl_REGEX.
48519         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
48520         assume that it does.
48521
48522 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48523
48524         * lib/regex.h (REG_NOSYS)
48525         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
48526         Define, since POSIX requires it as of 2001.
48527         (_REG_ENOSYS)
48528         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
48529         New private symbol, used to keep the enum signed in all cases.
48530         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
48531         Youngman in
48532         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
48533
48534         * lib/regex_internal.c (re_string_skip_chars, register_state):
48535         (calc_state_hash):
48536         Remove forward decls; no longer needed now that we use prototypes.
48537         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
48538         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
48539         (clean_state_log_if_needed): Likewise.
48540
48541 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48542
48543         * config/srclist.txt: Add glibc bugs 1231-1233.
48544
48545 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48546
48547         Fix problems reported by Sam Steingold in
48548         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
48549         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
48550         assumed that reg_errcode_t is a signed type, which is not
48551         necessarily true if _XOPEN_SOURCE is not defined.
48552         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
48553         since some compilers warn about it otherwise.
48554
48555 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48556
48557         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
48558         (init_word_char, create_initial_state, duplicate_node_closure):
48559         (fetch_token, peek_token_bracket, build_range_exp):
48560         (build_collating_symbol): Remove forward decls; no longer needed
48561         now that we use prototypes.
48562
48563         * lib/regcomp.c:
48564         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
48565         (re_compile_fastmap_iter, regcomp, regerror, regfree):
48566         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
48567         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
48568         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
48569         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
48570         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
48571         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
48572         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
48573         (build_range_exp, build_collating_symbol, parse_bracket_exp):
48574         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
48575         (build_charclass, build_charclass_op, fetch_number, create_tree):
48576         (create_token_tree, mark_opt_subexp, duplicate_tree):
48577         Use prototypes rather than old-style definitions.
48578
48579         * lib/regex_internal.c:
48580         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
48581         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
48582         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
48583         (re_string_reconstruct, re_string_peek_byte_case):
48584         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
48585         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
48586         (re_node_set_init_copy, re_node_set_add_intersect):
48587         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48588         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48589         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
48590         (re_acquire_state, re_acquire_state_context, register_state):
48591         (create_ci_newstate, create_cd_newstate, free_state):
48592         Likewise.
48593         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
48594         re_search_2):
48595         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
48596         (re_search_internal, prune_impossible_nodes):
48597         (acquire_init_state_context, check_matching, static):
48598         (check_halt_node_context, check_halt_state_context, proceed_next_node):
48599         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
48600         (update_regs, sift_states_backward, build_sifted_states):
48601         (clean_state_log_if_needed, merge_state_array):
48602         (update_cur_sifted_state, add_epsilon_src_nodes):
48603         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
48604         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
48605         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
48606         (find_recover_state, check_subexp_matching_top, transit_state_mb):
48607         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
48608         (check_arrival, check_arrival_add_next_nodes):
48609         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
48610         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
48611         (check_node_accept_bytes, check_node_accept, extend_buffers):
48612         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
48613         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
48614         (sift_ctx_init):
48615         Likewise.
48616
48617         * lib/regex_internal.h:
48618         (re_string_allocate, re_string_construct, re_string_reconstruct):
48619         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
48620         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
48621         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
48622         (re_string_context_at, re_string_peek_byte_case):
48623         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
48624         is defined, since we now use prototypes always.
48625
48626         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
48627         C89 or better.  All uses removed.
48628
48629 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48630
48631         * config/srclist.txt: Add glibc bugs 1220-1227.
48632
48633 2005-08-20  Jim Meyering  <jim@meyering.net>
48634
48635         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
48636         of unused local, dfa.
48637
48638 2005-08-20  Bruno Haible  <bruno@clisp.org>
48639
48640         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
48641
48642 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48643
48644         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
48645         (re_node_set_insert_last, re_dfa_add_node):
48646         Rename local variables to avoid GCC shadowing warnings.
48647
48648 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48649
48650         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
48651         [defined lint]: Suppress bogus uninitialized-variable warnings.
48652
48653         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
48654         and let the caller return REG_ESPACE if out of space.  This
48655         removes an uninitialied-variable warning with GCC 4.0.1, and also
48656         avoids taking the address of a local variable.  All callers
48657         changed.
48658
48659 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48660
48661         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
48662         $LIBCSRC/posix/regexec.c.
48663         Add glibc bug 1217 for regcomp.c.
48664
48665 2005-08-19  Jim Meyering  <jim@meyering.net>
48666
48667         * lib/regexec.c (proceed_next_node): Redo local variables to
48668         avoid GCC shadowing warnings.
48669
48670 2005-08-18  Bruno Haible  <bruno@clisp.org>
48671
48672         * lib/strstr.c (strstr): Fix return value in multibyte case.
48673         * lib/strcasestr.c (strcasestr): Likewise.
48674
48675 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48676
48677         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
48678
48679 2005-08-17  Jim Meyering  <jim@meyering.net>
48680
48681         Make the %s format (seconds since the epoch) work for a negative
48682         number and when used with a zero-padded field width, e.g. %015s.
48683
48684         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
48685         label so that it precedes the code to set `digits'.  Otherwise,
48686         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
48687         print `00-22'.  Now, it prints `-0022', as it should.
48688
48689 2005-08-17  Bruno Haible  <bruno@clisp.org>
48690
48691         * modules/strstr (Files): Add m4/mbrtowc.m4.
48692         (Depends-on): Add mbuiter.
48693
48694 2005-08-17  Bruno Haible  <bruno@clisp.org>
48695
48696         * modules/strcasestr: New file.
48697         * MODULES.html.sh (String handling, based on ANSI C 89): Add
48698         strcasestr.
48699
48700 2005-08-17  Bruno Haible  <bruno@clisp.org>
48701
48702         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
48703
48704 2005-08-17  Bruno Haible  <bruno@clisp.org>
48705
48706         * modules/mbuiter: New file.
48707         * MODULES.html.sh (Extended multibyte and wide character utilities):
48708         Add mbuiter.
48709
48710 2005-08-17  Bruno Haible  <bruno@clisp.org>
48711
48712         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
48713         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
48714
48715 2005-08-17  Bruno Haible  <bruno@clisp.org>
48716
48717         * m4/strcasestr.m4: New file.
48718
48719 2005-08-17  Bruno Haible  <bruno@clisp.org>
48720
48721         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
48722         * lib/strstr.c: Completely rewritten, with multibyte locale support.
48723
48724 2005-08-17  Bruno Haible  <bruno@clisp.org>
48725
48726         * lib/strcasestr.h: New file.
48727         * lib/strcasestr.c: New file.
48728
48729 2005-08-17  Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/strcasecmp.c: Use mbuiter.h.
48732
48733 2005-08-17  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/mbuiter.h: New file.
48736
48737 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48738
48739         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
48740         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
48741         and gl_GETOPT are both invoked via different paths (as happens
48742         with GNU tar CVS because it uses both argp and getopt), the former
48743         wins.
48744
48745 2005-08-16  Bruno Haible  <bruno@clisp.org>
48746
48747         * modules/tls: New file.
48748         * MODULES.html.sh (Multithreading): Add tls.
48749
48750 2005-08-16  Bruno Haible  <bruno@clisp.org>
48751
48752         * modules/strnlen1: New file.
48753         * MODULES.html.sh (String handling): Add strnlen1.
48754
48755 2005-08-16  Bruno Haible  <bruno@clisp.org>
48756
48757         * modules/strcase (Files): Add m4/mbrtowc.m4.
48758         (Depends-on): Add strnlen1, mbchar.
48759
48760 2005-08-16  Bruno Haible  <bruno@clisp.org>
48761
48762         * modules/mbiter: New file.
48763         * MODULES.html.sh (Extended multibyte and wide character utilities):
48764         Add mbiter.
48765
48766 2005-08-16  Bruno Haible  <bruno@clisp.org>
48767
48768         * modules/mbfile: New file.
48769         * MODULES.html.sh (Extended multibyte and wide character utilities):
48770         Add mbfile.
48771
48772 2005-08-16  Bruno Haible  <bruno@clisp.org>
48773
48774         * modules/mbchar: New file.
48775         * MODULES.html.sh (Extended multibyte and wide character utilities):
48776         New section.
48777
48778 2005-08-16  Bruno Haible  <bruno@clisp.org>
48779
48780         * m4/tls.m4: New file, from GNU gettext.
48781
48782 2005-08-16  Bruno Haible  <bruno@clisp.org>
48783
48784         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
48785         always.
48786         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
48787
48788 2005-08-16  Bruno Haible  <bruno@clisp.org>
48789
48790         * m4/mbiter.m4: New file.
48791
48792 2005-08-16  Bruno Haible  <bruno@clisp.org>
48793
48794         * m4/mbfile.m4: New file.
48795
48796 2005-08-16  Bruno Haible  <bruno@clisp.org>
48797
48798         * m4/mbchar.m4: New file.
48799
48800 2005-08-16  Bruno Haible  <bruno@clisp.org>
48801
48802         * lib/tls.h: New file, from GNU gettext.
48803         * lib/tls.c: New file, from GNU gettext.
48804
48805 2005-08-16  Bruno Haible  <bruno@clisp.org>
48806
48807         * lib/strnlen1.h: New file.
48808         * lib/strnlen1.c: New file.
48809
48810 2005-08-16  Bruno Haible  <bruno@clisp.org>
48811
48812         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
48813         (mbi_init): Update.
48814         (mbi_avail, mbi_advance): Let the iteration end before the terminating
48815         NUL byte, not after it.
48816
48817 2005-08-16  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/strcase.h (strcasecmp): Add note in comments.
48820         * lib/strncasecmp.c: Use code from strcasecmp.c.
48821         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
48822         (strcasecmp): Work correctly in multibyte locales.
48823
48824 2005-08-16  Bruno Haible  <bruno@clisp.org>
48825
48826         * lib/mbiter.h: New file.
48827
48828 2005-08-16  Bruno Haible  <bruno@clisp.org>
48829
48830         * lib/mbfile.h: New file.
48831
48832 2005-08-16  Bruno Haible  <bruno@clisp.org>
48833
48834         * lib/mbchar.h: New file.
48835         * lib/mbchar.c: New file.
48836
48837 2005-08-16  Bruno Haible  <bruno@clisp.org>
48838
48839         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
48840         the valid ones. Makes the comparison operations transitive:
48841         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
48842         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
48843
48844 2005-08-15  Simon Josefsson  <jas@extundo.com>
48845
48846         * modules/ssize_t (License): Change to 'unlimited'.
48847
48848         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
48849
48850 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48851
48852         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
48853         Add comments for each pending glibc patch.
48854
48855 2005-08-15  Bruno Haible  <bruno@clisp.org>
48856
48857         * lib/regex.h (__restrict_arr): Don't define to __restrict if
48858         __cplusplus is defined.
48859
48860 2005-08-14  Jim Meyering  <jim@meyering.net>
48861
48862         Sync from coreutils.
48863
48864         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
48865         Use the hash-table-based cycle-detection code not just when
48866         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
48867         Reported by James Youngman in
48868         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
48869         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
48870         FTS_TIGHT_CYCLE_CHECK.
48871         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
48872         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
48873         once again.
48874         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
48875         * lib/fts.c (fd_safer): Remove decl.
48876         Include fcntl--.h rather than unistd-safer.h
48877         (fts_safe_changedir): Don't call fd_safer; no longer needed
48878         now that we include fcntl--.h.
48879
48880 2005-08-12  Simon Josefsson  <jas@extundo.com>
48881
48882         * modules/getndelim2: Use ssize_t module.
48883         * modules/getnline: Likewise.
48884         * modules/safe-read: Likewise.
48885         * modules/xreadlink: Likewise.
48886
48887         * modules/ssize_t: New file.
48888
48889 2005-08-12  Simon Josefsson  <jas@extundo.com>
48890
48891         * m4/readline.m4: Look for termcap, curses or ncurses if required.
48892
48893 2005-08-12  Simon Josefsson  <jas@extundo.com>
48894
48895         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48896         ssize_t.
48897
48898 2005-08-12  Simon Josefsson  <jas@extundo.com>
48899
48900         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
48901         readline, getdelim and check_version.
48902         (Support for systems lacking ISO C 99: Sizes of integer types):
48903         Add size_max.
48904
48905 2005-08-12  Bruno Haible  <bruno@clisp.org>
48906
48907         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
48908
48909 2005-08-11  Simon Josefsson  <jas@extundo.com>
48910
48911         * modules/readline: New file.
48912
48913         * modules/strnlen (Files): Add strnlen.h.
48914
48915 2005-08-11  Simon Josefsson  <jas@extundo.com>
48916
48917         * m4/readline.m4: New file.
48918
48919 2005-08-11  Simon Josefsson  <jas@extundo.com>
48920
48921         * lib/readline.h, readline.c: New file.
48922
48923 2005-08-11  Simon Josefsson  <jas@extundo.com>
48924
48925         * doc/gnulib.texi (Initial import, Finishing touches): Mention
48926         gl_AVOID.
48927
48928 2005-08-11  Bruno Haible  <bruno@clisp.org>
48929
48930         * lib/strnlen.h (strnlen): Change parameter name to match comment.
48931
48932 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
48933
48934         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
48935
48936 2005-08-10  Simon Josefsson  <jas@extundo.com>
48937
48938         * tests/test-iconvme.c: New file.
48939
48940 2005-08-10  Simon Josefsson  <jas@extundo.com>
48941
48942         * m4/strnlen.m4: New file.
48943
48944         * m4/strndup.m4: Don't check for strnlen declaration, done in
48945         strnlen.m4.
48946
48947 2005-08-10  Simon Josefsson  <jas@extundo.com>
48948
48949         * lib/strndup.c: Use strnlen.h.
48950
48951         * lib/strnlen.h: New file.
48952
48953 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48954
48955         * README: Typos.
48956
48957 2005-08-02  Simon Josefsson  <jas@extundo.com>
48958
48959         * modules/readline: New file.
48960
48961 2005-08-02  Simon Josefsson  <jas@extundo.com>
48962
48963         * modules/getdelim: New file.
48964
48965         * modules/getline: Rewrite, don't use getndelim2.
48966
48967 2005-08-02  Simon Josefsson  <jas@extundo.com>
48968
48969         * m4/getline.m4: Separate out getdelim stuff into separate module.
48970
48971         * m4/getdelim.m4: New file.
48972
48973 2005-08-02  Simon Josefsson  <jas@extundo.com>
48974
48975         * lib/getline.h, getline.c: Rewrite.
48976
48977         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
48978
48979 2005-07-31  Bruno Haible  <bruno@clisp.org>
48980
48981         * lib/lock.h (gl_lock_initializer): New macro.
48982         (gl_lock_define_initialized): Use it.
48983         (gl_rwlock_initializer): New macro.
48984         (gl_rwlock_define_initialized): Use it.
48985         (gl_recursive_lock_initializer): New macro.
48986         (gl_recursive_lock_define_initialized): Use it.
48987
48988 2005-07-30  Karl Berry  <karl@gnu.org>
48989
48990         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
48991         Report from Ben Pfaff, regarding getopt.
48992
48993 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
48994
48995         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
48996         normal way.
48997         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
48998         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
48999         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
49000         (gl_GETOPT): Use the new macros.  Most of the implementation
49001         is moved to the new macros.  This is for programs like Emacs
49002         that don't want all the functionality of gl_GETOPT.
49003
49004 2005-07-26  Bruno Haible  <bruno@clisp.org>
49005
49006         * m4/lock.m4: Update from GNU gettext.
49007
49008 2005-07-26  Bruno Haible  <bruno@clisp.org>
49009
49010         * lib/lock.h: Update from GNU gettext.
49011         * lib/lock.c: Update from GNU gettext.
49012
49013 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49014
49015         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
49016         obsolescent AC_TRY_RUN.  Include the default includes files, for
49017         'exit'.
49018
49019 2005-07-24  Bruno Haible  <bruno@clisp.org>
49020
49021         * modules/visibility: New file.
49022         * MODULES.html.sh (Misc): Add visibility.
49023
49024 2005-07-24  Bruno Haible  <bruno@clisp.org>
49025
49026         * m4/visibility.m4: New file.
49027
49028 2005-07-24  Bruno Haible  <bruno@clisp.org>
49029
49030         * doc/visibility.texi: New file.
49031
49032 2005-07-22  Bruno Haible  <bruno@clisp.org>
49033
49034         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
49035         $(ALLOCA_H), redundant through BUILT_SOURCES.
49036         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
49037         redundant through BUILT_SOURCES.
49038         * modules/byteswap (Makefile.am): Remove explicit dependency on
49039         $(BYTESWAP_H), redundant through BUILT_SOURCES.
49040         * modules/fnmatch (Makefile.am): Remove explicit dependency on
49041         $(FNMATCH_H), redundant through BUILT_SOURCES.
49042         * modules/getopt (Makefile.am): Remove explicit dependency on
49043         $(GETOPT_H), redundant through BUILT_SOURCES.
49044         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
49045         redundant through BUILT_SOURCES.
49046         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
49047         redundant through BUILT_SOURCES.
49048         * modules/stdbool (Makefile.am): Remove explicit dependency on
49049         $(STDBOOL_H), redundant through BUILT_SOURCES.
49050         * modules/stdint (Makefile.am): Remove explicit dependency on
49051         $(STDINT_H), redundant through BUILT_SOURCES.
49052         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
49053         Remove explicit dependency on $(SYSEXITS_H).
49054         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
49055
49056 2005-07-18  Simon Josefsson  <jas@extundo.com>
49057
49058         * lib/check-version.c (check_version): Accept identical versions too.
49059
49060 2005-07-18  Bruno Haible  <bruno@clisp.org>
49061
49062         * modules/lock: New file.
49063         * MODULES.html.sh (Multithreading): New section.
49064
49065 2005-07-18  Bruno Haible  <bruno@clisp.org>
49066
49067         * m4/lock.m4: New file, from GNU gettext.
49068
49069 2005-07-18  Bruno Haible  <bruno@clisp.org>
49070
49071         * lib/lock.h: New file, from GNU gettext.
49072         * lib/lock.c: New file, from GNU gettext.
49073
49074 2005-07-18  Bruno Haible  <bruno@clisp.org>
49075
49076         * lib/lock.h (gl_once_t): New type.
49077         (gl_once_define, gl_once): New macros.
49078         * lib/lock.c (fresh_once): New variable.
49079         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
49080         functions.
49081
49082 2005-07-16  Simon Josefsson  <jas@extundo.com>
49083
49084         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
49085         workaround, suggested by Bruno.
49086
49087 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49088
49089         * modules/xalloc (Depends-on): Add xalloc-die.
49090         * modules/xvasprintf (Depends-on): Add xalloc-die.
49091
49092 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49093
49094         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
49095         with a minor change.
49096
49097 2005-07-15  Bruno Haible  <bruno@clisp.org>
49098
49099         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
49100         When using lib/poll.c, define poll as rpl_poll.
49101
49102 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
49103
49104         * modules/argp (Depends-on): Remove unlocked-io.
49105
49106 2005-07-14  Derek Price  <derek@ximbiot.com>
49107
49108         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
49109         for glob symlink bug.
49110
49111 2005-07-14  Bruno Haible  <bruno@clisp.org>
49112
49113         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
49114         Instead, test for *_unlocked function declarations directly.
49115
49116 2005-07-11  Simon Josefsson  <jas@extundo.com>
49117
49118         * modules/size_max: New file.
49119
49120         * modules/xsize: Depend on size_max module for size_max.m4.
49121
49122 2005-07-11  Simon Josefsson  <jas@extundo.com>
49123
49124         * lib/size_max.h: New file.
49125
49126 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49127
49128         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
49129         copyright symbol and the year.
49130         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
49131         (version_etc_va): Use parameterized copyright notice.
49132         Reword to conform to the current GNU coding standards.
49133
49134 2005-07-11  Karl Berry  <karl@gnu.org>
49135
49136         * doc/gnulib.texi (Quoting): new node.
49137         (Initial import): more info, from Patrice.
49138
49139 2005-07-11  Bruno Haible  <bruno@clisp.org>
49140
49141         * gnulib-tool (func_usage): Document option --avoid.
49142         (Command line options): Handle --avoid.
49143         (func_acceptable): New function.
49144         (func_modules_transitive_closure): Use it.
49145
49146 2005-07-11  Bruno Haible  <bruno@clisp.org>
49147
49148         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
49149         Reported by Jim Meyering.
49150
49151 2005-07-10  Bruno Haible  <bruno@clisp.org>
49152
49153         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
49154         Needed when size_t is smaller than 'unsigned int'.
49155         Reported by Paul Eggert.
49156
49157 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49158
49159         * modules/argp (Depends-on): Add unlocked-io
49160
49161 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49162
49163         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
49164         block of defines.
49165
49166 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49167
49168         * config/srclist.txt: Comment out regcomp.c, since we have a porting
49169         fix now.
49170
49171 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
49172         and Paul Eggert  <eggert@cs.ucla.edu>
49173
49174         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
49175         in wint_t, not wchar_t.  Remove now-unnecessary cast.
49176
49177 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49178
49179         * modules/regex (Files): Add lib/regex_internal.c,
49180         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
49181         (Depends-on): Add extensions.
49182         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
49183
49184 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49185
49186         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
49187         pathconf.
49188         * m4/same.m4 (gl_SAME): Likewise.
49189         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
49190
49191         * m4/regex.m4: Adjust to new libc regex implementation.
49192         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
49193         all the .c and .h parts of (the new) regex.
49194         Quote the m4 stuff better.
49195         Check for RE_ICASE bug of old gnulib.
49196         Check for REG_STARTEND of recent libc.
49197         Rename local variables from jm_* to gl_*.
49198         Quote operand of "test -f".
49199         Say "recent enough" version of libc, not "version 2".
49200         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
49201         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
49202         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
49203         Remove check for btowc, isascii.
49204         Require AM_LANGINFO_CODESET.
49205
49206 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49207
49208         * lib/regex.c, regex.h: Sync from libc.
49209         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
49210         * lib/regexec.c:
49211         New files, synced from libc, except that regex_internal.h
49212         currently has a small porting fix.
49213
49214 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49215
49216         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
49217         regex_internal.c, regexec.c.
49218         Add regex_internal.h too, but as a comment, since the libc version
49219         is currently broken in gnulib mode.
49220
49221 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49222
49223         Support programs like Emacs that use gnulib but not gettext.
49224         * MODULES.html.sh (Internationalization functions): Add gettext-h.
49225         * modules/gettext-h: New file.
49226         * modules/gettext (Files): Remove lib/gettext.h.
49227         (Depends-on): Add gettext-h.
49228         (Makefile.am): Remove lib_SOURCES.
49229         * modules/argmatch, modules/c-stack, modules/closeout:
49230         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
49231         * modules/execute, modules/file-type, modules/getaddrinfo:
49232         * modules/getopt, modules/human, modules/javacomp:
49233         * modules/javaexec, modules/mkdir-p, modules/obstack:
49234         * modules/openat, modules/pagealign_alloc, modules/pipe:
49235         * modules/quotearg, modules/regex, modules/rpmatch:
49236         * modules/unicodeio, modules/userspec, modules/version-etc:
49237         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
49238         * modules/xsetenv:
49239         Depend on gettext-h, not gettext.
49240
49241 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49242
49243         * gnulib-tool (func_import): Add support for 'public domain' license.
49244         * modules/alloca, modules/atexit, modules/memmove:
49245         Now public domain, not GPL.
49246         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
49247         * modules/realloc, modules/strerror, modules/strtod:
49248         Now LGPL, not GPL.
49249
49250 2005-07-05  Bruno Haible  <bruno@clisp.org>
49251
49252         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
49253         autoconf CVS. Needed for mingw.
49254
49255 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49256
49257         Remove the dependency of the strftime module on the tzset module.
49258         * modules/strftime (Depends-on): Remove dependency on tzset.
49259
49260 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49261
49262         Remove the dependency of the strftime module on the tzset module.
49263         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
49264         gl_FUNC_TZSET_CLOBBER.
49265
49266 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49267
49268         Remove the dependency of the strftime module on the tzset module.
49269         * lib/strftime.c (my_strftime)
49270         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
49271         Copy the input structure, to work around some of the bug with
49272         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
49273         Solaris releases, you should also use the tzset module, but we won't
49274         require it as a dependency any more since we don't want LGPLed code
49275         to depend on GPLed code.
49276
49277 2005-07-02  Jim Meyering  <jim@meyering.net>
49278
49279         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
49280         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
49281         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
49282         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
49283
49284 2005-07-02  Jim Meyering  <jim@meyering.net>
49285
49286         * lib/backupfile.c (backup_args): Change a `0' to NULL.
49287
49288 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49289
49290         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
49291         declares only 'struct timespec;' (!).
49292
49293 2005-07-01  Jim Meyering  <jim@meyering.net>
49294
49295         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
49296         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
49297         * lib/save-cwd.c, tempname.c:
49298         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
49299         and don't include <sys/file.h>).
49300
49301 2005-06-29  Jim Meyering  <jim@meyering.net>
49302
49303         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
49304         type name.  Use the variable name instead.
49305         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
49306         Likewise.
49307
49308 2005-06-28  Simon Josefsson  <jas@extundo.com>
49309
49310         * modules/check-version (Files): Add check-version.m4.
49311
49312 2005-06-28  Simon Josefsson  <jas@extundo.com>
49313
49314         * m4/check-version.m4: New file, suggested by Jim Meyering
49315         <jim@meyering.net>.
49316
49317 2005-06-28  Simon Josefsson  <jas@extundo.com>
49318
49319         * lib/check-version.h, lib/check-version.c: New files.
49320
49321 2005-06-28  Simon Josefsson  <jas@extundo.com>
49322
49323         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
49324         collision with global variable.  Better indentation.  Don't
49325         increment buffer pointer beyond buffer end.  Based on comments
49326         from Paul Eggert <eggert@cs.ucla.edu>.
49327
49328         * lib/base64.h: Indent.
49329
49330 2005-06-28  Simon Josefsson  <jas@extundo.com>
49331
49332         * doc/gnulib.texi (Library version handling): New section.
49333
49334 2005-06-28  Jim Meyering  <jim@meyering.net>
49335
49336         * check-module (find_included_lib_files): Hard-code another
49337         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
49338         but modules/fts-lgpl (correctly) does not list those files.
49339
49340         * modules/canonicalize (Files): Add lib/pathmax.h.
49341
49342 2005-06-25  Simon Josefsson  <jas@extundo.com>
49343
49344         * modules/check-version: New file.
49345
49346 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
49347
49348         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
49349         initializer of struct addrinfo, as an indication that we don't
49350         care how many members the structure has.
49351
49352 2005-06-24  Derek Price  <derek@ximbiot.com>
49353         and Bruno Haible  <bruno@clisp.org>
49354
49355         Remove stat module & update lstat.
49356         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
49357         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49358         * m4/stat.m4: Remove this file.
49359
49360 2005-06-24  Derek Price  <derek@ximbiot.com>
49361         and Bruno Haible  <bruno@clisp.org>
49362
49363         Remove stat module & update lstat.
49364         * lib/stat.c: Remove this file...
49365         (slash_aware_lstat): ...moving this content and its support...
49366         * lib/lstat.c (rpl_lstat): ...into here.
49367         * lib/lstat.h: New file.
49368
49369 2005-06-24  Derek Price  <derek@ximbiot.com>
49370         and Bruno Haible  <bruno@clisp.org>
49371
49372         Remove stat module & update lstat.
49373         * config/srclist.txt (libc sources): Remove stat.
49374
49375 2005-06-24  Derek Price  <derek@ximbiot.com>
49376         and Bruno Haible  <bruno@clisp.org>
49377
49378         Remove stat module & update lstat.
49379         * MODULES.html.sh (stat): Remove.
49380         * MODULES.html: Regenerated.
49381         * modules/lstat (Description): Correct function name.
49382         (Files): Add "lstat.h".
49383         (Depends-on): Remove stat, add xalloc, stat-macros.
49384         * modules/stat: Remove this file.
49385         (Include): Add "lstat.h", remove <sys/stat.h>.
49386
49387 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49388
49389         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
49390         (ranged_convert): Don't save conversion in a temporary struct.
49391         This causes a warning with GCC 4.0.0, and anyway in the typical
49392         case it's not worth the extra 100 bytes or so of code.
49393         (ranged_convert, __mktime_internal): When calling a function via a
49394         pointer P, use P () rather than (*P) (), as we now assume C89 or
49395         better.
49396
49397 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49398
49399         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
49400         "who -r" failed to give output.  Problem reported by Tim Waugh.
49401
49402         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
49403         (xcalloc): Use it to avoid needless tests.
49404         Problem reported by Jim Meyering.
49405
49406 2005-06-20  Derek Price  <derek@ximbiot.com>
49407
49408         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
49409         unnecessary for Autoconfs > 2.59c.
49410
49411 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49412
49413         * lib/argp.h (__option_is_short): Check upper limit of
49414         __key. Isprint() requires its argument to have the value
49415         of an unsigned char or EOF.
49416
49417 2005-06-16  Jim Meyering  <jim@meyering.net>
49418
49419         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
49420         when either N or S is zero.
49421
49422 2005-06-16  Derek Price  <derek@ximbiot.com>
49423
49424         * m4/bison.m4: Declare YACC & YFLAGS precious.
49425
49426 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
49427
49428         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
49429         multibyte string or pattern, fall back on unibyte matching.
49430         Problem reported by James Youngman.
49431
49432 2005-06-08  Bruno Haible  <bruno@clisp.org>
49433
49434         * modules/csharpcomp: New file.
49435         * MODULES.html.sh (C#): Add csharpcomp.
49436
49437 2005-06-08  Bruno Haible  <bruno@clisp.org>
49438
49439         * m4/csharpcomp.m4: New file, from GNU gettext.
49440
49441 2005-06-08  Bruno Haible  <bruno@clisp.org>
49442
49443         * lib/csharpcomp.h: New file, from GNU gettext.
49444         * lib/csharpcomp.c: New file, from GNU gettext.
49445         * lib/csharpcomp.sh.in: New file, from GNU gettext.
49446
49447 2005-06-08  Bruno Haible  <bruno@clisp.org>
49448
49449         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
49450         warning on mingw.
49451
49452 2005-06-07  Derek Price  <derek@ximbiot.com>
49453
49454         Sync from CVS.
49455         * lib/glob_.h: Indent nested #ifdef.
49456
49457 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49458
49459         Sync from coreutils.
49460         Use "file name" when talking about file names, instead of "filename"
49461         or "path", as per the GNU coding standards.
49462         * lib/mkdir-p.c: Renamed from makepath.c.
49463         (make_dir_parents): Renamed from make_path.  All callers changed.
49464         * lib/mkdir-p.h: Likewise.  All includers changed.
49465         * lib/filenamecat.c: Renamed from path-concat.c.
49466         (file_name_concat): Renamed from path_concat.  All callers changed.
49467         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
49468         * lib/filenamecat.h: Likewise.  All includers changed.
49469         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
49470         in comments or local variable names.
49471         * lib/basename.c: Likewise.
49472         * lib/canonicalize.c, canonicalize.h: Likewise.
49473         * lib/dirname.c, dirname.h: Likewise.
49474         * lib/euidaccess.c: Likewise.
49475         * lib/exclude.c: Likewise
49476         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
49477         * lib/fsusage.c, fsuage.h: Likewise.
49478         * lib/fts.c, fts_.h: Likewise.
49479         * lib/getcwd.c: Likewise.
49480         * lib/getloadavg.c: Likewise.
49481         * lib/mkstemp.c: Likewise.
49482         * lib/mountlist.c, mountlist.h: Likewise.
49483         * lib/openat.c, openat.h: Likewise.
49484         * lib/readlink-stub.c: Likewise.
49485         * lib/readutmp.c, readutmp.h: Likewise.
49486         * lib/rename.c: Likewise.
49487         * lib/rmdir.c: Likewise.
49488         * lib/same.c: Likewise.
49489         * lib/savedir.c: Likewise.
49490         * lib/stripslash.c: Likewise.
49491         * lib/tempname.c: Likewise.
49492         * lib/xreadlink.c: Likewise.
49493         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
49494         All uses changed.
49495         * lib/exclude.h: Likewise.
49496
49497         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
49498         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49499         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
49500         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49501         * lib/pathmax.h: Include <limits.h> unconditionally, since other
49502         files have been getting away with it for years (MORE/BSD 4.3
49503         is extinct now).
49504         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
49505         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49506
49507         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
49508         Define to 256, not 255, as per modern POSIX.
49509
49510 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49511
49512         Sync from coreutils.
49513         Use "file name" when talking about file names, instead of "filename"
49514         or "path", as per the GNU coding standards.
49515         * MODULES.html.sh: mkdir-p renamed from makepath.
49516         filenamecat renamed from path-concat.
49517         * modules/filenamecat: Renamed from modules/path-concat.
49518         (Files): filenamecat.h and filenamecat.c renamed from
49519         path-concat.h and path-concat.c.
49520         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
49521         (Include): filenamecat.h, not path-concat.h.
49522         * modules/mkdir-p: Renamed from modules/makepath.
49523         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
49524         makepath.c.
49525         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
49526         (Include): mkdir-p.h, not makepath.h.
49527
49528 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49529
49530         Sync from coreutils.
49531         * m4/mkdir-p.m4: Renamed from makepath.m4.
49532         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
49533         Rename files from makepath.c to mkdir-p.c, and from
49534         makepath.h to mkdir-p.h.
49535         * m4/filenamecat.m4: Renamed from path-concat.m4.
49536         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
49537         Rename files from path-concat.c to filenamecat.c,
49538         and from path-concat.h to filenamecat.h.
49539         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
49540         "file name" in local variables or comments.
49541         * m4/rename.m4: Likewise.
49542
49543 2005-06-01  Bruno Haible  <bruno@clisp.org>
49544
49545         * modules/csharpexec: New file.
49546         * MODULES.html.sh (C#): New section.
49547
49548 2005-06-01  Bruno Haible  <bruno@clisp.org>
49549
49550         * m4/csharp.m4: New file, from GNU gettext.
49551         * m4/csharpexec.m4: New file, from GNU gettext.
49552
49553 2005-06-01  Bruno Haible  <bruno@clisp.org>
49554
49555         * lib/csharpexec.h: New file, from GNU gettext.
49556         * lib/csharpexec.c: New file, from GNU gettext.
49557         * lib/csharpexec.sh.in: New file, from GNU gettext.
49558
49559 2005-05-31  Derek Price  <derek@ximbiot.com>
49560             Paul Eggert  <eggert@cs.ucla.edu>
49561
49562         Sync from cvs.
49563         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49564
49565 2005-05-31  Derek Price  <derek@ximbiot.com>
49566             Paul Eggert  <eggert@cs.ucla.edu>
49567
49568         Sync from cvs.
49569         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49570
49571 2005-05-29  Derek Price  <derek@ximbiot.com>
49572
49573         * config/srclist.txt (glob_.h, glob.c): Add these files.
49574
49575 2005-05-29  Derek Price  <derek@ximbiot.com>
49576
49577         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
49578         * modules/glob: New file.
49579         * modules/getlogin_r: Add link to POSIX spec in description.
49580
49581 2005-05-29  Derek Price  <derek@ximbiot.com>
49582             Paul Eggert  <eggert@cs.ucla.edu>
49583
49584         * m4/glob.m4: New file.
49585
49586 2005-05-29  Derek Price  <derek@ximbiot.com>
49587             Paul Eggert  <eggert@cs.ucla.edu>
49588
49589         * lib/glob_.h, lib/glob.c: New files.
49590
49591 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49592
49593         * modules/fts (Files): Remove m4/inttypes-pri.m4.
49594         * modules/fts-lgpl (Depends-on): Remove gettext.
49595
49596 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49597
49598         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
49599         and don't require gt_INTTYPES_PRI.
49600
49601 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49602
49603         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
49604
49605         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
49606         the configuration hassle isn't worth it.
49607         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
49608         (LONGEST_MODIFIER, PRIuMAX): Remove.
49609
49610 2005-05-27  Bruno Haible  <bruno@clisp.org>
49611
49612         * lib/getlogin_r.h: Remove second include of <stddef.h>.
49613
49614 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49615
49616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
49617         _POSIX_PTHREAD_SEMANTICS for Solaris.
49618
49619 2005-05-25  Derek Price  <derek@ximbiot.com>
49620
49621         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
49622
49623 2005-05-25  Derek Price  <derek@ximbiot.com>
49624             Paul Eggert  <eggert@cs.ucla.edu>
49625
49626         * modules/getlogin_r, m4/getlogin_r.m4: New files.
49627         * lib/getlogin_r.c, getlogin_r.h: New files.
49628
49629 2005-05-25  Bruno Haible  <bruno@clisp.org>
49630             Derek Price  <derek@ximbiot.com>
49631
49632         * lib/getlogin_r.h: Simplify API documentation.
49633
49634 2005-05-23  Derek Price  <derek@ximbiot.com>
49635
49636         * modules/minmax (Files): Add m4/minmax.m4.
49637         (configure.ac): Add gl_MINMAX.
49638
49639 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49640
49641         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
49642         so that unistd-safer.h (GPL'ed code) need not be included.
49643
49644 2005-05-22  Bruno Haible  <bruno@clisp.org>
49645
49646         * m4/minmax.m4: New file.
49647         Based on a patch by Derek Price <derek@ximbiot.com>.
49648
49649 2005-05-22  Bruno Haible  <bruno@clisp.org>
49650
49651         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
49652         (INT64_MIN): Fix definition.
49653         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
49654
49655         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
49656         NEED_SIGNED_INT_TYPES.
49657
49658         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
49659         HAVE_SYSTEM_INTTYPES.
49660
49661 2005-05-22  Bruno Haible  <bruno@clisp.org>
49662
49663         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
49664         Also include <sys/param.h> if it defines MIN, MAX.
49665         Based on a patch by Derek Price <derek@ximbiot.com>.
49666
49667 2005-05-21  Jim Meyering  <jim@meyering.net>
49668
49669         * modules/fts (Files): Add m4/inttypes-pri.m4.
49670         (Depends-on): Add lstat and remove gettext.  Alphabetize.
49671
49672 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49673
49674         New fts module.
49675         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
49676         (setup_dir, free_dir): New functions.
49677         (enter_dir, leave_dir): Define trivial
49678         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
49679         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
49680         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
49681         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
49682         Move to fts-cycle.c.
49683         (fts_open): Use setup_dir.
49684         (fts_close): Use free_dir.
49685         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
49686         This adds a label and some gotos, but the alternatives were messier.
49687         Check for memory allocation failure when entering a dir.
49688         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
49689         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
49690         (FTS): New member fts_cycle, that is a union that contains the
49691         old active_dir_ht and cycle_state.  All uses changed to mention
49692         fts_cycle.ht and fts_cycle.state.
49693         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
49694         fts.c, with the following changes:
49695         (setup_dir, free_dir): New functions.
49696         (enter_dir): Now returns bool.  Return true if successful, false
49697         if memory exhausted.  All callers changed.
49698         Do not bother partly cleaning up on
49699         memory allocation failure; that is free_dir's job.
49700         However, free ad if hash_insert fails, to avoid memory leak.
49701         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
49702         fts->fts_options to see which union member to use.
49703
49704 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49705
49706         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
49707         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
49708
49709 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49710
49711         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
49712
49713 2005-05-20  Jim Meyering  <jim@meyering.net>
49714
49715         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
49716         Now a macro, to pacify GCC.
49717
49718 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
49719
49720         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
49721         of -1.
49722
49723 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
49724
49725         * lib/chown.c (rpl_chown): Return -1 on failure.
49726
49727 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49728
49729         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
49730         Don't check for stddef.h.
49731         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
49732         don't use its results.
49733         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
49734         since we include them unconditionally.  Don't require
49735         AM_STDBOOL_H, since stdbool is a prerequisite.
49736         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
49737         since we assume C89 or better.
49738         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
49739         as we don't use their results.
49740         Don't check for fchdir, memmove, memset, strrchr, as we use
49741         them unconditionally.
49742         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
49743         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
49744
49745 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49746
49747         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
49748         Include <stddef.h> unconditionally, since we assume C89 now.
49749         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
49750         * lib/fts.c: Include fts_.h first, to check interface.
49751         Do not include intprops.h; no longer needed.
49752         Include cycle-check.h and hash.h, since fts_.h no longer does.
49753         Remove unnecessary casts of closedir to void.
49754         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
49755         decide whether to decrement nlinks.
49756         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
49757         (FTS): Use struct hash_table * instead of Hash_table, so that
49758         we no longer need to include hash.h here.
49759
49760 2005-05-18  Jim Meyering  <jim@meyering.net>
49761
49762         * modules/dirfd (License): Change to LGPL.  Most of the code
49763         is already in the public domain.
49764
49765 2005-05-18  Jim Meyering  <jim@meyering.net>
49766
49767         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
49768         Reported by Yoann Vandoorselaere.
49769
49770 2005-05-17  Jim Meyering  <jim@meyering.net>
49771
49772         * m4/fts.m4: New file, from coreutils.
49773
49774 2005-05-17  Jim Meyering  <jim@meyering.net>
49775
49776         * lib/fts.c, lib/fts_.h: New files, from coreutils.
49777
49778 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49779
49780         Sync from coreutils.
49781         * m4/unlinkdir.m4: New file.
49782
49783 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49784
49785         Sync from coreutils.
49786         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
49787         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
49788         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
49789         White space changes only.
49790         * lib/makepath.c (make_path): Port to hosts where leading "//" is
49791         special.
49792         * lib/yesno.c: Include getline.h, not ctype.h.
49793         (yesno): Don't remove leading white space; POSIX doesn't allow it.
49794         Use getline to remove arbitrary restriction on response length.
49795
49796 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49797
49798         * config/srclist-update: Spell out "Street" in FSF postal
49799         mail address; this is the style the FSF seems to prefer.
49800
49801         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
49802         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
49803         this updates FSF postal mail address.
49804
49805         Sync from coreutils.
49806         * modules/unlinkdir: New file.
49807         * modules/yesno (Depends-on): Add getline.
49808         * MODULES.html.sh (File system functions): Add unlinkdir.
49809
49810 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
49811
49812         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
49813         lib/strsep.h:
49814         Change the initial comment to refer to GPL, not LGPL.
49815         gnulib-tool will change it to LGPL as needed.
49816
49817         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
49818         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
49819         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
49820         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
49821         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
49822         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
49823         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
49824         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
49825         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
49826         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
49827         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
49828         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
49829         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
49830         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
49831         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
49832         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
49833         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
49834         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
49835         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
49836         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
49837         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
49838         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
49839         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
49840         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
49841         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
49842         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
49843         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
49844         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
49845         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
49846         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
49847         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
49848         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
49849         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
49850         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
49851         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
49852         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
49853         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
49854         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
49855         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
49856         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
49857         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
49858         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
49859         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
49860         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
49861         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
49862         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
49863         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
49864         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
49865         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
49866         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
49867         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
49868         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
49869         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
49870         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
49871         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
49872         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
49873         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
49874         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
49875         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
49876         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
49877         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
49878         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
49879         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
49880         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
49881         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
49882         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
49883         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
49884         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
49885         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
49886         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
49887         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
49888         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
49889         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
49890         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
49891         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
49892         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
49893         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
49894         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
49895         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
49896         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
49897         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
49898         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
49899         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
49900         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
49901         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
49902         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
49903         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
49904         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
49905         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
49906         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
49907         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
49908         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
49909         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
49910         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
49911         lib/yesno.c, lib/yesno.h:
49912         Update FSF postal mail address.
49913
49914 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
49915
49916         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
49917         tests/test-memmem.c, tests/test-stpncpy.c:
49918         Update FSF postal mail address.
49919
49920 2005-05-13  Bruno Haible  <bruno@clisp.org>
49921
49922         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
49923         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
49924         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
49925         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
49926         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
49927         Add support for 64-bit integers in the MSVC compiler.
49928
49929 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49930
49931         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
49932
49933 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
49934
49935         * gnulib-tool (func_import): Sort and uniquify recommended includes.
49936
49937 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
49938
49939         * doc/getdate.texi (General date syntax): Don't say that date
49940         date --iso-8601=ns generates acceptable dates; it doesn't yet.
49941         Problem reported by Nic Ferrier.
49942
49943 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49944
49945         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
49946         specified in ai_socktype. Fix invalid ai_protocol
49947         check. ai_protocol is usually set to 0 or depending on
49948         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
49949         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
49950         ai_socktype / ai_protocol in the returned addrinfo structure.
49951
49952 2005-05-10  Simon Josefsson  <jas@extundo.com>
49953
49954         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
49955         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49956
49957 2005-05-10  Karl Berry  <karl@gnu.org>
49958
49959         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
49960         (from http://www.gnu.org/licenses).
49961         * doc/COPYING.LIB: also rename to COPYING.LESSER.
49962         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
49963         fdl.texi suffices.
49964
49965 2005-05-10  Karl Berry  <karl@gnu.org>
49966
49967         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
49968         (COPYING.DOC): remove.
49969
49970         * config/srclist-update: new FSF address.
49971
49972 2005-05-10  Derek Price  <derek@ximbiot.com>
49973
49974         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
49975         possible.
49976
49977 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49978             Bruno Haible  <bruno@clisp.org>
49979
49980         * modules/inet_ntop: New file.
49981         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49982         inet_ntop.
49983
49984 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49985             Bruno Haible  <bruno@clisp.org>
49986
49987         * m4/inet_ntop.m4: New file.
49988
49989 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49990             Bruno Haible  <bruno@clisp.org>
49991
49992         * lib/inet_ntop.h: New file.
49993         * lib/inet_ntop.c: New file, from glibc with modifications.
49994
49995 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
49996
49997         * modules/time_r (License): Change to LGPL.
49998         * modules/extensions (License): Change to LGPL.  Actually,
49999         the license is more permissive than that, but currently gnulib-tool
50000         doesn't know how to handle more-permissive licenses.
50001
50002         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
50003         Problem reported by Dave Love.
50004
50005 2005-05-08  Jim Meyering  <jim@meyering.net>
50006
50007         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
50008         blank.
50009
50010 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50011
50012         * modules/argmatch (Depends-on): Add stdbool.
50013         * modules/backupfile (Depends-on): Likewise.
50014         * modules/chdir-long (Depends-on): Likewise.
50015         * modules/closeout (Depends-on): Likewise.
50016         * modules/cycle-check (Depends-on): Likewise.
50017         * modules/dirname (Depends-on): Likewise.
50018         * modules/fnmatch (Depends-on): Likewise.
50019         * modules/fsusage (Depends-on): Likewise.
50020         * modules/fwriteerror (Depends-on): Likewise.
50021         * modules/getcwd (Depends-on): Likewise.
50022         * modules/getloadavg (Depends-on): Likewise.
50023         * modules/hard-locale (Depends-on): Likewise.
50024         * modules/makepath (Depends-on): Likewise.
50025         * modules/mountlist (Depends-on): Likewise.
50026         * modules/nanosleep (Depends-on): Likewise.
50027         * modules/posixtm (Depends-on): Likewise.
50028         * modules/quotearg (Depends-on): Likewise.
50029         * modules/readtokens (Depends-on): Likewise.
50030         * modules/readtokens0 (Depends-on): Likewise.
50031         * modules/readutmp (Depends-on): Likewise.
50032         * modules/save-cwd (Depends-on): Likewise.
50033         * modules/strftime (Depends-on): Likewise.
50034         * modules/userspec (Depends-on): Likewise.
50035         * modules/utimecmp (Depends-on): Likewise.
50036         * modules/xgetcwd (Depends-on): Likewise.
50037         * modules/xnanosleep (Depends-on): Likewise.
50038         * modules/xstrtod (Depends-on): Likewise.
50039         * modules/yesno (Depends-on): Likewise.
50040
50041 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50042
50043         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
50044         needless checks.
50045
50046 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50047
50048         Merge from coreutils.  Among other things,
50049         add bulletproofing for cases where stdin, stdout, or stderr are closed.
50050         * lib/fd-safer.c: New file.
50051         * lib/fcntl-safer.h, open-safer.c: Remove.
50052         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
50053         * lib/dup-safer.c: Include unistd-safer.h first.
50054         Don't include errno.h.
50055         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
50056         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
50057         * lib/file-type.c: Rely on file-type.h change.
50058         * lib/getloadavg.c: Include unistd-safer.h.
50059         (getloadavg): Use safer open.
50060         * lib/getusershell.c: Include "stdio-safer.h".
50061         (getusershell): Use safer fopen.
50062         * lib/long-options.c (long_options): Use NULL rather than 0.
50063         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
50064         'free'.
50065         * lib/modechange.c: Likewise.
50066         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
50067         (MODE_DONE): New constant.
50068         (struct mode_change): Remove 'next' member.
50069         (make_node_op_equals): New function; like the old one of the
50070         same name, except it allocates an array.
50071         (mode_compile, mode_create_from_ref): Use it.
50072         (mode_compile): Allocate result as an array, not a linked list.
50073         Parse octal string ourself, so that we catch mistakes like "+0".
50074         (mode_adjust): Arg is an array, not a linked list.
50075         * lib/modechange.c: Include stat-macros.h, xalloc.h.
50076         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
50077         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
50078         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
50079         Remove.  This is now stat-macros.h's job.
50080         (talloc): Remove.  All callers replaced by xalloc, so that
50081         our invokers don't have to worry about reporting memory failures.
50082         (make_node_op_equals): Remove.
50083         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50084         New constants.
50085         (struct mode_change): Moved here from modechange.h.
50086         (mode_append_entry): Remove.
50087         (mode_compile): Remove MASKED_OPS arg, since it encouraged
50088         apps to have incorrect behavior.  Use simpler algorithm for head
50089         and tail.  Don't futz with umask; that's now the job of mode_adjust.
50090         Detect more invalid usages rather than having somewhat-random behavior.
50091         Don't insert an "a=" action, as that leads to incorrect behavior.
50092         (mode_compile, mode_create_from_ref): Return NULL on error instead
50093         of an enum, since now there's only one way to have an error.  All
50094         callers changed.
50095         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
50096         at the correct time.  Simplify calculation of "+u" and its ilk.
50097         Don't mishandle "+X".
50098         (mode_free): Remove "register" and localize decls.
50099         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50100         (struct mode_change): Move to modechange.c; callers don't
50101         need to see this stuff.
50102         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
50103         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
50104         (mode_change, mode_adjust): Reflect the new signatures noted above.
50105         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
50106         that might redefine system include files.
50107         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
50108         (my_usleep): Use NULL rather than (void *) 0.
50109         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
50110         Use siginterrupt to specify that system calls should be interrupted.
50111         (rpl_nanosleep): Move initialization of suspended closer to call of
50112         my_usleep.
50113         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
50114         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
50115         (desirable_utmp_entry): New function.
50116         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
50117         using x2nrealloc, to simplify logic.
50118         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
50119         size calculation.  Do not assume utmp file is a regular file.
50120         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
50121         (READ_UTMP_CHECK_PIDS): New constant.
50122         * lib/save-cwd.c: Include unistd-safer.h.
50123         (save_cwd): Use fd_safer.
50124         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
50125         [!_LIBC] Include "stat-macros.h" instead.
50126         * lib/unistd-safer.h (fd_safer): New decl.
50127
50128 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50129
50130         * modules/getloadavg (Depends-on): Add unistd-safer.
50131         * modules/getusershell (Depends-on): Add stdio-safer.
50132         * modules/lstat (Depends-on): Remove xalloc.
50133         * modules/mkstemp (Depends-on): Add stat-macros.
50134         * modules/modechange (Depends-on): Remove xstrtol.
50135         Add stat-macros, xalloc.
50136         * modules/save-cwd (Depends-on): Add unistd-safer.
50137         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
50138         * modules/unistd-safer (Files): Add lib/fd-safer.c
50139         (Makefile.am): Remove lib_SOURCES.
50140
50141         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
50142         Remove fcntl-safer; unistd-safer supersedes it.
50143
50144 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50145
50146         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
50147         AC_HEADER_STAT.
50148         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
50149         (gl_PREREQ_CHOWN): Remove.
50150         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
50151         it.  Don't require AC_HEADER_STAT.
50152         (gl_PREREQ_LSTAT): Remove.
50153         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
50154         Don't require AC_HEADER_STAT.
50155         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
50156         (gl_PREREQ_RMDIR): Remove.
50157         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
50158         mention stat-macros.h or AC_HEADER_STAT, since we'll make
50159         the stat-macros module a prerequisite.
50160         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
50161         * m4/filemode.m4 (gl_FILEMODE): Likewise.
50162         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
50163         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
50164         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
50165         variable names.
50166         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
50167         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
50168         variable prefixes.
50169         * m4/fcntl-safer.m4: Remove.
50170         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
50171         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
50172         Invoke gl_PREREQ_FD_SAFER.
50173         (gl_PREREQ_FD_SAFER): New macro.
50174         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
50175         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
50176         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
50177         Remove duplicate call to AC_LIBOBJ(readutmp).
50178         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
50179
50180         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
50181         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
50182
50183 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50184
50185         * MODULES.html.sh (Misc): Add byteswap.
50186
50187 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50188
50189         * modules/getcwd (Depends-on): Add extensions.
50190         * modules/openat (Depends-on): Likewise.
50191
50192 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50193
50194         * modules/byteswap: New file.
50195
50196 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50197
50198         * m4/byteswap.m4: New file.
50199
50200 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50201
50202         * lib/byteswap_.h: New file.
50203
50204 2005-04-25  Karl Berry  <karl@gnu.org>
50205
50206         * m4/gettext.m4: Update from GNU gettext 0.14.4.
50207
50208 2005-04-25  Albert Chin  <china@thewrittenword.com>
50209
50210         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
50211         Toolkit C bug.
50212
50213 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
50214
50215         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
50216         (func_ln_if_changed) Remove forcibly for no error message
50217         in case file does not exist.
50218
50219 2005-04-19  Simon Josefsson  <jas@extundo.com>
50220
50221         * gnulib-tool (Options): Make --symlink mean --symbolic.
50222
50223 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
50224
50225         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
50226
50227 2005-04-16  Simon Josefsson  <jas@extundo.com>
50228
50229         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
50230
50231 2005-04-15  Simon Josefsson  <jas@extundo.com>
50232
50233         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
50234
50235 2005-04-15  Simon Josefsson  <jas@extundo.com>
50236
50237         * gnulib-tool: Rename --symlink to --symbolic.
50238
50239 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
50240
50241         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
50242         symbolic links to files instead of copying/moving.  Add --aux-dir,
50243         specifying directory relative --dir where auxiliary build tools
50244         are placed.
50245
50246 2005-04-14  Bruno Haible  <bruno@clisp.org>
50247
50248         * modules/allocsa (License): Change to LGPL.
50249         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50250
50251 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50252
50253         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
50254         that "UTC +1 second" continues to work.  Problem reported
50255         by Dmitry V. Levin.
50256         (relunit_snumber): New rule.
50257         (relunit): Use it.
50258
50259 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50260
50261         * lib/getdate.y (universal_time_zone_table): New constant.
50262         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
50263         universal_time_zone_table.
50264         (lookup_zone): Prefer universal_time_zone_table to
50265         local_time_zone_table, so that "GMT" time stamps are allowed in
50266         London during the summer.  Problem reported by Ian Abbott.
50267
50268 2005-04-12  Jim Meyering  <jim@meyering.net>
50269
50270         * lib/human.c (humblock): Set *options even when returning due to
50271         xstrtoumax conversion failure.  Thanks to a used-uninitialized
50272         warning from gcc-4.
50273
50274 2005-04-09  Jim Meyering  <jim@meyering.net>
50275
50276         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
50277         -Wuninitialized: initialize tm0.tm_year.
50278
50279 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50280
50281         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
50282         count, since there's no maximum.  All uses changed.
50283         Add member dsts_seen.
50284         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
50285         not being INT_MAX.
50286         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
50287         Use pc_rels_seen to decide whther a date is absolute.
50288
50289         * lib/getdate.y (number): Don't overwrite year.
50290         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
50291         check.
50292
50293 2005-04-02  Simon Josefsson  <jas@extundo.com>
50294
50295         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
50296         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
50297
50298 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
50299
50300         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
50301         where no absolute path name can be longer than PATH_MAX.
50302
50303 2005-03-27  Jim Meyering  <jim@meyering.net>
50304
50305         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
50306
50307 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
50308
50309         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
50310         "one's complement" -> "ones' complement" in comment, as per Knuth.
50311         "value of type" -> "type or expression" in comment.
50312         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
50313
50314 2005-03-26  Jim Meyering  <jim@meyering.net>
50315
50316         Comment nits.
50317         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
50318         Correct typos: s/or/of/.
50319
50320 2005-03-26  Jim Meyering  <jim@meyering.net>
50321
50322         * modules/check-include-files: Move to ../ and rename to...
50323         * check-module: ...this.
50324
50325 2005-03-25  Jim Meyering  <jim@meyering.net>
50326
50327         * modules/xvasprintf (Files): Add xalloc.h.
50328
50329 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50330
50331         * modules/gettext (Files): config/config.rpath ->
50332         build-aux/config.rpath
50333         * modules/iconv (Files): Likewise.
50334         Problem reported by Oskar Liljeblad.
50335
50336 2005-03-23  Jim Meyering  <jim@meyering.net>
50337
50338         * modules/check-include-files: New script to check for
50339         missing dependencies, multiple includes, etc.
50340
50341         * modules/c-strtold (Depends-on): Add xalloc.
50342         * modules/c-strtod (Depends-on): Add xalloc.
50343         * modules/hash (Depends-on): Add xalloc.
50344         (Files): Remove lib/xalloc.h.
50345
50346         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
50347         * modules/userspec (Files): Add lib/inttostr.h.
50348
50349 2005-03-23  Jim Meyering  <jim@meyering.net>
50350
50351         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
50352
50353 2005-03-22  Jim Meyering  <jim@meyering.net>
50354
50355         * modules/stat-macros: New module.
50356         * modules/canonicalize, modules/euidaccess, modules/file-type,
50357         * modules/filemode, modules/lchown, modules/makepath,
50358         * modules/rmdir, modules/stat: Depend on new stat-macros module
50359         rather than listing lib/stat-macros.h manually.
50360         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
50361
50362 2005-03-22  Jim Meyering  <jim@meyering.net>
50363
50364         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
50365
50366 2005-03-22  Bruno Haible  <bruno@clisp.org>
50367
50368         * config/srclist.txt: Replace target directory 'config' with
50369         'build-aux'.
50370         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
50371         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
50372         ../build-aux/.
50373
50374 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
50375
50376         * modules/chdir-long (Depends-on): Add mempcpy.
50377
50378         * modules/acl, modules/backupfile, modules/c-strtod,
50379         modules/c-strtold, modules/canon-host, modules/canonicalize,
50380         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
50381         modules/exclude, modules/exitfail, modules/file-type,
50382         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
50383         modules/getdate, modules/getline, modules/getpagesize,
50384         modules/getpass, modules/getugroups, modules/group-member,
50385         modules/hard-locale, modules/hash, modules/human, modules/idcache,
50386         modules/inttostr, modules/long-options, modules/makepath,
50387         modules/md5, modules/memcasecmp, modules/memcoll,
50388         modules/modechange, modules/mountlist, modules/path-concat,
50389         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
50390         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
50391         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
50392         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
50393         modules/strftime, modules/strndup, modules/strverscmp,
50394         modules/timespec, modules/unlocked-io, modules/userspec,
50395         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
50396         modules/yesno:
50397         Remove lib_SOURCES line from Makefile.am section, as this is now
50398         done automatically by the corresponding Autoconf macro.
50399
50400 2005-03-21  Jim Meyering  <jim@meyering.net>
50401
50402         Changes imported from coreutils.
50403
50404         * lib/cycle-check.c: Don't include xalloc.h.
50405
50406         * lib/path-concat.c: Don't include assert.h.
50407         (path_concat): Remove assertion that would have triggered
50408         for ABASE starting with more than one slash.
50409         Reported by Andreas Schwab.
50410
50411         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
50412         properly when ABASE is an absolute file name.
50413         Correct the description of this function.
50414         Include <assert.h>.
50415         Add an assertion and a test driver.
50416         This fixes a bug introduced on 2004-07-02.
50417         Andreas Schwab reported the resulting failure of cp --parents:
50418         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
50419
50420 2005-03-21  Jim Meyering  <jim@meyering.net>
50421
50422         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
50423         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
50424
50425 2005-03-21  Jim Meyering  <jim@meyering.net>
50426         and  Paul Eggert  <eggert@cs.ucla.edu>
50427
50428         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
50429         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
50430         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
50431         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
50432         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
50433         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
50434         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
50435         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
50436         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
50437         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
50438         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
50439         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
50440         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
50441         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
50442         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
50443         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
50444         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
50445         for these modules.
50446
50447 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
50448
50449         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
50450         (which shouldn't happen), generate nothing instead of returning 0
50451         immediately, so that nstrftime (NULL, ...) doesn't return 0.
50452
50453 2005-03-16  Bruno Haible  <bruno@clisp.org>
50454
50455         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
50456         HAVE_LONGLONG_64BIT.
50457
50458 2005-03-16  Bruno Haible  <bruno@clisp.org>
50459
50460         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
50461         HAVE_LONGLONG_64BIT.
50462
50463 2005-03-16  Bruno Haible  <bruno@clisp.org>
50464
50465         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
50466         HAVE_LONGLONG_64BIT.
50467
50468 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50469
50470         * lib/strftime.c (my_strftime): Prepend space to format so that we can
50471         reliably distinguish strftime failure from empty output on POSIX
50472         hosts.
50473
50474 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50475
50476         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
50477         (iconv_string): Don't guess a size-zero buffer, as that might cause
50478         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
50479         result would be 'too large', where 'too large' is (heuristically)
50480         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
50481         overflow concerns.  This will prevent some unwanted malloc failures
50482         when the inputs are very large.
50483
50484 2005-03-15  Karl Berry  <karl@gnu.org>
50485
50486         * config/srclist.txt (config.rpath): from gettext.
50487         * config/config.rpath: update.
50488
50489 2005-03-15  Bruno Haible  <bruno@clisp.org>
50490
50491         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
50492         to 'negate'.
50493
50494         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
50495         variable.
50496
50497         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
50498         results.
50499
50500 2005-03-14  Simon Josefsson  <jas@extundo.com>
50501
50502         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
50503         <fx@gnu.org>.
50504
50505 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
50506
50507         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
50508         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
50509         intprops.h.
50510         * lib/strtol.c: Likewise.
50511
50512 2005-03-14  Jim Meyering  <jim@meyering.net>
50513
50514         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
50515         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
50516         to be nonzero so that we (and caller) can detect the difference
50517         between a valid zero-length expansion and an error return, even
50518         when the underlying strftime fails before writing anything into
50519         that location.
50520
50521 2005-03-14  Bruno Haible  <bruno@clisp.org>
50522
50523         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
50524         Update from GNU gettext 0.14.3.
50525
50526 2005-03-10  Jim Meyering  <jim@meyering.net>
50527
50528         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
50529
50530 2005-03-10  Jim Meyering  <jim@meyering.net>
50531
50532         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
50533         so that this module works on systems without fchdir.
50534
50535 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
50536
50537         Factor int-properties macros into a single file, except for
50538         glibc-related files.
50539         * lib/intprops.h: New file.
50540         * lib/getloadavg.c: Include it instead of limits.h.
50541         (INT_STRLEN_BOUND): Remove.
50542         * lib/human.c: Include intprops.h.
50543         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
50544         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
50545         302/1000.
50546         * lib/inttostr.h: Include intprops.h instead of limits.h.
50547         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
50548         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
50549         for consistency with intprops.h.
50550         (time_t_is_integer, twos_complement_arithmetic): Use them.
50551         * lib/sig2str.h: Include <signal.h>, intprops.h.
50552         (INT_STRLEN_BOUND): Remove.
50553         * lib/strftime.c (TYPE_SIGNED): Remove.
50554         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
50555         * lib/strtol.c: Adjust comments to match intprops.h.
50556         * lib/userspec.c: Include intprops.h.
50557         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
50558         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
50559         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
50560         instead of rolling our own expressions.
50561         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
50562
50563         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
50564         instead of int.
50565         (my_strftime): Do not mishandle years close to INT_MAX, by doing
50566         the right thing even if adding 1900 would overflow.  Similarly
50567         for tm_mon + 1 and tm_yday + 1.
50568         Make %Y always equivalent to %C%y, and similarly for %G and %g.
50569         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
50570         (DO_SIGNED_NUMBER): New macro.
50571         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
50572
50573 2005-03-07  Bruno Haible  <bruno@clisp.org>
50574
50575         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
50576
50577 2005-03-07  Bruno Haible  <bruno@clisp.org>
50578
50579         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
50580
50581 2005-03-04  Derek R. Price  <derek@ximbiot.com>
50582
50583         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
50584         (func_import): Only replace files via --import when they have actually
50585         changed.
50586
50587 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50588
50589         * m4/mmap-anon.m4: New file.
50590         * m4/pagealign_alloc.m4: New file.
50591
50592 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50593             Bruno Haible  <bruno@clisp.org>
50594
50595         * modules/pagealign_alloc: New file.
50596         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
50597
50598 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50599             Bruno Haible  <bruno@clisp.org>
50600
50601         * lib/pagealign_alloc.h: New file.
50602         * lib/pagealign_alloc.c: New file.
50603
50604 2005-03-03  Bruno Haible  <bruno@clisp.org>
50605
50606         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
50607         Use an all-permissive copyright notice, recommended by RMS.
50608
50609 2005-03-02  Bruno Haible  <bruno@clisp.org>
50610
50611         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
50612         of AIX, the replacement has to be done only after <string.h> is
50613         included, therefore not in config.h. stpncpy.h does the replacement,
50614         and stpncpy.c uses it.
50615
50616 2005-03-02  Bruno Haible  <bruno@clisp.org>
50617
50618         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
50619         stpncpy.c uses it.
50620
50621 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50622
50623         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
50624         The workaround isn't strictly needed for POSIX conformance, and
50625         it's too much of a pain to configure and maintain.  We'll ask
50626         people to fix their kernels instead.
50627         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
50628         (NANOSLEEP_BUG_WORKAROUND): Remove.
50629         (xnanosleep): Remove the workaround.
50630
50631 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50632
50633         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
50634         Reported by Derek Price.
50635         (Include): Add "timespec.h".
50636
50637         * modules/xnanosleep (Depends-on): Remove gethrxtime.
50638
50639 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50640
50641         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
50642         to detect nanosleep bug.
50643
50644 2005-03-01  Bruno Haible  <bruno@clisp.org>
50645
50646         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
50647
50648 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
50649
50650         * modules/gethrxtime: New file.
50651         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
50652         (Depends-on): Add gethrxtime.
50653         (configure.ac): Add gl_XNANOSLEEP.
50654         (Makefile.am): Remove lib_SOURCES line.
50655
50656 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50657
50658         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
50659         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
50660
50661 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50662
50663         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
50664         * lib/timespec.h (gettime): Return void, since it always
50665         succeeds now.  All uses changed.
50666         * lib/gettime.c (gettime) Likewise.
50667         [HAVE_NANOTIME]: Prefer nanotime.
50668         Assume gettimeofday succeeds, as POSIX requires.
50669         Assime time () succeeds, since other code already does.
50670         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
50671         (timespec_subtract): Remove.
50672         (NANOSLEEP_BUG_WORKAROUND): New constant.
50673         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
50674         things considerably.  Use it only on GNU/Linux hosts, since the
50675         workaround shouldn't be needed elsewhere.
50676
50677 2005-02-24  Bruno Haible  <bruno@clisp.org>
50678
50679         * modules/gettext (Files): Add m4/glibc2.m4.
50680
50681 2005-02-24  Bruno Haible  <bruno@clisp.org>
50682
50683         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
50684         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
50685         * m4/progtest.m4:
50686         Update from GNU gettext 0.14.2.
50687         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
50688
50689 2005-02-24  Bruno Haible  <bruno@clisp.org>
50690
50691         * lib/localcharset.c: Update from GNU gettext 0.14.2.
50692         * lib/config.charset: Update from GNU gettext 0.14.2.
50693
50694 2005-02-24  Bruno Haible  <bruno@clisp.org>
50695
50696         * lib/gettext.h: Update from GNU gettext 0.14.2.
50697
50698 2005-02-23  Simon Josefsson  <jas@extundo.com>
50699
50700         * m4/iconvme.m4: New file.
50701
50702 2005-02-23  Jim Meyering  <jim@meyering.net>
50703
50704         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
50705         change.
50706         Thanks to Bruno Haible for catching it.
50707
50708 2005-02-22  Simon Josefsson  <jas@extundo.com>
50709
50710         * modules/iconvme: New file.
50711
50712         * MODULES.html.sh: Add iconvme.
50713
50714 2005-02-22  Simon Josefsson  <jas@extundo.com>
50715
50716         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
50717
50718 2005-02-22  Simon Josefsson  <jas@extundo.com>
50719
50720         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
50721
50722 2005-02-22  Jim Meyering  <jim@meyering.net>
50723
50724         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
50725         s/ifndef/ifdef/.
50726
50727 2005-02-20  Neil Conway  <neilc@samurai.com>
50728
50729         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
50730         returned by OSX/Darwin if the specified buffer is not large
50731         enough for the hostname.
50732
50733 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50734
50735         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
50736         pass it to _help, otherwise the latter coredumps trying to
50737         dereference state.root_argp.
50738
50739 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50740
50741         * modules/chdir-long (Depends-on): Add memrchr.
50742         * modules/memrchr (Files): Add lib/memrchr.h.
50743         (Include): "memrchr.h".
50744
50745 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50746
50747         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
50748
50749 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50750
50751         * lib/memrchr.h: New file.
50752         * lib/chdir-long.c: Include it.
50753         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
50754         Don't bother including stddef.h.
50755
50756 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
50757
50758         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
50759         inclusion.
50760         Include <sys/types.h>, for dev_t.
50761         (ME_DUMMY, ME_REMOTE): Move from here....
50762         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
50763         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
50764         Dmitry V. Levin.
50765         Include mountlist.h first, to test the interface.
50766
50767 2005-01-29  Bruno Haible  <bruno@clisp.org>
50768
50769         * lib/progname.c (program_name): Initialize.
50770         Needed when linking statically on MacOS X.
50771
50772 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
50773
50774         Sync from coreutils.
50775         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
50776         (Depends-on): Add c-strtod.
50777         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
50778
50779 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
50780
50781         Sync from coreutils.
50782         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
50783
50784         Remove files that are specific to coreutils.
50785         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
50786
50787 2005-01-28  Bruno Haible  <bruno@clisp.org>
50788
50789         * modules/javacomp: New file.
50790         * MODULES.html.sh (Java): Add javacomp.
50791
50792 2005-01-28  Bruno Haible  <bruno@clisp.org>
50793
50794         * m4/javacomp.m4: New file, from GNU gettext.
50795
50796 2005-01-28  Bruno Haible  <bruno@clisp.org>
50797
50798         * lib/javacomp.sh.in: New file, from GNU gettext.
50799         * lib/javacomp.h: New file, from GNU gettext.
50800         * lib/javacomp.c: New file, from GNU gettext.
50801
50802 2005-01-26  Simon Josefsson  <jas@extundo.com>
50803
50804         * lib/gai_strerror.c: Use GPL in header.
50805
50806 2005-01-26  Bruno Haible  <bruno@clisp.org>
50807
50808         * modules/javaexec: New file.
50809         * MODULES.html.sh (Java): Add javaexec.
50810
50811 2005-01-26  Bruno Haible  <bruno@clisp.org>
50812
50813         * m4/javaexec.m4: New file, from GNU gettext.
50814
50815 2005-01-26  Bruno Haible  <bruno@clisp.org>
50816
50817         * lib/javaexec.sh.in: New file, from GNU gettext.
50818         * lib/javaexec.h: New file, from GNU gettext.
50819         * lib/javaexec.c: New file, from GNU gettext.
50820
50821 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50822
50823         * modules/lchown (Depends-on): Remove lchown.h
50824
50825 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50826
50827         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
50828         must be defined if the header file was not found, in order
50829         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
50830
50831 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50832
50833         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
50834         initializers for struct pentry_state.
50835         (__argp_error): Check return value of __asprintf
50836         (__argp_failure): Translate error message
50837
50838         * lib/argp-parse.c: Removed braces around the expansion of N_()
50839
50840 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50841
50842         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
50843         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
50844         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
50845         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
50846         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
50847         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
50848         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
50849         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
50850         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
50851         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
50852         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
50853         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
50854         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
50855         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
50856         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
50857         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
50858         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
50859         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
50860         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
50861         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
50862         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
50863         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
50864         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
50865         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
50866         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
50867         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
50868         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
50869         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
50870         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
50871         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
50872         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
50873         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
50874         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
50875         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
50876         xstrtol.m4, xstrtoumax.m4, yesno.m4:
50877         Use an all-permissive copyright notice, recommended by RMS.
50878
50879 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
50880
50881         * modules/chdir-long (Depends-on): Remove mempcpy.
50882
50883 2005-01-21  Jim Meyering  <jim@meyering.net>
50884
50885         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
50886         same value as for Solaris 9.
50887
50888         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
50889         component length.  This included changing the parameter to be
50890         of type `char *' rather than `char const *'.
50891         * lib/chdir-long.h (chdir_long): Update prototype.
50892
50893         * lib/openat.c (fdopendir, fstatat): New functions.
50894         * lib/openat.h: Include headers required for use of DIR and struct
50895         stat.
50896         [AT_SYMLINK_NOFOLLOW]: Define.
50897         (fdopendir, fstatat): Add prototypes.
50898
50899 2005-01-21  Bruno Haible  <bruno@clisp.org>
50900
50901         * modules/classpath: New file.
50902         * MODULES.html.sh (Java): Add classpath.
50903
50904 2005-01-21  Bruno Haible  <bruno@clisp.org>
50905
50906         * lib/classpath.h: New file, from GNU gettext.
50907         * lib/classpath.c: New file, from GNU gettext.
50908
50909 2005-01-20  Simon Josefsson  <jas@extundo.com>
50910
50911         * modules/version-etc-fsf: New file.
50912
50913 2005-01-20  Simon Josefsson  <jas@extundo.com>
50914
50915         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
50916         * lib/version-etc.c: Remove version_etc_copyright.
50917         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
50918         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
50919
50920 2005-01-20  Simon Josefsson  <jas@extundo.com>
50921
50922         * lib/base64.h (isbase64): Add.
50923
50924         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
50925         using a unsigned prototype, don't inline.
50926         (base64_decode): Use it.
50927
50928 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50929
50930         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
50931         it.
50932
50933 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50934
50935         * lib/save-cwd.c (save_cwd): Remove code to support the case
50936         where fchdir is missing or flaky.
50937
50938 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50939
50940         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
50941
50942 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
50943
50944         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
50945         AC_LIBSOURCES now does this.
50946         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
50947         with new ullong_max module.
50948
50949 2005-01-19  Bruno Haible  <bruno@clisp.org>
50950
50951         * modules/sh-quote: New file.
50952         * MODULES.html.sh (Executing programs): Add sh-quote.
50953
50954 2005-01-19  Bruno Haible  <bruno@clisp.org>
50955
50956         * lib/sh-quote.h: New file, from GNU gettext.
50957         * lib/sh-quote.c: New file, from GNU gettext.
50958
50959 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
50960
50961         Merge from coreutils.
50962         * m4/ullong_max.m4: New file.
50963         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
50964         (gl_MACROS): Assume localeconv exists.
50965
50966 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
50967
50968         Merge changes from coreutils, as described below in several
50969         changelogs dated today.
50970
50971         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
50972         (O_DIRECTORY): Remove; not needed here, since "." must be
50973         a directory.  All uses removed.
50974         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
50975         universal on Suns, and we also need to test for IRIX.
50976         Revamp code to use 'if' rather than '#if'.
50977         Avoid unnecessary comparison of cwd->desc to 0.
50978
50979         * lib/utimens.c (futimens): Robustify the previous patch, by checking
50980         for known valid error numbers rather than observed invalid ones.
50981
50982 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
50983
50984         * modules/ullong_max: New file.
50985
50986         * modules/chdir-long, modules/openat: New files.
50987         * modules/save-cwd (Depends-on): Depend on chdir-long.
50988         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
50989
50990 2005-01-18  Jim Meyering  <jim@meyering.net>
50991
50992         Merge from coreutils.
50993         * m4/chdir-long.m4, m4/openat.m4: New files.
50994         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
50995         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
50996         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
50997         is sane and DOES follow symlinks.  Besides, testing 20 different
50998         systems found no broken chown implementations.
50999         Prompted by a change in rsync's copy of this macro.
51000         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
51001
51002         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
51003
51004         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
51005         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
51006         NULL-means-set-to-current-time semantics.
51007         Remove temporary file immediately, rather than waiting
51008         for configure's at-exit trap code to do it.
51009
51010 2005-01-18  Jim Meyering  <jim@meyering.net>
51011
51012         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51013
51014         * lib/utimens.c (futimens): Account for the fact that futimes
51015         can also fail with errno == ENOSYS or errno == ENOENT.
51016         Patch from Dmitry V. Levin.
51017
51018         Change the name of the robust chdir function from chdir to chdir_long.
51019         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
51020         (restore_cwd): Use chdir_long, not chdir.
51021         * lib/chdir-long.c: Renamed from chdir.c.
51022         * lib/chdir-long.h: Renamed from chdir.h.
51023         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
51024         Hurd.
51025
51026 2005-01-18  Bruno Haible  <bruno@clisp.org>
51027
51028         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
51029         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
51030         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
51031         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
51032         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
51033         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
51034         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
51035         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
51036         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
51037         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
51038         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
51039         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
51040         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
51041         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
51042         Use an all-permissive copyright notice, recommended by RMS.
51043
51044 2005-01-18  Bob Proulx  <bob@proulx.com>
51045
51046         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
51047         simplify offsetof() macro construct to avoid compile failure with
51048         native HP-UX 11.0 ANSI C compiler.
51049
51050 2005-01-17  Bruno Haible  <bruno@clisp.org>
51051
51052         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
51053         redundant because stpncpy.m4 takes care of it.
51054
51055 2005-01-17  Bruno Haible  <bruno@clisp.org>
51056
51057         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
51058
51059 2005-01-17  Bruno Haible  <bruno@clisp.org>
51060
51061         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
51062         used.
51063
51064 2005-01-17  Bruno Haible  <bruno@clisp.org>
51065
51066         * lib/fwriteerror.h (fwriteerror): Change specification to include
51067         fclose.
51068         * lib/fwriteerror.c: Include <stdbool.h>.
51069         (fwriteerror): At the end, close the file stream. Record whether
51070         stdout was already closed.
51071
51072 2005-01-17  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/execute.c (environ): Declare if needed.
51075         * lib/pipe.c (environ): Likewise.
51076         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
51077
51078 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51079
51080         * modules/argp: Depend on vsnprintf
51081
51082 2005-01-10  Jim Meyering  <jim@meyering.net>
51083
51084         * modules/closeout (Depends-on): Add atexit.
51085
51086 2005-01-06  Bruno Haible  <bruno@clisp.org>
51087
51088         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
51089
51090 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51091
51092         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
51093         definitions to be after all include files, to avoid collisions.
51094         Problem reported by Bob Proulx.
51095
51096 2005-01-04  Jim Meyering  <jim@meyering.net>
51097
51098         Changes imported from coreutils.
51099         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
51100         as the mkstemp template, use a temporary directory and an
51101         8.3-friendly template to avoid trouble on systems like DJGPP.
51102         Reported by Juan M. Guerrero via Stepan Kasal.
51103         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
51104         close. Remove the temporary directory right away, rather than waiting
51105         for configure's at-exit trap code to do it.
51106         Suggestion from Stepan Kasal.
51107
51108 2005-01-01  Simon Josefsson  <jas@extundo.com>
51109
51110         * gnulib-tool: Print #include directives when --import'ing.
51111
51112 2004-12-28  Simon Josefsson  <jas@extundo.com>
51113
51114         * tests/test-base64.c: Include required header files.  Remove
51115         unused variables.
51116
51117 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51118
51119         * modules/error (Depends-on): Remove gettext.
51120
51121 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51122
51123         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
51124         not needed.  This removes a dependency on the gettext module.
51125         [defined _LIBC]: Do not include <libintl.h>; not needed.
51126
51127 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51128
51129         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
51130         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
51131
51132 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51133
51134         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
51135         HAVE_DECL_STRTOLD.
51136
51137 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51138
51139         * modules/getdate (Depends-on): Remove alloca-opt.
51140
51141 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51142
51143         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
51144
51145 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51146
51147         * lib/argp-parse.c: Include <stddef.h>.
51148         (alignof, alignto): New macros.
51149         (parser_init): Don't assume that void * is aligned sufficiently
51150         for struct option.
51151
51152         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
51153         need to extend the stack.
51154         (YYINITDEPTH): New macro, so that the initial stack isn't overly
51155         large.
51156
51157 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51158
51159         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
51160
51161 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51162
51163         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
51164         (2004-10-24) change.  Apparently this was a false alarm.
51165
51166         * modules/getdate: Depend on alloca-opt, not alloca.
51167
51168 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51169
51170         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
51171         Remove now-obsolete comment about AIX.
51172         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
51173         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
51174         (YYMAXDEPTH): New macro.
51175
51176 2004-12-18  Simon Josefsson  <jas@extundo.com>
51177
51178         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
51179
51180 2004-12-18  Bruno Haible  <bruno@clisp.org>
51181
51182         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
51183
51184 2004-12-18  Bruno Haible  <bruno@clisp.org>
51185
51186         * lib/fatal-signal.c (fatal_signals): Make non-const.
51187         (init_fatal_signals): New function.
51188         (uninstall_handlers, install_handlers): Ignore signals that were set to
51189         SIG_IGN.
51190         (at_fatal_signal): Call init_fatal_signals.
51191         (init_fatal_signal_set): Likewise. Ignore signals that were set to
51192         SIG_IGN.
51193         Reported by Paul Eggert.
51194
51195 2004-12-18  Bruno Haible  <bruno@clisp.org>
51196
51197         * doc/alloca.texi: New file.
51198         * doc/alloca-opt.texi: New file.
51199
51200 2004-12-17  Jim Meyering  <jim@meyering.net>
51201
51202         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
51203         Otherwise, install-sh could exit with improper exit status when
51204         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
51205
51206 2004-12-16  Simon Josefsson  <jas@extundo.com>
51207
51208         * tests/test-base64.c: Add license.
51209
51210 2004-12-15  Stepan Kasal  <address@hidden>
51211
51212         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
51213
51214 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
51215
51216         * modules/getcwd (Files): Add m4/d-ino.m4.
51217         Suggested by Mark D. Baushke.
51218
51219 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51220
51221         * lib/getdate.y (textint): New member "negative".
51222         (time_zone_hhmm): New function.
51223         Expect 14 shift-reduce conflicts, not 13.
51224         (o_colon_minutes): New rule.
51225         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
51226         (yylex): Set the "negative" member of signed numbers.
51227
51228 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51229
51230         * doc/getdate.texi (Time of day items, Time zone items):
51231         Describe new formats +00:00, UTC+00:00.
51232
51233 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51234
51235         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
51236         spurious "-l"s.  Problem reported by Stepan Kasal.
51237
51238 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
51239
51240         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
51241         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
51242
51243 2004-12-04  Simon Josefsson  <jas@extundo.com>
51244
51245         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
51246         Vandoorselaere <yoann@prelude-ids.org>.
51247
51248 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51249
51250         Changes imported from coreutils.
51251         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
51252         exist.
51253         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
51254
51255 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51256
51257         Changes imported from coreutils.
51258         * lib/hard-locale.c: Assume <locale.h> exists.
51259         Include "strdup.h".
51260         (GLIBC_VERSION): New macro.
51261         (hard_locale): Assume setlocale exists.
51262         Rewrite to avoid #ifdef.
51263         Use strdup rather than malloc + strcpy.
51264         * lib/human.c: Assume <locale.h> exists.
51265         (human_readable): Assume localeconv exists.
51266
51267 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51268
51269         * modules/hard-locale (Depends-on): Add strdup.
51270
51271 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
51272
51273         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
51274         convert T2, not T.  (Imported from libc.)
51275
51276 2004-11-30  Simon Josefsson  <jas@extundo.com>
51277
51278         * modules/restrict (License): Change to LGPL.
51279
51280 2004-11-30  Simon Josefsson  <jas@extundo.com>
51281
51282         * m4/restrict.m4: Add copyright and copying conditions.
51283
51284 2004-11-30  Simon Josefsson  <jas@extundo.com>
51285
51286         * m4/base64.m4: New file.
51287
51288 2004-11-30  Simon Josefsson  <jas@extundo.com>
51289
51290         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
51291         base64.
51292
51293         * tests/test-base64.c: New file.
51294
51295         * modules/base64: New file.
51296
51297 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51298
51299         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
51300         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
51301
51302         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
51303
51304 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51305
51306         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
51307         (__getcwd.c): Don't restore errno; glibc doesn't.
51308         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
51309         first, falling back to our code only if its results look suspicious.
51310         Ensure that the resulting buffer is only as large as necessary.
51311
51312         * lib/readutmp.c: Include readutmp.h first.
51313         Include <errno.h>, since readutmp.h no longer does that.
51314         * lib/readutmp.h: Don't include <errno.h>,
51315         <sys/param.h>, <time.h>; not needed to establish interface.
51316         (errno): Remove decl.
51317         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
51318         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
51319         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
51320
51321 2004-11-28  Simon Josefsson  <jas@extundo.com>
51322
51323         * lib/base64.h, base64.c: New file.
51324
51325 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51326
51327         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
51328
51329 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51330
51331         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
51332         (Depends-on): Remove pathmax, same.  Add mempcpy.
51333         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
51334         (Makefile.am): Append getcwd.h to lib_SOURCES.
51335         (Include): Add getcwd.h.
51336         (Maintainer): Change from Jim Meyering to "all, glibc",
51337         since getdate now uses intended-for-glibc code.
51338         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
51339         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
51340
51341 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51342
51343         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
51344         HP's ANSI C compiler.
51345         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
51346         Declaring int functions causes warnings on some modern systems and
51347         shouldn't be needed to compile on ancient ones.
51348         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
51349         defined.
51350
51351         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
51352         with the following changes.
51353         (__set_errno): Parenthesize properly.
51354         Include <stdbool.h>.
51355         (MIN, MAX, MATCHING_INO): New macros.
51356         (__getcwd): Define with prototype, not K&R form.
51357         Use heuristics to allocate default buffer on stack if possible.
51358         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
51359         behavior, and to avoid the PATH_MAX limit when computing
51360         ../../../../...
51361         Use MATCHING_INO to compare inode number to file.
51362         Check for arithmetic overflow in size calculations.
51363         Fix bug in reallocation of dot array that caused getcwd to fail
51364         on directories nested deeper than 75.
51365         Be more careful about saving errno on error.
51366         Do not use realloc; use only free+malloc, as this is a bit
51367         more flexible and avoids a needless copy operation.
51368         Do not inspect st_dev and st_ino for symbolic links; POSIX
51369         doesn't specify the latter.
51370         Check for closedir errors.
51371         Avoid needless casts.
51372         Use "#ifdef weak_alias" around weak_alias, to be like other
51373         glibc code.
51374         The following changes to getcwd.c have effect only when used in
51375         gnulib; they have no effect inside glibc proper.
51376         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
51377         as alloca isn't used.
51378         (alloca, __alloca): Likewise.
51379         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
51380         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
51381         unconditionally, as gnulib assumes C89 or better.
51382         Do not include <sys/param.h>.
51383         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
51384         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
51385         better.
51386         (NULL) [!defined NULL]: Remove; we assume C89 or better.
51387         Include <dirent.h> in a way that is compatible with modern Autoconf.
51388         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
51389         New macros, if not already defined.
51390         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
51391         Use "_LIBC", not "defined _LIBC", for consistency.
51392         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
51393         a mempcpy module.
51394         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
51395         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
51396         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
51397         credit only to Jim Meyering and adjust the copyright dates.
51398         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
51399         <stdlib.h>, <unistd.h>, "pathmax.h".
51400         Instead, include "xgetcwd.h" (first) and "getcwd.h".
51401         (INITIAL_BUFFER_SIZE): Remove.
51402         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
51403
51404 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51405
51406         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
51407         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
51408         Use the _ONCE methods, for efficiency.
51409         Check for fcntl.h.  In test program, include <errno.h>
51410         and <fcntl.h> if available.  Remove old K&R cruft from
51411         test program.  Check for common errors in GNU/Linux,
51412         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
51413         don't do AC_LIBOBJ, as that's getcwd.m4's job.
51414         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
51415         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
51416         name accordingly.
51417         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
51418         accommodate new getcwd.c.
51419         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
51420         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
51421         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
51422         that's all we need now.
51423
51424 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51425
51426         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
51427         argp-parse.c depends on getopt internals, that means we should
51428         always use our getopt, to be on the safe side.
51429         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
51430         order not to spoil the result of an eventual previous invocation
51431         of gl_GETOPT_SUBSTITUTE.
51432
51433 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51434
51435         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
51436         redefinition warnings. To avoid them, include the defines
51437         in `#if !defined __need_getopt ... #endif'. The only place
51438         where __getopt_argv_const is used is in definitions
51439         of getopt_long and getopt_long_only below, which are as well
51440         protected by `#ifndef __need_getopt'.
51441         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
51442         __need_getopt after including <stdio.h> and <unistd.h> These
51443         headers might have defined it.
51444
51445 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51446
51447         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
51448
51449 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51450
51451         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
51452         (futimens): New function, which uses futimes if available.
51453         (futimens, utimens): Support timespec==NULL, with same semantics
51454         as utime and utimens.
51455         * lib/utimens.h (futimens): New decl.
51456
51457 2004-11-23  Jim Meyering  <jim@meyering.net>
51458
51459         * lib/getopt_.h: Remove trailing blanks.
51460
51461 2004-11-23  Jim Meyering  <jim@meyering.net>
51462
51463         * lib/__fpending.c: Add comment.
51464
51465 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51466
51467         * modules/canonicalize (Depends-on): Add xreadlink.
51468         Problem reported by James Youngman.
51469
51470 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51471
51472         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
51473         New macros.
51474         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
51475         optopt): Use them instead of invoking ## directly; otherwise, the
51476         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
51477
51478 2004-11-19  Bruno Haible  <bruno@clisp.org>
51479
51480         * lib/strtok_r.c: Move comments from here...
51481         * lib/strtok_r.h: ... to here.
51482
51483 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51484
51485         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
51486         implementations that mishandle size_t overflow.
51487
51488 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51489
51490         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
51491         might fail.  Problem reported by Yoann Vandoorselaere.
51492         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
51493         implementations that mishandle size_t overflow.
51494
51495 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51496
51497         * modules/canon-host (Depends-on): Add strdup.
51498
51499 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51500
51501         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
51502
51503 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51504
51505         * lib/canon-host.c: Include "strdup.h".
51506         (canon_host): Use getaddrinfo if available, so that IPv6 works.
51507         Use strdup instead of malloc/strcpy to duplicate strings.
51508
51509         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
51510         (human_space_before_unit): New constant.
51511         * lib/human.c (human_readable): Support it.
51512
51513         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
51514         (xgetcwd): Set errno correctly when failing.
51515         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
51516         the failure is actually due to a PATH_MAX problem.
51517
51518         Further getopt changes to make it more likely that glibc will
51519         buy the changes back.
51520         * lib/getopt.c (POSIXLY_CORRECT): New constant.
51521         (getopt): Use it, so to preserve glibc semantic
51522         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
51523         when compiling for libc.
51524         * lib/getopt_.h (__getopt_argv_const): Bring it back.
51525         (getopt_long, getopt_long_only): Use it.
51526
51527         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
51528         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
51529         (getopt): Argv is now char * const *, as per standard.
51530         (_getopt_internal_r, _getopt_internal): Argv is now char **,
51531         not char *__getopt_argv_const *.
51532         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
51533         _getopt_long_only_r): Likewise.
51534         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
51535         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
51536         _getopt_long_r, _getopt_long_only_r): Likewise.
51537         * lib/getopt_.h (__getopt_argv_const): Remove.
51538         (getopt): Argv is now char * const *, as per standard.
51539
51540         * lib/getdate.y (tORDINAL): New token.
51541         (day, relunit): Allow it for relative times.
51542         (relative_time_table): Use tORDINAL for ordinals.
51543
51544 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51545
51546         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
51547         Document that "second" isn't allowed as an ordinal number.
51548
51549 2004-11-16  Jim Meyering  <jim@meyering.net>
51550
51551         * modules/closeout (Depends-on): Add fpending.
51552
51553 2004-11-15  Jim Meyering  <jim@meyering.net>
51554
51555         * lib/closeout.c: Include "__fpending.h" once again.
51556         Include <stdbool.h>.
51557         (close_stdout): Don't fail just because stdout was closed initially,
51558         since some programs don't write to stdout in the normal course of
51559         operation (other than --version and --help), and we don't want this
51560         function to make e.g. `touch file >&-' fail.
51561         But do fail if it was closed and someone has tried to write to it.
51562         E.g., `printf foo >&-' must fail.
51563
51564 2004-11-13  Jim Meyering  <jim@meyering.net>
51565
51566         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
51567
51568 2004-11-12  Simon Josefsson  <jas@extundo.com>
51569
51570         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
51571         small doc fix is still pending.
51572
51573 2004-11-11  Simon Josefsson  <jas@extundo.com>
51574
51575         * modules/strtok_r: New file.
51576
51577         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51578         strtok_r.
51579
51580 2004-11-11  Simon Josefsson  <jas@extundo.com>
51581
51582         * m4/strtok_r.m4: New file.
51583
51584         * m4/getopt.m4: Replace opterr.
51585
51586 2004-11-11  Simon Josefsson  <jas@extundo.com>
51587
51588         * lib/strtok_r.h, strtok_r.c: New file.
51589
51590 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
51591
51592         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
51593         of replacing opterr, getopt, etc.  This should handle the
51594         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
51595
51596 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
51597
51598         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
51599         we can stop lying to compilers about the constness of argv when we
51600         are compiled outside glibc.
51601         (getopt, getopt_long, getopt_long_only): Use it.
51602         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
51603         _getopt_internal, getopt): Likewise.
51604         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
51605         _getopt_long_only_r): Likewise.
51606         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
51607         _getopt_long_r, _getopt_long_only_r): Likewise.
51608
51609         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
51610         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
51611         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
51612         the other external symbols.
51613         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
51614         declaration, since the above renaming now works around collisions.
51615
51616 2004-11-11  Jim Meyering  <jim@meyering.net>
51617
51618         * lib/linebreak.c: Remove trailing blanks.
51619         * lib/alloca_.h: Likewise.
51620         * lib/acosl.c: Likewise.
51621         * lib/euidaccess.c: Likewise.
51622         * lib/allocsa.h: Likewise.
51623
51624 2004-11-10  Simon Josefsson  <jas@extundo.com>
51625
51626         * m4/getaddrinfo.m4: New file.
51627
51628 2004-11-10  Simon Josefsson  <jas@extundo.com>
51629
51630         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
51631
51632 2004-11-10  Simon Josefsson  <jas@extundo.com>
51633
51634         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51635         getaddrinfo.
51636
51637         * modules/getaddrinfo: New file.
51638
51639 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51640
51641         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
51642
51643 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         * lib/mktime.c (SHR): New macro, which is a portable
51646         substitute for >> that should work even on Crays.
51647         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
51648         Problem reported by Mark D. Baushke in
51649         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
51650         * lib/getdate.y (SHR): Likewise.
51651         (tm_diff): Use it.
51652         * lib/strftime.c (SHR): Likewise.
51653         (tm_diff): Use it.
51654         * lib/quotearg.c (struct quoting_options): Use unsigned int for
51655         quote_these_too, so that right shifts are well defined.  All uses
51656         changed.
51657
51658 2004-11-10  Jim Meyering  <jim@meyering.net>
51659
51660         Ensure that no close failure goes unreported.
51661         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
51662         return early when it seems there's nothing to flush.
51663         Don't include __fpending.h.
51664
51665 2004-11-10  Jim Meyering  <jim@meyering.net>
51666
51667         * modules/closeout (Depends-on): Remove fpending.
51668
51669 2004-11-10  Jim Meyering  <jim@meyering.net>
51670
51671         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
51672
51673 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51674
51675         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
51676         gl_FUNC_STRFTIME.
51677         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
51678         and AC_REQUIRE when possible, to avoid duplicate checks.
51679         Check for <wchar.h>.
51680
51681 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51682
51683         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
51684
51685 2004-11-09  Bruno Haible  <bruno@clisp.org>
51686
51687         * m4/sockpfaf.m4: New file.
51688
51689 2004-11-05  Bruno Haible  <bruno@clisp.org>
51690
51691         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
51692         Reported by Mark D. Baushke <mdb@cvshome.org>.
51693
51694 2004-11-04  Bruno Haible  <bruno@clisp.org>
51695
51696         2004-09-11  Bruno Haible  <bruno@clisp.org>
51697                 * allocsa.valgrind: New file.
51698         2004-02-06  Bruno Haible  <bruno@clisp.org>
51699                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
51700                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
51701                 Reported by Christopher Seip <chris.seip@hp.com>.
51702
51703 2004-11-04  Bruno Haible  <bruno@clisp.org>
51704
51705         * modules/allocsa (Files): Add lib/allocsa.valgrind.
51706         (Makefile.am): Distribute it.
51707
51708 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
51709
51710         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
51711         with errno == ERANGE if the buffer is too small.
51712         Problem reported by Mark D. Baushke.
51713
51714 2004-11-03  Albert Chin  <china@thewrittenword.com>
51715             Paul Eggert  <eggert@cs.ucla.edu>
51716
51717         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
51718         equivalent, substitute $ac_type for equivalent type rather than
51719         blindly using uint32_t *always* which won't work if uint32_t is not
51720         available.  Define _UINT32_T to work around typedef of uint32_t if
51721         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
51722         2.5.1.
51723
51724 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51725
51726         * m4/jm-macros.m4: Sync from coreutils.
51727         (gl_MACROS): Check for mbrlen, for pathchk.
51728         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
51729
51730 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51731
51732         * lib/xreadlink.c (MAXSIZE): New macro.
51733         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
51734         size does not exceed MAXSIZE.  Avoid cast.
51735         As suggested by Mark D. Baushke in
51736         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
51737         if readlink fails with buffer size just under MAXSIZE, try again
51738         with MAXSIZE.
51739
51740 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51741
51742         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
51743
51744 2004-11-02  Derek R. Price  <derek@ximbiot.com>
51745         and  Paul Eggert  <eggert@cs.ucla.edu>
51746
51747         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
51748         (get_date): Overparenthesize to avoid GCC warning.
51749
51750 2004-11-02  Bruno Haible  <bruno@clisp.org>
51751
51752         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
51753         returns void.
51754
51755 2004-11-02  Bruno Haible  <bruno@clisp.org>
51756
51757         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
51758         function returns void.
51759
51760 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51761
51762         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
51763         fflush_unlocked, flockfile, funlockfile, funlockfile,
51764         fputs_unlocked, putc_unlocked.
51765
51766 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51767
51768         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
51769         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
51770         already declared.
51771
51772 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51773
51774         * modules/getdate (Files): Add doc/getdate.texi.
51775         (Depends-on): Add setenv, xalloc.
51776
51777 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51778
51779         * lib/getdate.y: Add support for TZ="foo" within a date string.
51780         Fix some bugs near time_t boundaries.  Reject dates with
51781         out-of-range components, e.g., "Sept 31".
51782         Include <stdlib.h>, "setenv.h", "xalloc.h".
51783         (ISDIGIT_LOCALE): Remove; unused.
51784         Note that the TZ and time functions used here are not reentrant.
51785         (mktime_ok, get_tz): New functions.
51786         (TZBUFSIZE): New constant.
51787         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
51788         This requires that we sometimes generate our own TZ="XXX..." setting.
51789
51790 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51791
51792         * doc/getdate.texi: New file, from coreutils with modifications for
51793         the new TZ parsing.
51794
51795 2004-10-27  Derek R. Price  <derek@ximbiot.com>
51796
51797         * lib/mktime.c (not_equal_tm): Remove redundant check.
51798
51799 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51800
51801         * modules/regex (lib_SOURCES): Add regex.c.
51802         Reported by James Youngman in
51803         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
51804
51805 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51806
51807         * lib/getdate.y: Use Bison 1.875 features, and some minor
51808         code cleanups.  This change does not affect semantics.
51809         Don't include <stdlib.h>; no longer needed.
51810         Don't include unlocked-io.h; only the "#if TEST" code uses
51811         stdio, and performance isn't crucial there.
51812         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
51813         Bison 1.875 features as described below.
51814         All uses of "PC." replaced by "pc->".
51815         (YYSTYPE): Add a forward declaration.
51816         (yylex, yyerror): Use full prototypes in forward decls.
51817         Use "%pure-parser" rather than obsolescent "%pure_parser".
51818         Use %parse-param and %lex-param instead of obsolescent
51819         YYPARSE_PARAM and YYLEX_PARAM.
51820         (meridian_table, month_and_day_table, time_units_table,
51821         relative_time_table, time_zone_table, military_table,
51822         lookup_zone, lookup_word, get_date):
51823         Use NULL instead of 0 where appropriate.
51824         (to_hour): Avoid abort (), to avoid a dependency on
51825         stdlib.h.
51826         (yyerror, yylex): Now accepts parser_control * arg.
51827         (main) [TEST]: Use '\0' rather than 0 for char.
51828
51829 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51830
51831         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
51832
51833 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51834
51835         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
51836         It's now the caller's responsibility to handle the case where
51837         !HAVE_GETPAGESIZE && !defined getpagesize.
51838
51839         * lib/mktime.c (leapyear): Arg is long int, not int.
51840
51841 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
51842
51843         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
51844
51845 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
51846
51847         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
51848         missing.  Problem reported by James Youngman.
51849
51850 2004-10-16  Simon Josefsson  <jas@extundo.com>
51851
51852         * gnulib-tool: Fix comments.  Fix parse problem.
51853         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
51854
51855 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
51856
51857         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
51858         implementation of getopt_long.  Problem reported by Alexander Taler in:
51859         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
51860
51861 2004-10-15  Bruno Haible  <bruno@clisp.org>
51862
51863         * gnulib-tool: Untabify. Initialize supplied_libname.
51864         (func_usage): More homogenous output.
51865         (func_modules_transitive_closure, func_modules_to_filelist,
51866         func_emit_lib_Makefile_am): New functions.
51867         (func_import): New function, extracted from big case statement. Use
51868         func_get_license, func_modules_transitive_closure,
51869         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
51870         opt_lgpl. Don't use test -a, as it's not portable.
51871         (func_create_testdir): Use func_modules_transitive_closure,
51872         func_modules_to_filelist, func_emit_lib_Makefile_am.
51873
51874 2004-10-15  Bruno Haible  <bruno@clisp.org>
51875
51876         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
51877
51878 2004-10-15  Bruno Haible  <bruno@clisp.org>
51879
51880         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
51881         the portions belonging to each module.
51882         Suggested by Derek Robert Price <derek@ximbiot.com>.
51883
51884 2004-10-12  Simon Josefsson  <jas@extundo.com>
51885
51886         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
51887         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
51888         to real functions.
51889
51890 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51891
51892         * modules/vsnprintf: New file.
51893
51894 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51895
51896         * m4/vsnprintf.m4: New file.
51897
51898 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51899
51900         * lib/vsnprintf.h: New file.
51901         * lib/vsnprintf.c: New file.
51902
51903 2004-10-11  Bruno Haible  <bruno@clisp.org>
51904
51905         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
51906         vsnprintf.
51907
51908 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
51909
51910         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
51911
51912 2004-10-07  Bruno Haible  <bruno@clisp.org>
51913
51914         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
51915         fits into the provided buffer.
51916
51917 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
51918
51919         * lib/diacrit.c, diacrit.h: Add GPL notice.
51920
51921         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
51922         notice.
51923         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
51924         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
51925         This avoids a potential constant-folding bug.
51926
51927 2004-10-05  Bruno Haible  <bruno@clisp.org>
51928
51929         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
51930         for the declaration of strsep.
51931
51932 2004-10-05  Bruno Haible  <bruno@clisp.org>
51933
51934         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
51935
51936 2004-10-04  Simon Josefsson  <jas@extundo.com>
51937
51938         * modules/memmem: New file.
51939         * tests/test-memmem.c: New file.
51940         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
51941
51942 2004-10-04  Simon Josefsson  <jas@extundo.com>
51943
51944         * m4/memmem.m4: New file.
51945
51946 2004-10-04  Simon Josefsson  <jas@extundo.com>
51947
51948         * lib/memmem.h: New file.
51949         * lib/memmem.c: New file, taken from glibc.
51950
51951 2004-10-04  Simon Josefsson  <jas@extundo.com>
51952
51953         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
51954         '#ifdef USE_UNLOCKED_IO'.
51955
51956 2004-10-04  Simon Josefsson  <jas@extundo.com>
51957
51958         * config/srclist.txt: Add memmem from glibc.
51959
51960 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
51961
51962         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
51963
51964         * modules/argmatch, modules/argp, modules/closeout, modules/error,
51965         modules/exclude, modules/getdate, modules/getline,
51966         modules/getndelim2, modules/getpass, modules/getpass-gnu,
51967         modules/getusershell, modules/linebuffer, modules/md5,
51968         modules/mountlist, modules/posixtm, modules/readtokens,
51969         modules/readutmp, modules/regex, modules/sha1,
51970         modules/version-etc, modules/yesno:
51971         Remove dependency on unlocked-io.
51972
51973 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
51974
51975         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
51976
51977         * m4/unlocked-io.m4: Add copyright notice.
51978         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
51979
51980 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
51981
51982         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
51983         * lib/xmalloc.c (xmemdup): Likewise.
51984         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
51985         XFREE): Remove these long-obsolescent macros.
51986         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
51987         * lib/xstrdup.c: Remove.
51988
51989         * lib/regex.c (re_comp): Cast gettext return value to char *,
51990         Problem reported by Martin Neitzel via Mark D. Baushke.
51991
51992 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
51993
51994         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
51995         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
51996         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
51997         regex.c, sha1.c, version-etc.c, yesno.c:
51998         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
51999         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
52000         the includer's responsibility.
52001
52002         Sync from coreutils.
52003
52004         * lib/modechange.c (mode_compile): Don't decrement a pointer that
52005         points to the start of a string, as the C Standard says the
52006         resulting behavior is undefined.
52007
52008         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
52009         simple -> simple_backups, numbered_existing ->
52010         numbered_existing_backups, numbered -> numbered_backups
52011         to avoid shadowing problems.  All uses changed.
52012         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
52013         * lib/backupfile.c (check_extension, numbered_backup):
52014         Rename locals to avoid shadowing 'basename'.
52015         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
52016         once.
52017
52018         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
52019         * lib/.cvsignore: Add getopt.h.
52020
52021 2004-10-04  Bruno Haible  <bruno@clisp.org>
52022
52023         * modules/README: New file.
52024         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
52025         not a module.
52026
52027 2004-10-02  Jim Meyering  <jim@meyering.net>
52028
52029         * lib/dirfd.h, getpagesize.h: Add copyright notice.
52030
52031 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52032
52033         * modules/strsep: New file.
52034
52035 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52036
52037         * m4/strsep.m4: New file.
52038
52039 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52040
52041         * lib/strsep.h: New file.
52042         * lib/strsep.c: New file.
52043
52044 2004-10-01  Simon Josefsson  <jas@extundo.com>
52045
52046         * lib/snprintf.c (snprintf): Handle size==0.
52047
52048 2004-10-01  Simon Josefsson  <jas@extundo.com>
52049             Bruno Haible  <bruno@clisp.org>
52050
52051         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
52052         (snprintf): Declare 'args'.
52053
52054 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
52055
52056         * lib/snprintf.c: Remove comments as to why each header is needed.
52057
52058 2004-10-01  Bruno Haible  <bruno@clisp.org>
52059
52060         * MODULES.html.sh: Add strsep.
52061
52062 2004-09-30  Simon Josefsson  <jas@extundo.com>
52063
52064         * modules/snprintf: New file.
52065
52066 2004-09-30  Simon Josefsson  <jas@extundo.com>
52067
52068         * m4/snprintf.m4: New file.
52069
52070 2004-09-30  Simon Josefsson  <jas@extundo.com>
52071
52072         * lib/snprintf.h, lib/snprintf.c: New files.
52073
52074 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52075
52076         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
52077         (hol_entry_help): Never translate an empty string.
52078         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
52079         * lib/argp.h (OPTION_NO_TRANS): New option.
52080
52081 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52082
52083         * modules/argp (Maintainer): Replace Simon Josefsson
52084         by Sergey Poznyakoff.
52085
52086 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52087
52088         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
52089         changes merged back into glibc.
52090
52091 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52092
52093         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
52094
52095 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52096
52097         * lib/xvasprintf.c: Include xalloc.h.
52098         (xvasprintf): Use xalloc_die, not xmalloc_die.
52099
52100 2004-09-29  Bruno Haible  <bruno@clisp.org>
52101
52102         * modules/alloca-opt: New file, derived from modules/alloca.
52103         * modules/allocsa: Depend on alloca-opt instead of alloca.
52104         * modules/setenv: Likewise.
52105         * modules/vasnprintf: Likewise.
52106         * MODULES.html.sh: Add alloca-opt.
52107
52108 2004-09-28  Simon Josefsson  <jas@extundo.com>
52109
52110         * gnulib-tool: New parameter --lgpl, to asseert that modules are
52111         LGPL, and to replace license template from GPL to LGPL.
52112
52113 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52114
52115         * modules/dummy: Change license to LGPL.
52116
52117 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52118
52119         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
52120
52121 2004-09-24  Simon Josefsson  <jas@extundo.com>
52122
52123         * modules/minmax (License): Change from GPL to LGPL.
52124
52125 2004-09-23  Simon Josefsson  <jas@extundo.com>
52126
52127         * gnulib-tool (--import): Typo.
52128
52129 2004-09-23  Simon Josefsson  <jas@extundo.com>
52130
52131         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
52132
52133 2004-09-22  Bruno Haible  <bruno@clisp.org>
52134
52135         * modules/*: Add 'License' field.
52136         * gnulib-tool: Accept --extract-license option.
52137         (func_get_license): New function.
52138
52139 2004-09-21  Bruno Haible  <bruno@clisp.org>
52140
52141         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
52142         Reported by Simon Josefsson.
52143
52144 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52145
52146         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
52147         gl_AC_TYPE_LONG_LONG.
52148
52149 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52150
52151         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
52152
52153 2004-09-18  Simon Josefsson  <jas@extundo.com>
52154         and  Paul Eggert  <eggert@cs.ucla.edu>
52155
52156         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
52157         calls with autoreconf.  Define GL_LIB.
52158
52159 2004-09-14  Karl Berry  <karl@gnu.org>
52160
52161         * config/srclist.txt: unsync setenv.c, sigh.
52162
52163 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52164
52165         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
52166         Problem reported by Bruno Haible in:
52167         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
52168
52169 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52170
52171         * config/srclist.txt: Comment out argp-pvh.c.
52172
52173 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
52174
52175         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
52176         in case some system header has #define'd it.  Problem reported by
52177         Soeren D. Schulze in
52178         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
52179
52180 2004-09-09  Karl Berry  <karl@gnu.org>
52181
52182         * regex.[ch]: delete from the root.  These were supposed to be
52183                 synced with emacs cvs, but this has not happened for about
52184                 a year, and anyway nothing else uses emacs regex.[ch].
52185                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
52186                 lib/regex[.ch] is untouched.
52187
52188 2004-09-09  Bruno Haible  <bruno@clisp.org>
52189
52190         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
52191
52192 2004-09-09  Bruno Haible  <bruno@clisp.org>
52193
52194         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
52195         modifications.
52196         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
52197
52198 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52199
52200         * modules/xvasprintf: New file.
52201         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
52202
52203 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52204
52205         * lib/xvasprintf.h: New file.
52206         * lib/xvasprintf.c: New file.
52207         * lib/xasprintf.c: New file.
52208
52209 2004-09-08  Bruno Haible  <bruno@clisp.org>
52210
52211         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
52212
52213 2004-09-08  Bruno Haible  <bruno@clisp.org>
52214
52215         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
52216         length is > INT_MAX.
52217         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
52218         more.
52219
52220 2004-09-08  Bruno Haible  <bruno@clisp.org>
52221
52222         * lib/stdint_.h: New file, taken from GNU clisp.
52223
52224 2004-09-08  Bruno Haible  <bruno@clisp.org>
52225             Oskar Liljeblad  <oskar@osk.mine.nu>
52226
52227         * modules/stdint: New file.
52228         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
52229
52230 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52231
52232         Import from coreutils.
52233         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
52234         strings on unbounded length.  alloca's performance benefits aren't
52235         that important here.
52236         (V_STRDUP): Remove.
52237         (parse_with_separator): New function, with most of the internals
52238         of the old parse_user_spec.  Allow user to omit both user and group,
52239         for compatibility with FreeBSD.
52240         Clone only the user name, not the entire spec.
52241         Do not set *uid, *gid unless entirely successful.
52242         Avoid memory leak in some failing cases.
52243         Fix regression for USER.GROUP reported by Dmitry V. Levin in
52244         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
52245         (parse_user_spec): Rewrite to use parse_with_separator.
52246
52247 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52248
52249         * modules/userspec: Don't depend on alloca.
52250
52251 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52252
52253         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
52254
52255 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52256
52257         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
52258         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
52259         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
52260
52261 2004-08-16  Simon Josefsson  <jas@extundo.com>
52262
52263         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
52264         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
52265         Add --dry-run for --import.
52266         Let user provided command line parameters override configure.ac
52267         settings.
52268
52269 2004-08-12  Simon Josefsson  <jas@extundo.com>
52270
52271         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
52272         as discussed with Paul Eggert in threads rooted at
52273         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
52274         and
52275         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
52276         Before, the test was empty, and relied on ELIDE_CODE in source
52277         code.)
52278         (gl_PREREQ_GETOPT): New macro.
52279         (gl_GETOPT): Use them.
52280
52281 2004-08-12  Simon Josefsson  <jas@extundo.com>
52282
52283         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
52284         * lib/getopt_.h: Renamed from getopt.h.
52285
52286 2004-08-12  Simon Josefsson  <jas@extundo.com>
52287
52288         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
52289         Change default library name from libfoo to libgnu.
52290         Now, if you have a configure.ac that says:
52291                 gl_SOURCE_BASE(gl)
52292                 gl_M4_BASE(gl/m4)
52293                 gl_MODULES(error getopt etcetera)
52294                 gl_INIT
52295         you can import all you need by running:
52296                 ../gnulib/gnulib-tool --import
52297
52298         * modules/getopt (Files): Rename getopt.h to getopt_.h.
52299         (Makefile.am): Rewrite, use logic from argz.
52300         (Include): Use <getopt.h> instead of "getopt.h".
52301
52302 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52303
52304         * modules/argp (Files): Add m4/unlocked-io.m4.
52305         (Depends-on): Add extensions.
52306
52307 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52308
52309         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
52310         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
52311         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
52312         Check for program_invocation_name, program_invocation_short_name,
52313         flockfile, funlockfile, features.h, _getopt_long_only_r.
52314
52315 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52316
52317         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
52318         its complicated substitute.
52319         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
52320         and program_invocation_name.
52321         (__argp_basename) [!_LIBC]: Remove; the only use was
52322         replaced by its body.
52323         (__argp_short_program_name): Change condition from
52324         !defined __argp_short_program_name to
52325         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
52326         to match argp-namefrob.h.
52327         (__argp_failure): Don't assume strerror_r returns char *.
52328         * lib/argp-parse.c (N_): Define unconditionally.
52329         (argp_default_options): Fill out initializers with 0 to avoid
52330         gcc warnings.
52331
52332 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52333
52334         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
52335         getopt1.c.
52336
52337 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52338
52339         Merge from coreutils.
52340
52341         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
52342
52343         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
52344         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
52345
52346 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52347
52348         Merge from coreutils.
52349
52350         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
52351         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
52352         for Reliant Unix 5.43.
52353
52354         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
52355         (union fooround): Use uintmax_t, not long int.
52356         The rest is a merge from libc:
52357         [defined _LIBC]: Include <shlib-compat.h>.
52358         (_obstack) [defined _LIBC]: Remove after 2.3.4.
52359
52360         * lib/settime.c (settime): Recode to avoid warning with
52361         Sun Forte C 6U2.
52362
52363         * lib/strverscmp.c: Convert to UTF-8.
52364
52365 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52366
52367         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
52368         m4/uintmax_t.m4.
52369
52370 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52371
52372         * modules/xalloc-die: New file.
52373         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
52374
52375         * modules/md5 (Files): Add m4/uint32_t.m4.
52376         * modules/sha1: Renamed from modules/sha.
52377         (Files):
52378         Rename lib/sha.h to lib/sha1.h.
52379         Rename lib/sha.c to lib/sha1.c.
52380         Rename m4/sha.m4 to m4/sha1.m4.
52381         (lib_SOURCES): Likewise.
52382         (configure.ac): Rename gl_SHA to gl_SHA1.
52383         (Include): sha.h -> sha1.h.
52384
52385 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52386
52387         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
52388         * m4/sha1.m4: Renamed from sha.m4.
52389         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
52390
52391 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52392
52393         * lib/obstack.h (obstack_empty_p):
52394         Don't assume that chunk->contents is suitably aligned.
52395         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
52396         Likewise. Problem reported by Benno in
52397         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
52398
52399         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
52400         readable.  This could be improved further but it'd take some work.
52401
52402 2004-08-08  Simon Josefsson  <jas@extundo.com>
52403
52404         * modules/xgethostname (Depends-on): Remove exit and error (not
52405         used).
52406
52407         * modules/getpass-gnu: Add getpass.h.
52408         (Depends-on): Add stdbool.
52409         * modules/getpass: Add getpass.h.
52410
52411 2004-08-08  Simon Josefsson  <jas@extundo.com>
52412
52413         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
52414         Check getpass declaration.
52415
52416 2004-08-08  Simon Josefsson  <jas@extundo.com>
52417
52418         * lib/xgethostname.c: Don't include error.h (not used).
52419
52420         * lib/getpass.h: Add.
52421         * lib/getpass.c: Include getpass.h first.
52422
52423 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
52424
52425         * lib/xalloc-die.c: New file.
52426         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
52427         All uses removed.
52428         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
52429         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
52430         xalloc-die.c.
52431         (_, N_, xalloc_die): Move to xalloc-die.c.
52432         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
52433         so that we needn't mess with xalloc_msg_memory_exhausted.
52434
52435         * lib/sha1.h: Renamed from sha.h.
52436         (SHA1_H): Renamed from _SHA_H.
52437         (sha1_ctx): Renamed from sha_ctx.
52438         (sha1_init_ctx): Renamed from sha_init_ctx.
52439         (sha1_process_block): Renamed from sha_process_block.
52440         (sha1_process_bytes): Renamed from sha_process_bytes.
52441         (sha1_finish_ctx): Renamed from sha_finish_ctx.
52442         (sha1_read_ctx): Renamed from sha_read_ctx.
52443         (sha1_stream): Renamed from sha_stream.
52444         (sha1_buffer): Renamed from sha_buffer.
52445         * lib/sha1.c: Likewise; renamed from sha.c.
52446         Do not include <sys/types.h>.
52447         Include <stddef.h> rather than <stdlib.h>.
52448
52449 2004-08-08  Bruno Haible  <bruno@clisp.org>
52450
52451         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
52452         FILESYSTEM_PREFIX_LEN.
52453         * lib/progreloc.c: Likewise.
52454         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
52455
52456 2004-08-06  Simon Josefsson  <jas@extundo.com>
52457
52458         * modules/progname (Depends-on): Don't depend on stdbool.
52459
52460 2004-08-06  Simon Josefsson  <jas@extundo.com>
52461
52462         * modules/getsubopt: New file.
52463         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52464         getsubopt.
52465
52466 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52467
52468         More merge from coreutils.
52469
52470         * m4/utimens.m4, m4/utimecmp.m4: New files.
52471         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
52472         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
52473         prereq.m4, sha.m4: Import changes from coreutils.
52474
52475 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52476
52477         More merge from coreutils.
52478         * modules/raise, modules/readtokens0, modules/utimens:
52479         * modules/utimecmp, module/xnanosleep: New files.
52480         * modules/strftime: Add lib/strftime.h.
52481         Change include from <time.h> to "strftime.h".
52482         * modules/yesno: Add lib/yesno.h.
52483         * modules/backupfile: Remove lib/addext.c.
52484         * modules/euidaccess: Add stat-macros.h.
52485         * modules/canonicalize, modules/euidaccess,
52486         modules/filemode, modules/lchown, modules/makepath,
52487         modules/rmdir, modules/stat: Likewise.
52488
52489 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52490
52491         Merge from tar.
52492         * lib/argp-help.c (make_hol, hol_append): Don't assume that
52493         SIZE_MAX is a valid preprocessor constant.
52494         (__argp_basename): Change from "#ifndef _LIBC"
52495         to "#ifndef __argp_short_program_name", so that
52496         we don't compile these functions for tar.
52497
52498         More merges from coreutils.
52499         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
52500         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
52501         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
52502         * lib/addext.c: Remove; no longer needed.
52503         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
52504         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
52505         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
52506         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
52507         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
52508         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
52509         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
52510         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
52511         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
52512         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
52513         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
52514         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
52515         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
52516         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
52517         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
52518         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
52519         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
52520         Import changes from coreutils.
52521
52522 2004-08-05  Simon Josefsson  <jas@extundo.com>
52523
52524         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
52525
52526 2004-08-05  Simon Josefsson  <jas@extundo.com>
52527
52528         * m4/getsubopt.m4: New file.
52529
52530 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52531
52532         Merge from coreutils.
52533
52534         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
52535         * m4/getcwd-path-max.m4: New files.
52536
52537         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
52538         FILESYSTEM_PREFIX_LEN ->
52539         FILE_SYSTEM_PREFIX_LEN.
52540         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
52541         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
52542         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
52543         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
52544
52545         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
52546         prerequisite modules now handle the DOS stuff.
52547         Don't check for unistd.h.
52548
52549 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52550
52551         Merge from coreutils.
52552
52553         * lib/.gdb-history: Remove; this doesn't belong here.
52554
52555         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
52556         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
52557         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
52558         * lib/getcwd.c: New files.
52559
52560         * lib/dirname.h: Include <stdbool.h>.
52561         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
52562         for consistency with POSIX terminology.  All uses changed.
52563         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
52564         (strip_trailing_slashes): Use bool for booleans.
52565         * lib/stripslash.c (strip_trailing_slashes): Likewise.
52566
52567         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
52568         sometimes returns a positive errno value even when it succeeds.
52569         (print_errno_message) [!LIBC]: Fall back on strerror if
52570         __strerror_r fails.
52571
52572         * lib/path-concat.c (mempcpy): Don't define if a system header defines
52573         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
52574         (longest_relative_suffix): New function.
52575         (path_concat): Use it.  Assume first argument is not NULL.
52576         Port to DOS.  Omit redundant separators.
52577         Report an error instead of returning NULL.
52578         Use mempcpy instead of memcpy.
52579         (xpath_concat): Remove: not declared or used.
52580
52581         * lib/same.h: Include <stdbool.h>
52582         (same_name): Return bool, not int.
52583         * lib/same.c (same_name): Likewise.
52584         (errno): Don't declare; we assume C89 or better now.
52585
52586         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
52587         if not already defined.
52588
52589         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
52590         * lib/dup-safer.c (errno): Likewise.
52591
52592 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52593
52594         Merge from coreutils.
52595         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
52596         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
52597         * modules/path-concat: Don't depend on strdup.
52598
52599 2004-08-03  Simon Josefsson  <jas@extundo.com>
52600
52601         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
52602         * lib/progname.h: Don't include stdbool.h.
52603
52604 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52605
52606         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
52607         * MODULES.html.sh (func_all_modules): Remove fatal.
52608
52609 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52610
52611         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
52612
52613 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52614
52615         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
52616         working.
52617
52618 2004-08-02  Simon Josefsson  <jas@extundo.com>
52619
52620         * lib/getsubopt.h: New file, with comments from Bruno Haible.
52621         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
52622         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
52623
52624 2004-08-01  Simon Josefsson  <jas@extundo.com>
52625
52626         * lib/xgetdomainname.c: Include stdlib.h, for free().
52627
52628 2004-07-19  Bruno Haible  <bruno@clisp.org>
52629
52630         * MODULES.html.sh (func_all_modules): Add dummy.
52631
52632 2004-07-16  Simon Josefsson  <jas@extundo.com>
52633
52634         * modules/dummy: New file.
52635
52636 2004-07-16  Simon Josefsson  <jas@extundo.com>
52637
52638         * lib/dummy.c: New file.
52639
52640 2004-07-16  Bruno Haible  <bruno@clisp.org>
52641
52642         * lib/backupfile.h: Add extern "C" for C++.
52643         * lib/closeout.h: Likewise.
52644         * lib/copy-file.h: Likewise.
52645         * lib/findprog.h: Likewise.
52646         * lib/full-write.h: Likewise.
52647         * lib/pathname.h: Likewise.
52648         * lib/progname.h: Likewise.
52649         * lib/stpcpy.h: Likewise.
52650         * lib/stpncpy.h: Likewise.
52651         * lib/strcase.h: Likewise.
52652         * lib/strstr.h: Likewise.
52653         * lib/xalloc.h: Likewise.
52654
52655         * lib/mbswidth.h: Add extern "C" for C++.
52656         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
52657
52658 2004-07-13  Robert Millan  <robertmh@gnu.org>
52659
52660         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
52661
52662 2004-07-09  Simon Josefsson  <jas@extundo.com>
52663
52664         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
52665         failed without this.)
52666
52667 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52668
52669         * modules/chown (Files): Add lib/fchown-stub.c, since
52670         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
52671
52672 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52673
52674         * lib/fchown-stub.c: New file.
52675
52676 2004-06-24  Jim Meyering  <jim@meyering.net>
52677
52678         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
52679
52680 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52681
52682         * modules/argz: Omit "#include".
52683
52684         * MODULES.html.sh (func_all_modules): Add calloc, to match
52685         2004-06-01 addition of calloc module.
52686
52687 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52688
52689         * m4/argz.m4: New file, which is autoupdated from libtool.
52690
52691 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52692
52693         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
52694         libtool.
52695
52696 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52697
52698         * config/srclist-update: Don't insist on "USA." before the
52699         close-comment, as libtool omits the period and puts the */ on a
52700         separate line.
52701         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
52702         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
52703
52704 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
52705
52706         * modules/argz: New file.
52707         * MODULES.html.sh (func_all_modules): Add argz.
52708
52709 2004-06-12  Jim Meyering  <jim@meyering.net>
52710         and  Paul Eggert  <eggert@cs.ucla.edu>
52711
52712         * modules/hash (Files): Add lib/xalloc.h.
52713         * modules/pipe (Depends-on): Add wait-process.
52714         * modules/stat (Depends-on): Add xalloc.
52715         * modules/userspec (Files): Add lib/userspec.h.
52716         * modules/xstrto
52717
52718         Upgrade from gettext-0.13.
52719         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
52720         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
52721         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
52722
52723 2004-06-10  Jim Meyering  <jim@meyering.net>
52724
52725         * lib/calloc.c: New file.
52726
52727 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
52728
52729         * lib/getdate.y (yylex): Allow space between sign and number.
52730         Problem reported by Dan Jacobson.
52731
52732 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52733
52734         Merge from coreutils CVS.
52735
52736         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
52737         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
52738         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
52739         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
52740         xstrtol.m4: Fix copyright date and/or serial number.
52741
52742         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
52743         See if we need an fchown replacement.
52744         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
52745         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
52746         and use the replacement function if we detect either defect.
52747
52748         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
52749         gl_UTIMECMP.
52750
52751 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52752         and  Jim Meyering  <jim@meyering.net>
52753
52754         Merge from coreutils CVS.
52755
52756         * lib/stat-macros.h: New file, with contents from file-type.h
52757         and coreutils' system.h.
52758         * lib/file-type.c: Include "stat-macros.h".
52759         * lib/file-type.h (file_type): Move all macro definitions to new file,
52760         stat-macros.h.
52761
52762         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
52763         Wrap old code with this conditional.
52764         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
52765         function that does not dereference symlinks.
52766         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
52767
52768         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
52769         dependency problems.
52770         (xreadlink): Accept new arg SIZE, for efficiency.
52771         All decls and uses changed.
52772         * lib/xreadlink.h: Include <stddef.h>, for size_t.
52773
52774         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
52775         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
52776
52777         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
52778         sysexits.h.
52779
52780 2004-06-01  Jim Meyering  <jim@meyering.net>
52781
52782         * m4/calloc.m4: New file.
52783
52784 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
52785
52786         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
52787         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
52788         Also, fix a typo in a diagnostic.
52789
52790 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52791
52792         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
52793         or AC_FUNC_REALLOC.
52794
52795 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52796
52797         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
52798         macros to be defined.
52799         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
52800         the allocator returns NULL because the requested size is zero.
52801
52802 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52803
52804         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
52805         var.  Add comment explaining why libc still defines it.  This
52806         merges the following patch from glibc:
52807         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
52808
52809 2004-05-20  Andreas Schwab  <schwab@suse.de>
52810
52811         * m4/free.m4: Replace free if it not known to work, not the other
52812         way round.
52813
52814 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52815
52816         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
52817         present in glibc since revision 1.1 of this file.
52818         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
52819         obstack_alignment_mask, obstack_alloc, obstack_base,
52820         obstack_blank, obstack_blank_fast, obstack_chunk_size,
52821         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
52822         obstack_grow0, obstack_init, obstack_int_grow,
52823         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
52824         obstack_next_free, obstack_object_size, obstack_ptr_grow,
52825         obstack_ptr_grow_fast, obstack_room): Remove declarations of
52826         nonexistent functions.
52827
52828 2004-05-18  Karl Berry  <karl@gnu.org>
52829
52830         * config/srclist.txt: break link for vasnprintf.c.
52831
52832 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52833
52834         Port obstack to the AS/400, where pointers are 16 bytes wide and
52835         you cannot cast an integer to a valid pointer.  This patch is
52836         currently waiting to be integrated into glibc; see
52837         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
52838
52839         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
52840         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
52841         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
52842         (struct obstack): temp member is now a union of a pointer and
52843         an integer, instead of an integer.  All integer uses changed.
52844         This does not affect the physical layout of struct obstack,
52845         except on hosts (like the AS/400) where the size or alignment of
52846         void * is greater than that of ptrdiff_t.
52847         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
52848         __STDC__)]: Store temporary in pointer member of union, not
52849         integer member.
52850         * lib/obstack.c: Include <stddef.h>, for offsetof.
52851         (struct fooalign): Remove; it doesn't need a name.
52852         (union fooround): Change double to long double, and add void *.
52853         (DEFAULT_ALIGNMENT): Use offsetof to compute.
52854         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
52855         not a macro.  Hence the values are always int; so remove all
52856         casts-to-int in uses.
52857
52858 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52859
52860         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
52861         we can get this patch merged into glibc.
52862
52863 2004-05-17  Derek R. Price  <derek@ximbiot.com>
52864             Paul Eggert  <eggert@cs.ucla.edu>
52865
52866         * m4/argp: Depend on alloca.
52867
52868 2004-05-17  Derek R. Price  <derek@ximbiot.com>
52869             Paul Eggert  <eggert@cs.ucla.edu>
52870
52871         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
52872         freecoding.
52873
52874 2004-05-17  Bruno Haible  <bruno@clisp.org>
52875
52876         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
52877         precision that consists of a '.' followed by an empty digit string.
52878         Patch by Tor Lillqvist <tml@iki.fi>.
52879
52880 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52881
52882         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
52883         for backward compatibility with older code.  We need our own
52884         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
52885         it under some other name, and our alloca.h will define it.
52886
52887 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52888             Derek Price  <derek@ximbiot.com>
52889
52890         * lib/alloca.c: Include <alloca.h>, to get our interface.
52891         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
52892         include <alloca.h> first.  Use C89 prototype for alloca; this
52893         requires including <stddef.h> for size_t.  Use extern "C" if C++.
52894         Use #elif for simplicity, since we can assume C89 now.
52895         Don't try to source the system alloca.h since it will not be found
52896         and to prevent recursively including its replacement.
52897         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
52898         * lib/regex.c: Likewise.
52899
52900 2004-05-16  Derek Price  <derek@ximbiot.com>
52901             Paul Eggert  <eggert@cs.ucla.edu>
52902
52903         getline cleanup.  This changes the getndelim2 API: both order of
52904         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
52905         no delimiter).
52906
52907         * lib/getline.c: Don't include stddef.h or stdio.h, since our
52908         interface does that.
52909         (getline): Always use getdelim, so that we don't have two
52910         copies of this code.
52911         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
52912         if available.
52913         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
52914         (GETNDELIM2_MAXIMUM): New macro.
52915         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
52916         instead of the old practice of delim2==0.  All callers changed.
52917         Return -1 on overflow, instead of returning junk.
52918         Do not set *linesize unless allocation succeeds.
52919         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
52920         that we include sys/types.h.
52921         * lib/getnline.h: Likewise.
52922         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
52923         (getndelim2): Reorder arguments.
52924         * lib/getnline.c (getnline, getndelim):
52925         Don't discard the NMAX argument.
52926         (getnline): Invoke getndelim, to avoid code duplication.
52927         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
52928         of (size_t) -1 by callers of the getnline family.
52929
52930 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52931
52932         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
52933         Check for gettimeofday.
52934         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
52935         Check for settimeofday, stime.
52936
52937 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52938
52939         * lib/nanosleep.c (suspended): Change its type from int to
52940         sig_atomic_t volatile.
52941         (first_call): Make it private to rpl_nanosleep, and have it
52942         be zero initially as that's a bit faster.
52943         (my_usleep): Round up fractional times instead of truncating them,
52944         as this is the usual meaning for 'sleep'.
52945
52946         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
52947         doesn't work.
52948         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
52949         (ENOSYS): Define if not defined.
52950         (settime): Fall back on stime if it exists and settimeofday fails.
52951         But don't bother with fallbacks if a method fails with errno == EPERM.
52952
52953 2004-05-11  Jim Meyering  <jim@meyering.net>
52954
52955         Prior to this change, the save_cwd caller required read access to the
52956         current directory on most systems (ones with the fchdir function).
52957
52958         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
52959         fails, try write-only, and finally, resort to using xgetcwd.
52960
52961 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
52962
52963         * lib/obstack.c, obstack.h: Import changes from libc.
52964
52965 2004-04-28  Bruno Haible  <bruno@clisp.org>
52966
52967         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
52968         also implicitly appends .exe to executables.
52969         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
52970         accepts Windows pathnames.
52971         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
52972         Treat Cygwin like Windows, since it now accepts Windows pathnames.
52973         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
52974         Treat Cygwin like Windows, since it now accepts Windows pathnames.
52975         Reported by Derek Robert Price <derek@ximbiot.com>.
52976
52977 2004-04-21  Karl Berry  <karl@gnu.org>
52978
52979         * config/srclist.txt (localcharset.c): break sync.
52980
52981 2004-04-20  Paul Eggert  <eggert@twinsun.com>
52982
52983         * m4/host-os.m4: Add a copyright notice.
52984
52985 2004-04-20  Jim Meyering  <jim@meyering.net>
52986
52987         Change UTILS_ to gl_ in AC_DEFINE'd names.
52988         Change utils_- and jm_-prefixed variables, too.
52989         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
52990         UTILS_FUNC_MKDIR_TRAILING_SLASH.
52991         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
52992
52993         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
52994         Don't emit trailing blanks.
52995         Also rename jm_-prefixed variables to have gl_ prefix.
52996
52997         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
52998         Also rename jm_-prefixed variables to have gl_ prefix.
52999
53000         * m4/jm-macros.m4: Reflect the renamings.
53001         * m4/prereq.m4: Likewise.
53002
53003 2004-04-20  Jim Meyering  <jim@meyering.net>
53004
53005         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
53006         memory.
53007
53008 2004-04-20  Jim Meyering  <jim@meyering.net>
53009             Bruno Haible  <bruno@clisp.org>
53010
53011         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
53012         memory when realloc fails.
53013
53014 2004-04-19  Jim Meyering  <jim@meyering.net>
53015
53016         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
53017         now that readutmp.c may call `free (0)'.
53018
53019 2004-04-19  Bruno Haible  <bruno@clisp.org>
53020
53021         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
53022         * m4/inttypes_h.m4: Likewise.
53023         * m4/stdint_h.m4: Likewise.
53024         * m4/intmax_t.m4: Likewise.
53025         * m4/uintmax_t.m4: Likewise.
53026
53027 2004-04-18  Jim Meyering  <jim@meyering.net>
53028
53029         * m4/prereq.m4: Don't forbid jm_ prefix.
53030
53031         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
53032         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
53033         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
53034         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
53035         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
53036         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
53037         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
53038         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
53039         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
53040         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
53041         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
53042         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
53043         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
53044         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
53045         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
53046         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
53047         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
53048         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
53049         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
53050
53051 2004-04-18  Jim Meyering  <jim@meyering.net>
53052
53053         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
53054         failure, don't leak memory and do call END_UTMP_ENT.
53055
53056 2004-04-16  Jim Meyering  <jim@meyering.net>
53057
53058         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
53059         coreutils' stat program.
53060         (gl_PREREQ): Don't require jm_PREREQ_STAT.
53061
53062 2004-04-11  Paul Eggert  <eggert@twinsun.com>
53063
53064         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
53065         C89.
53066         (CHAR_BIT): Remove, since we assume C89.
53067         Include <stdint.h> if available, as per current Autoconf CVS advice.
53068
53069 2004-03-31  Jim Meyering  <jim@meyering.net>
53070
53071         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
53072         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
53073         * m4/xalloc.m4: Likewise.
53074
53075 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53076
53077         Merge from coreutils.
53078
53079         * m4/inttostr.m4: New file.
53080         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
53081         Require AM_STDBOOL_H and gl_TIMESPEC instead.
53082         Require gl_CLOCK_TIME.
53083         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
53084
53085 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53086
53087         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
53088         not bool, to be more consistent with Unix conventions.
53089         Suggested by Bruno Haible.
53090
53091         Merge from coreutils.
53092
53093         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
53094         * lib/umaxtostr.c: New files.
53095
53096         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
53097         the usual <time.h> dance.
53098         (get_date): Change signature to support fractional time stamps.
53099         All callers changed.
53100         * lib/getdate.y: Include "getdate.h" first, as we can now
53101         assume C89 and don't need to worry about 'const'.
53102         Similarly, include "unlocked-io.h" near start, not in middle.
53103         Include <limits.h>.
53104         (textint.value): Use long int rather than int.
53105         (textint.digits): Use size_t rather than int.
53106         (BILLION, LOG10_BILLION): New constants.
53107         (parser_control): New member rel_ns.  Members day_ordinal,
53108         time_zone, month, day, hour, minutes, rel_year, rel_month,
53109         rel_day, rel_hour, rel_minutes, rel_seconds
53110         are now long int, not int.  Member seconds is now struct timespec,
53111         not int.  New member timespec_seen.  Members dates_seen, days_seen,
53112         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
53113         not int.
53114         (%union.intval): Now long int, not int.
53115         New member timespec.
53116         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
53117         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
53118         (spec): Now is a timespec or an item list.
53119         (timespec, items): New nonterminals.
53120         (time, rel, relunit, number, get_date):
53121         Add support for fractional seconds.
53122         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
53123         (gmtime, localtime, mktime): Remove decls; not needed with C89.
53124         (to_hour): First arg is now long int, not int.
53125         (to_year): Returns long int, not int.
53126         Don't treat year -70 like 70.
53127         (tm_diff): Returns long int, not int.
53128         (lookup_word): Use bool instead of int when appropriate.
53129         (yylex): Use size_t for count, not int.
53130         Detect overflow when parsing large integer constants.
53131         Add support for fractions.
53132         (get_date): Make pointers 'const' if possible.
53133         Use more-portable code to detect integer overflow.
53134         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
53135         Don't use ctime; it's not reliable if the year has >4 digits.
53136
53137         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
53138         This is for compatibility with BSD.
53139
53140         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
53141         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
53142         From coreutils' system.h.
53143
53144         * lib/userspec.c: Don't include "posixver.h".
53145         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
53146         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
53147         compatible extension.  Simplify code by removing a boolean int
53148         that was always nonzero if a string was nonnull.
53149
53150 2004-03-30  Jim Meyering  <jim@meyering.net>
53151
53152         Merge from coreutils.
53153
53154         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
53155         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
53156         on some systems one must include <grp.h> before it.
53157         Reported by Christian Krackowizer.
53158
53159 2004-03-30  Jim Meyering  <jim@meyering.net>
53160
53161         Merge from coreutils.
53162
53163         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
53164
53165         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
53166         an empty input stream.
53167
53168         * lib/readtokens.c: Include <stdbool.h>.
53169         (readtoken): Use `size_t' rather than int/long.
53170         All callers adjusted.
53171         Use `bool' rather than `int' where appropriate.
53172         Use memset rather than an explicit loop.
53173         Use x2nrealloc rather than xrealloc.
53174         Allow the use of `\0' as a delimiter.
53175         (readtokens): Likewise.
53176         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
53177
53178 2004-03-30  Jim Meyering  <jim@meyering.net>
53179
53180         * m4/realloc.m4: Remove file, since now it does no more than
53181         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
53182         the `configure.ac' section of module/realloc.
53183         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
53184
53185 2004-03-30  Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
53188         nonnull.
53189
53190 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53191
53192         Merge changes to getloadavg.c from coreutils and Emacs.
53193
53194         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
53195         Define to an expression, not to the empty string.
53196         Include cloexec.h and xalloc.h.
53197         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
53198         Use set_cloexec_flag rather than rolling our own.
53199         * lib/cloexec.c, lib/cloexec.h: New files.
53200
53201 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53202
53203         * m4/cloexec.m4: New file.
53204
53205 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53206
53207         * lib/getopt.h: Sync with libc CVS.
53208
53209 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53210             Bruno Haible  <bruno@clisp.org>
53211
53212         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
53213         mbswidth.
53214
53215 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53216             Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/mbswidth.h: Include <wchar.h> only if
53219         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
53220         <wchar.h>.
53221         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
53222
53223 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53224
53225         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
53226         Sync with libc CVS.
53227         * lib/getopt_int.h: New file, also synced from libc.
53228
53229 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53230
53231         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
53232         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
53233         Bring back getopt.c, getopt.h, getopt1.c.
53234
53235 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53236
53237         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
53238         All uses changed.  Check for sa_sigaction member; this fixes
53239         a bug first reported by Jason Andrade in
53240         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53241
53242 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53243
53244         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
53245         '#if' expressions.  Unlike the code it replaces, it does not
53246         depend on (defined _SC_PAGESIZE).  However, it does depend on
53247         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
53248         first reported by Jason Andrade in
53249         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53250
53251 2004-02-25  Simon Josefsson  <jas@extundo.com>
53252
53253         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
53254
53255 2004-02-25  Simon Josefsson  <jas@extundo.com>
53256
53257         * lib/strdup.h: New file.
53258         * lib/strdup.c: Include it.
53259         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
53260         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
53261
53262 2004-02-23  Karl Berry  <karl@gnu.org>
53263
53264         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
53265         (from fencepost.gnu.org:/gd/gnuorg).
53266
53267 2004-02-23  Karl Berry  <karl@gnu.org>
53268
53269         * config/srclistvars.sh (GNUORG) [karl]: redefine.
53270         * config/srclist.txt: add maintain/standards documents.
53271
53272 2004-02-18  Bruno Haible  <bruno@clisp.org>
53273
53274         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
53275         Reported by Derek Robert Price <derek@ximbiot.com>.
53276
53277 2004-02-16  Karl Berry  <karl@gnu.org>
53278
53279         * config/mkinstalldirs, install-sh: update from automake.
53280
53281 2004-02-06  Karl Berry  <karl@gnu.org>
53282
53283         * m4/po.m4: update from gettext 0.14.1.
53284
53285 2004-02-06  Karl Berry  <karl@gnu.org>
53286
53287         * lib/config.charset: update from gettext 0.14.1.
53288
53289 2004-02-05  Paul Eggert  <eggert@twinsun.com>
53290
53291         Add comments and code, prompted by suggestions from Bruno Haible
53292         for sh-quote.
53293         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
53294         describing the enum quoting_style values.
53295         * lib/quotearg.c (quotearg_alloc): New function.
53296         (quotearg_buffer_restyled): Treat lone { and } as special.
53297         Treat = as special.  Work around bug with older shells
53298         that "see" a '\' that is really the 2nd byte of a multibyte char.
53299         Quote empty string with shell_quoting_style.
53300
53301 2004-02-03  Bruno Haible  <bruno@clisp.org>
53302
53303         * m4/pipe.m4: New file, from GNU gettext.
53304
53305 2004-02-03  Bruno Haible  <bruno@clisp.org>
53306
53307         * lib/pipe.h: New file, from GNU gettext.
53308         * lib/pipe.c: New file, from GNU gettext.
53309
53310 2004-01-27  Bruno Haible  <bruno@clisp.org>
53311
53312         * m4/execute.m4: New file, from GNU gettext.
53313
53314 2004-01-27  Bruno Haible  <bruno@clisp.org>
53315
53316         * lib/execute.h: New file, from GNU gettext.
53317         * lib/execute.c: New file, from GNU gettext.
53318         * lib/w32spawn.h: New file, from GNU gettext.
53319
53320 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53321
53322         Merge from diffutils.
53323
53324         * lib/file-type.c (file_type): Add typed memory objects.
53325         * lib/file-type.h (S_TYPEISTMO): New macro.
53326
53327         * lib/c-stack.h (c_stack_action): Remove argv argument.
53328         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
53329         (die): Don't calculate message unless segv_action returns.
53330         (get_stack_location, min_address_from_argv, max_address_from_argv,
53331         volatile stack_base, volatile_stack_size): Remove.
53332         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
53333         that every segmentation violation is a stack overflow.  (Ouch!)
53334         See Debian bug 136249 (still outstanding) for more info about why
53335         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
53336
53337 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53338
53339         Exit-status fix from coreutils.
53340
53341         Use exit_failure consistently in place of EXIT_FAILURE,
53342         so that program exit statuses are consistent on failure.
53343
53344         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
53345         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
53346         * lib/argmatch.h: Comment fix to match the above.
53347         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
53348         Now a macro referring to exit_failure, instead of a separate
53349         variable.  Include "exitfail.h" to get it.
53350         * lib/xstrtol.h: Include "exitfail.h".
53351         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
53352
53353         * lib/long-options.c (parse_long_options): Use prototype
53354         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
53355         for clarity.
53356
53357 2004-01-21  Jim Meyering  <jim@meyering.net>
53358
53359         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
53360         so as not to conflict with a different-sized __mktime_internal
53361         function in GNU libc.
53362         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
53363         Problem building statically-linked `ls' reported by Michael Brunnbauer.
53364
53365 2004-01-20  Karl Berry  <karl@gnu.org>
53366
53367         * config/config.guess: update from config.
53368
53369         * config/srclistvars.sh: GNUWWWLICENSES for karl.
53370
53371 2004-01-20  Bruno Haible  <bruno@clisp.org>
53372
53373         Safer stack allocation.
53374         * lib/setenv.c: Include allocsa.h.
53375         (alloca): Remove fallback definition.
53376         (freea): Remove macro.
53377         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
53378         instead of freea.
53379
53380 2004-01-20  Bruno Haible  <bruno@clisp.org>
53381
53382         * m4/eealloc.m4: New file, from GNU gettext.
53383
53384 2004-01-20  Bruno Haible  <bruno@clisp.org>
53385
53386         * m4/allocsa.m4: New file, from GNU gettext.
53387
53388 2004-01-20  Bruno Haible  <bruno@clisp.org>
53389
53390         * lib/xallocsa.h: New file, from GNU gettext.
53391         * lib/xallocsa.c: New file, from GNU gettext.
53392
53393 2004-01-20  Bruno Haible  <bruno@clisp.org>
53394
53395         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
53396
53397 2004-01-20  Bruno Haible  <bruno@clisp.org>
53398
53399         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
53400         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
53401         specially.
53402
53403 2004-01-20  Bruno Haible  <bruno@clisp.org>
53404
53405         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
53406         patch.
53407
53408 2004-01-20  Bruno Haible  <bruno@clisp.org>
53409
53410         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
53411
53412 2004-01-20  Bruno Haible  <bruno@clisp.org>
53413
53414         * lib/eealloc.h: New file.
53415
53416 2004-01-20  Bruno Haible  <bruno@clisp.org>
53417
53418         * lib/binary-io.h: Avoid warnings on Cygwin.
53419
53420 2004-01-20  Bruno Haible  <bruno@clisp.org>
53421
53422         * lib/allocsa.h: New file, from GNU gettext.
53423         * lib/allocsa.c: New file, from GNU gettext.
53424
53425 2004-01-18  Karl Berry  <karl@gnu.org>
53426
53427         * doc/gpl.texi, doc/lgpl.texi: new files.
53428
53429 2004-01-18  Karl Berry  <karl@gnu.org>
53430
53431         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
53432         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
53433
53434 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53435
53436         Merge from coreutils.
53437
53438         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
53439         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
53440         (gl_DEFAULT_POSIX2_VERSION): Move
53441         the documentation from 'configure' into 'config.hin',
53442         so that 'configure --help' isn't burdened by it and
53443         we don't have to worry about its formatting there.
53444         Reword the documentation so that it's more succinct
53445         and can be run together into a single paragraph.
53446         * m4/same.m4 (gl_SAME): Check for pathconf.
53447
53448 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53449
53450         Merge from coreutils.
53451
53452         * lib/posixver.c: Include posixver.h.
53453
53454         * lib/same.c: Include <stdbool.h>, <limits.h>.
53455         (_POSIX_NAME_MAX): Define if not defined.
53456         (MIN): New macro.
53457         (same_name): If file names are silently truncated, report
53458         that the file names are the same if they are the same after
53459         the silent truncation.
53460
53461         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
53462         conversion function.
53463         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
53464         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
53465         longer needed.
53466
53467 2004-01-15  Jim Meyering  <jim@meyering.net>
53468
53469         Merge from coreutils.
53470
53471         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
53472         if no library is required.
53473         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
53474         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
53475         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
53476         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
53477         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
53478         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
53479         value, $ac_cv_search_crypt, if it's "none required".
53480         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
53481         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
53482         not gl_FUNC_GETLOADAVG.
53483         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
53484         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
53485
53486 2004-01-15  Jim Meyering  <jim@meyering.net>
53487
53488         Merge from coreutils.
53489
53490         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
53491         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
53492         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
53493
53494         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
53495         optional configure-time default.
53496
53497         * lib/version-etc.c (version_etc_copyright): Update copyright date.
53498
53499         * lib/xreadlink.c (xreadlink): Correct outdated comment.
53500
53501 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
53502
53503         Merge from coreutils.
53504
53505         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
53506         value, $ac_cv_search_nanosleep, if it's "none required".
53507
53508 2004-01-14  Paul Eggert  <eggert@twinsun.com>
53509
53510         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
53511         with like-named macro in fnmatch.c.
53512         (EXT): Use an internal constant instead.
53513
53514         Merge fnmatch patches from glibc.
53515         * lib/fnmatch.c (mbsinit): Remove define.
53516         Add libc_hidden_ver (__fnmatch, fnmatch).
53517         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
53518         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
53519
53520 2004-01-14  Karl Berry  <karl@gnu.org>
53521
53522         * config/install-sh: update from automake.
53523
53524 2004-01-13  Karl Berry  <karl@gnu.org>
53525
53526         * config/install-sh: update from automake.
53527
53528 2004-01-09  Karl Berry  <karl@gnu.org>
53529
53530         * config/install-sh: update from automake.
53531
53532 2004-01-05  Karl Berry  <karl@gnu.org>
53533
53534         * config/config.{sub,guess}: update from config.
53535
53536 2003-12-31  Karl Berry  <karl@gnu.org>
53537
53538         * config/depcomp: update from automake.
53539
53540 2003-12-14  Karl Berry  <karl@gnu.org>
53541
53542         * lib/config.charset: update from gettext-runtime.
53543
53544 2003-12-03  Paul Eggert  <eggert@twinsun.com>
53545
53546         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
53547         Bug reported by Alfred M. Szmidt.
53548
53549 2003-12-03  Bruno Haible  <bruno@clisp.org>
53550
53551         * m4/gettext.m4: Upgrade from gettext-0.13.
53552         * m4/po.m4: Upgrade from gettext-0.13.
53553         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
53554         * m4/intmax.m4: New file, from gettext-0.13.
53555         * m4/printf-posix.m4: New file, from gettext-0.13.
53556
53557 2003-11-29  Karl Berry  <karl@gnu.org>
53558
53559         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
53560
53561 2003-11-25  Paul Eggert  <eggert@twinsun.com>
53562             Bruno Haible  <bruno@clisp.org>
53563
53564         * lib/printf-parse.h: Don't include sys/types.h.
53565         (ARG_NONE): New macro.
53566         (char_directive): Change type of *arg_index fields to size_t.
53567         * lib/printf-parse.c: Don't include sys/types.h.
53568         (SSIZE_MAX): Remove macro.
53569         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
53570         Remove unnecessary overflow check.
53571         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
53572         fields.
53573
53574 2003-11-25  Bruno Haible  <bruno@clisp.org>
53575
53576         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
53577
53578 2003-11-25  Bruno Haible  <bruno@clisp.org>
53579
53580         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
53581         gt_TYPE_SSIZE_T.
53582
53583 2003-11-24  Paul Eggert  <eggert@twinsun.com>
53584
53585         * modules/alloca: Remove dependency on xalloc.
53586
53587 2003-11-24  Paul Eggert  <eggert@twinsun.com>
53588
53589         * lib/alloca.c: Remove dependency on xalloc module.
53590         (xalloc_die): Remove.
53591         (memory_full) [!defined emacs]: New macro.
53592         [!defined emacs]: Don't include xalloc.h.
53593         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
53594         address arithmetic overflows.  Change datatypes a bit to avoid
53595         unnecessary casts.
53596
53597 2003-11-22  Jim Meyering  <jim@meyering.net>
53598
53599         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
53600         s/size/size_t/.
53601
53602 2003-11-21  Karl Berry  <karl@gnu.org>
53603
53604         * config/config.{sub,guess}: update from config.
53605
53606 2003-11-18  Karl Berry  <karl@gnu.org>
53607
53608         * config/config.{sub,guess}: update from config.
53609
53610         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
53611
53612 2003-11-17  Paul Eggert  <eggert@twinsun.com>
53613
53614         * README: Mention that S+T cannot overflow if S is the size of
53615         an existing object and T is sufficiently small.
53616
53617 2003-11-17  Jim Meyering  <jim@meyering.net>
53618
53619         On systems without utime and without a utimes function capable of
53620         dealing with a NULL struct utimbuf* argument, this utime replacement
53621         could -- in unusual circumstances -- leak a file descriptor.
53622         * lib/utime.c: Include <unistd.h> and <errno.h>.
53623         (utime_null): Be sure to close `fd' and to preserve errno.
53624         Reported by Geoff Collyer via Arnold Robbins.
53625
53626 2003-11-17  Bruno Haible  <bruno@clisp.org>
53627
53628         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
53629         (Depends-on): Add xsize.
53630
53631 2003-11-17  Bruno Haible  <bruno@clisp.org>
53632
53633         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
53634
53635 2003-11-17  Bruno Haible  <bruno@clisp.org>
53636
53637         * lib/vasnprintf.c (alloca): Remove fallback definition.
53638         (freea): Remove definition.
53639         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
53640         Reported by Paul Eggert.
53641
53642 2003-11-16  Paul Eggert  <eggert@twinsun.com>
53643             Bruno Haible  <bruno@clisp.org>
53644
53645         Protect against address arithmetic overflow.
53646         * lib/printf-args.h: Include stddef.h.
53647         (arguments): Change type of field 'count' to size_t.
53648         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
53649         'unsigned int' where appropriate.
53650         * lib/printf-parse.h: Include sys/types.h.
53651         (char_directive): Change type of *arg_index fields to ssize_t.
53652         (char_directives): Change type of fields 'count', max_*_length to
53653         size_t.
53654         * lib/printf-parse.c: Include sys/types.h and xsize.h.
53655         (SSIZE_MAX): Define fallback value.
53656         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
53657         instead of 'int' where appropriate. Check a_allocated, d_allocated
53658         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
53659         * lib/vasnprintf.c: Include xsize.h.
53660         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
53661         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
53662         overflow. Avoid wraparound when converting a width or precision from
53663         decimal to binary.
53664
53665 2003-11-16  Bruno Haible  <bruno@clisp.org>
53666
53667         Update from GNU gettext.
53668         * lib/printf-parse.c: Generalize to it can be compiled for wide
53669         strings.
53670         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
53671         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
53672         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
53673         SNPRINTF): New macros.
53674         Don't include <alloca.h> if the file is used inside libintl.
53675         (local_wcslen): New function, for Solaris 2.5.1.
53676         (VASNPRINTF): Use it instead of wcslen.
53677
53678 2003-11-16  Bruno Haible  <bruno@clisp.org>
53679
53680         * lib/xsize.h (xmax): New function.
53681         (xsum, xsum3, xsum4): Declare as "pure" functions.
53682
53683 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53684
53685         * modules/xalloc (Files): Undo latest change, since xalloc.h
53686         no longer needs SIZE_MAX or PTRDIFF_MAX.
53687
53688 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53689
53690         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
53691         gl_PTRDIFF_MAX.
53692
53693 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53694
53695         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
53696         "return", to pacify some unknown compiler.  Problem reported
53697         by Joerg Schilling.
53698
53699 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53700
53701         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
53702         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
53703         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
53704         heuristic is just as accurate as far as we know, and it removes a
53705         dependency on size_max.m4 and ptrdiff_max.m4.
53706
53707 2003-11-11  Bruno Haible  <bruno@clisp.org>
53708
53709         * modules/xsize (Files): Add m4/size_max.m4.
53710         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
53711
53712 2003-11-11  Bruno Haible  <bruno@clisp.org>
53713
53714         * m4/size_max.m4: New file.
53715         * m4/ptrdiff_max.m4: New file.
53716         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
53717         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
53718         (gl_XALLOC): Invoke it.
53719
53720 2003-11-11  Bruno Haible  <bruno@clisp.org>
53721
53722         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
53723         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
53724         defined.
53725
53726 2003-11-10  Paul Eggert  <eggert@twinsun.com>
53727
53728         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
53729         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
53730         rejected some allocations of exactly SIZE_MAX - 2 bytes.
53731         From Bruno Haible.
53732         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
53733         not (size_t) -1, since it's defined here.
53734
53735 2003-11-09  Karl Berry  <karl@gnu.org>
53736
53737         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
53738
53739 2003-11-06  Paul Eggert  <eggert@twinsun.com>
53740
53741         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
53742         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
53743         Reject sizes of exactly SIZE_MAX bytes.
53744         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
53745         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
53746
53747 2003-11-05  Bruno Haible  <bruno@clisp.org>
53748
53749         * lib/xsize.h: Include limits.h, to avoid a possible collision with
53750         SIZE_MAX defined in <limits.h> on Solaris.
53751
53752 2003-11-04  Jim Meyering  <jim@meyering.net>
53753
53754         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
53755         variable names, rather than @VAR@.
53756         * modules/poll: Likewise.
53757
53758 2003-11-04  Bruno Haible  <bruno@clisp.org>
53759
53760         * modules/xsize: New file.
53761         * modules/linebreak: Depend on xsize.
53762         * MODULES.html.sh (func_all_modules): Add xsize.
53763
53764 2003-11-04  Bruno Haible  <bruno@clisp.org>
53765
53766         * m4/xsize.m4: New file.
53767
53768 2003-11-04  Bruno Haible  <bruno@clisp.org>
53769
53770         * lib/xsize.h: New file.
53771         * lib/linebreak.c: Include xsize.h.
53772         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
53773         argument for overflow.
53774         Suggested by Paul Eggert.
53775
53776 2003-11-03  Karl Berry  <karl@gnu.org>
53777
53778         * config/config.{guess,sub}: update from config.
53779
53780 2003-11-03  Jim Meyering  <jim@meyering.net>
53781
53782         * modules/userspec (lib_SOURCES): Add userspec.h.
53783         (Include): Add "userspec.h".
53784         Improve description.
53785
53786 2003-11-03  Jim Meyering  <jim@meyering.net>
53787
53788         * lib/userspec.c: Include "userspec.h".
53789         * lib/userspec.h: New file.
53790
53791 2003-11-03  Bruno Haible  <bruno@clisp.org>
53792
53793         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
53794
53795 2003-11-03  Bruno Haible  <bruno@clisp.org>
53796
53797         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
53798         available, to avoid (extremely rare) race condition.
53799         Suggested by Paul Eggert.
53800
53801 2003-11-02  Karl Berry  <karl@gnu.org>
53802
53803         * config/srclist.txt (vasprintf.c): sync broken, sigh.
53804
53805 2003-10-31  Paul Eggert  <eggert@twinsun.com>
53806
53807         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
53808         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
53809         (read_filesystem_list): Set and use me_type_malloced.
53810         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
53811         whatever the type happens to be), for brevity and consistency.
53812         Check for size calculation overflow on Alphas running OSF/1.
53813
53814 2003-10-31  Jim Meyering  <jim@meyering.net>
53815
53816         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
53817
53818         * lib/linebuffer.c: Include <string.h> for declaration of memset.
53819
53820 2003-10-30  Paul Eggert  <eggert@twinsun.com>
53821             Bruno Haible  <bruno@clisp.org>
53822
53823         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
53824         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
53825
53826 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
53827
53828         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
53829         netbsd*-gnu*.  Suggested by Robert Millan.
53830
53831 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53832
53833         * modules/group-member: Depend on stdbool.
53834
53835 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53836
53837         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
53838
53839 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53840
53841         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
53842         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
53843         after the 'gnu' in these cases.  This fixes some bugs in the
53844         previous change, and is based on suggestions by Robert Millan.
53845
53846 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53847
53848         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
53849         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
53850         no longer needed.
53851         * lib/quotearg.c (quotearg_n_options): Use it.
53852         * lib/group-member.c: Include <stdbool.h>.
53853         (free_group_info): Arg is now const *; don't free arg.
53854         (get_group_info): Now returns bool and accepts struct group_info *,
53855         rather than returning a malloc'ed struct group_info *.
53856         All uses changed.  Check for overflow in internal size calculation.
53857
53858         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
53859         rather than xmalloc/xrealloc.
53860         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
53861         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
53862         conformance bug: the old code used a pointer after freeing the
53863         storage that it addressed.
53864         * lib/hash.c (hash_initialize): Simplify the code by using
53865         xalloc_oversized rather than doing it by hand.
53866         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
53867         the buffer preserved.  Use free and xmalloc instead.
53868         * lib/quotearg.c (quotearg_n_options): Likewise.
53869         Use a simpler test for size overflow.  Don't use xalloc_oversized
53870         because unsigned int might be wider than size_t (!); this suggests
53871         that we should switch from unsigned int to size_t for slot numbers.
53872
53873 2003-10-28  Paul Eggert  <eggert@twinsun.com>
53874
53875         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
53876         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
53877         NetBSD kernels.  Requested by Richard Stallman.
53878
53879 2003-10-27  Paul Eggert  <eggert@twinsun.com>
53880
53881         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
53882         to allocate the returned structure.  Do not allocate a subarray,
53883         as x2nrealloc will do that.
53884         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
53885         instead of xnrealloc.
53886         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
53887
53888 2003-10-27  Bruno Haible  <bruno@clisp.org>
53889
53890         * lib/stdbool_.h: Better support for BeOS.
53891
53892 2003-10-26  Paul Eggert  <eggert@twinsun.com>
53893
53894         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
53895         now uses inline.
53896
53897 2003-10-26  Paul Eggert  <eggert@twinsun.com>
53898
53899         * lib/xalloc.h (xalloc_oversized): New static inline function, for
53900         callers that want to do their own size-overflow checking.  Include
53901         <stdbool.h>, since xalloc_oversized returns bool.
53902         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
53903         to use xalloc_oversized.
53904
53905         Add two functions x2realloc, x2nrealloc, for programs that grow
53906         arrays dynamically by doubling their sizes.
53907         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
53908         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
53909         New functions.
53910
53911         Port to C99 semantics for 'inline' of external functions.
53912         Bug reported by Bruno Haible.
53913         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
53914         with the old contents of xnmalloc.
53915         (xnmalloc, xmalloc): Use it.
53916         (xnrealloc_inline): New static inline function,
53917         with the old contents of xnrealloc.
53918         (xnrealloc, xrealloc): Use it.
53919
53920         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
53921         that.
53922
53923 2003-10-26  Karl Berry  <karl@gnu.org>
53924
53925         * config/srclist.txt (COPYING.DOC): no longer available from
53926         /gd/gnuorg; don't know where the ultimate source is.
53927
53928 2003-10-25  Paul Eggert  <eggert@twinsun.com>
53929
53930         Fix several address-calculation bugs in the hash modules,
53931         plus some minor code cleanup.
53932
53933         * lib/hash.h: Include <stdbool.h>, for bool.
53934         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
53935         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
53936         hash_get_n_entries, hash_get_max_bucket_length,
53937         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
53938         hash_rehash): Use size_t rather than unsigned.
53939         * lib/hash.c (struct hash_table, hash_get_n_buckets,
53940         hash_get_n_buckets_used, hash_get_n_entries,
53941         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
53942         hash_get_entries, hash_do_for_each, hash_string, is_prime,
53943         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
53944         Likewise.
53945         (SIZE_MAX): Define if not defined.
53946         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
53947         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
53948         hash_print):
53949         Use const * when possible.
53950         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
53951         (check_tuning): Fix bug: if tuning parameters were very close to
53952         0 or 1, rounding errors could have caused subscript violations.
53953         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
53954         (hash_initialize): Add 'fail:' label
53955         to free table and return NULL, and use it to simplify code.
53956         Use calloc rather than clearing the storage ourself.
53957         (hash_initialize, hash_rehash): Check for arithmetic overflow in
53958         buffer size calculations.
53959         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
53960         Include <stddef.h>, for size_t.
53961         * lib/hash-pjw.c (hash_pjw): Likewise.
53962         Switch to method described by Bruno Haible.
53963         Include <limits.h>, for CHAR_BIT.
53964         (SIZE_BITS): New macro.
53965
53966 2003-10-23  Paul Eggert  <eggert@twinsun.com>
53967
53968         * m4/getline.m4 (AM_FUNC_GETLINE):
53969         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
53970         hosts.  Problem reported by Derek Robert Price in
53971         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
53972         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
53973         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
53974
53975 2003-10-21  Paul Eggert  <eggert@twinsun.com>
53976
53977         * lib/getndelim2.c (getndelim2): When size calculation overflows,
53978         ceiling the allocation at NMAX bytes rather than silently
53979         discarding input bytes before NMAX is reached.  This makes
53980         a difference only if NMAX exceeds SIZE_MAX / 2.
53981
53982         * lib/obstack.c: Merge from glibc.
53983         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
53984         Add libc_hidden_def (_obstack_newchunk).
53985         (_obstack_free) [! defined _LIBC]: Remove.
53986         [defined _LIBC]: Make a strong alias from obstack_free, rather than
53987         a clone of the function body.
53988         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
53989         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
53990
53991         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
53992         glibc.
53993         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
53994         arg to memcpy.
53995
53996         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
53997         (obstack_ptr_grow_fast, obstack_int_grow_fast):
53998         Don't use lvalue casts, as GCC plans to remove support for them
53999         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
54000         was also present in the non-GCC version, indicating that this
54001         code had always been buggy and had never been widely used.
54002         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
54003         Use the fast variant of each macro, rather than copying the
54004         definiens of the fast variant; that way, we'll be more likely to
54005         catch future bugs in the fast variants.
54006
54007 2003-10-20  Bruno Haible  <bruno@clisp.org>
54008
54009         * modules/wait-process: New file.
54010         * MODULES.html.sh (func_all_modules): Add wait-process.
54011
54012 2003-10-20  Bruno Haible  <bruno@clisp.org>
54013
54014         * m4/wait-process.m4: New file.
54015
54016 2003-10-20  Bruno Haible  <bruno@clisp.org>
54017
54018         * lib/wait-process.h: New file, from GNU gettext.
54019         * lib/wait-process.c: New file, from GNU gettext.
54020
54021 2003-10-19  Jim Meyering  <jim@meyering.net>
54022
54023         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
54024         HPUX 10.20.
54025
54026 2003-10-18  Karl Berry  <karl@gnu.org>
54027
54028         * config/config.guess: update from config.
54029
54030 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54031
54032         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
54033         (getgroups): First arg is int, not size_t.
54034         Don't let 'free' mangle errno.
54035
54036 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54037
54038         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
54039
54040 2003-10-16  Karl Berry  <karl@gnu.org>
54041
54042         * config/config.{guess,sub}: update from config.
54043
54044 2003-10-16  Jim Meyering  <jim@meyering.net>
54045
54046         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
54047         memcpy.
54048
54049 2003-10-15  Paul Eggert  <eggert@twinsun.com>
54050
54051         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
54052         (SIZE_MAX): Remove.
54053         (new_exclude, add_exclude_file): Initial size no longer needs to
54054         be a power of 2.
54055         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
54056         our own address arithmetic overflow checking.
54057
54058         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
54059         (fnmatch): Do not alloca more than 2000 wide characters;
54060         instead, use malloc for large buffers.
54061         Check for address arithmetic overflow, and return -1
54062         with errno set to ENOMEM in that case.
54063         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
54064         (NEW_PATTERN): Do not alloca more than 8000 bytes;
54065         instead, return -1.  Check for address arithmetic overflow.
54066
54067 2003-10-14  Paul Eggert  <eggert@twinsun.com>
54068
54069         Handle invalid suffixes and overflow independently, so that
54070         callers can treat them independently as needed.  Fix some bugs in
54071         suffix handling, e.g., "100k@" was not diagnosed as an invalid
54072         suffix for a human-readable blocksize.  The major caller-visible
54073         change is the addition of a new
54074         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
54075         that both overflow and suffix chars were found.
54076
54077         * lib/human.c (humblock): Don't check separately for invalid suffix
54078         char; that is xstrtoumax's job (now that its bug is fixed).
54079         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
54080         INTMAX_MAX]: New macros.
54081         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
54082         TYPE_MAXIMUM): New macros.
54083         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
54084         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
54085         if overflow occurs, as it's what __strtol does and it's more useful
54086         in practice.
54087         (__xstrtol): If __strtol reports some error other than ERANGE,
54088         reflect it to the caller as LONGINT_INVALID.  If it reports
54089         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
54090         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
54091         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
54092         value.
54093         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
54094         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
54095         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
54096         [defined UINTMAX_MAX]: New macros.
54097
54098 2003-10-14  Bruno Haible  <bruno@clisp.org>
54099
54100         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
54101
54102 2003-10-14  Bruno Haible  <bruno@clisp.org>
54103
54104         * m4/sig_atomic_t: New file, from GNU gettext.
54105         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
54106
54107 2003-10-14  Bruno Haible  <bruno@clisp.org>
54108
54109         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
54110         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
54111         Also use volatile where needed.
54112
54113 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54114
54115         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
54116         Change maintainer from Bruno Haible to 'all'.
54117
54118 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54119
54120         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
54121
54122 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54123
54124         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
54125         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
54126         and define in terms of the other primitives.
54127         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
54128         (SIZE_MAX): Define if not already defined.
54129         (array_size_overflow): New function.
54130         (xalloc_die): Abort instead of exiting if 'error' returns.
54131         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
54132         (xmalloc, xrealloc): Use them.
54133         (xcalloc): Check for address arithmetic overflow.
54134         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
54135         a bit faster than strcpy.
54136
54137 2003-10-10  Simon Josefsson  <jas@extundo.com>
54138
54139         * modules/argp (Depends-on): Add restrict and strcase.
54140
54141 2003-10-10  Simon Josefsson  <jas@extundo.com>
54142
54143         * m4/argp.m4: Add AC_C_INLINE.
54144
54145 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54146
54147         Merge getpass from libc, plus a few fixes.
54148
54149         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
54150         Include <stdbool.h>.
54151         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
54152         __fsetlocking to empty.
54153         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
54154         do include <bits/libc-lock.h>.
54155         Do not include <fcntl.h>; not needed.
54156         [_LIBC]: Include <wchar.h>.
54157         (NOTCANCEL_MODE): New macro.
54158         (flockfile, funlockfile) [_LIBC]: New macros.
54159         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
54160         [!_LIBC]: New macros.
54161         (call_fclose): New function.
54162         (getpass): Use it.  Save tty stream separately; this simplifies the
54163         code and makes it more reliable if stdin happens to equal stdout.
54164         Invoke __fsetlocking on tty.
54165         Handle thread cancellation if needed.
54166         Namespace cleanup (use __tcgetattr, __getline).
54167         Use bool for Booleans.
54168         [USE_IN_LIBIO]: Handle wide streams.
54169         [!_LIBC]: Unconditionally do the fseek, since we don't know what
54170         stream might go where.
54171
54172         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
54173         doesn't have to include <stdio.h> before us.
54174         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
54175         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
54176         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
54177         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
54178         if not declared, so that we can use getpass.c code from libc without
54179         rewriting it.
54180         (flockfile, ftrylockfile, funlockfile): New macros.
54181
54182 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54183
54184         * modules/getpass: Depend on stdbool.
54185
54186 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54187
54188         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
54189
54190 2003-10-07  Karl Berry  <karl@gnu.org>
54191
54192         * config/config.{guess,sub}: update from config.
54193
54194 2003-10-06  Jim Meyering  <jim@meyering.net>
54195             Bruno Haible  <bruno@clisp.org>
54196
54197         This lets translators provide better translations for the
54198         "Written by ..." part of --version output.
54199         * lib/version-etc.h: Include stdarg.h.
54200         (version_etc_copyright): Declare as readonly.
54201         (version_etc): Make this function variadic with a NULL-terminated list
54202         of author name strings.
54203         (version_etc_va): New declaration.
54204         * lib/version-etc.c: Include stdarg.h, stdlib.h.
54205         (version_etc_copyright): Declare as readonly.
54206         (version_etc_va): New function. Provide a different translatable string
54207         for each possible number of authors < 10. Abbreviate when there are 10
54208         authors or more.
54209         (version_etc): Make this function variadic. Call version_etc_va.
54210         Suggestion from Gary V. Vaughan.
54211
54212         * lib/long-options.h (parse_long_options): Change prototype: the
54213         authors string is moved to the end and becomes variadic.
54214         * lib/long-options.c: Include stdarg.h.
54215         (parse_long_options): Make this function variadic, too.
54216         Call version_etc_va, not version_etc.
54217
54218 2003-10-06  Bruno Haible  <bruno@clisp.org>
54219
54220         * modules/version-etc-2: Remove file.
54221         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
54222
54223 2003-10-06  Bruno Haible  <bruno@clisp.org>
54224
54225         * modules/fatal-signal: New file.
54226         * MODULES.html.sh (func_all_modules): Add fatal-signal.
54227
54228 2003-10-06  Bruno Haible  <bruno@clisp.org>
54229
54230         * m4/fatal-signal.m4: New file.
54231         * m4/signalblocking.m4: New file, from GNU gettext.
54232
54233 2003-10-06  Bruno Haible  <bruno@clisp.org>
54234
54235         * lib/version-etc-2.h: Remove file.
54236         * lib/version-etc-2.c: Remove file.
54237
54238 2003-10-06  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/fatal-signal.h: New file, from GNU gettext.
54241         * lib/fatal-signal.c: New file, from GNU gettext.
54242
54243 2003-10-05  Paul Eggert  <eggert@twinsun.com>
54244
54245         * README: Rework advice for preventing empty .o files.
54246         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
54247         not <sys/types.h>.
54248
54249 2003-10-04  Karl Berry  <karl@gnu.org>
54250
54251         * lib/argp*: update from libc.
54252
54253 2003-10-04  Karl Berry  <karl@gnu.org>
54254
54255         * config/config.{guess,sub}: update from config.
54256
54257 2003-10-02  Bruno Haible  <bruno@clisp.org>
54258
54259         * modules/lchown (Include): Add lchown.h.
54260         * modules/time_r (Include): Use "..." syntax.
54261         * modules/xgetdomainname (Include): Add xgetdomainname.h.
54262
54263 2003-10-01  Simon Josefsson  <jas@extundo.com>
54264
54265         * MODULES.html.sh (func_all_modules): Move gethostname from section
54266         'based on' to section 'lacking' POSIX:2001.
54267
54268 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
54269
54270         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
54271         to output mode on the same stream.
54272
54273 2003-09-29  Paul Eggert  <eggert@twinsun.com>
54274
54275         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
54276         Fix arg typo in previous patch.
54277
54278 2003-09-28  Jim Meyering  <jim@meyering.net>
54279
54280         * lib/error.c: Correct cpp indentation.
54281
54282 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54283
54284         * modules/free: New file.
54285
54286 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54287
54288         * m4/free.m4: New file.
54289
54290 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54291
54292         * lib/minmax.h (MIN, MAX)
54293         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
54294         Omit the special code that used __typeof__, since we worry that
54295         it could be more trouble than it's worth.  See:
54296         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
54297         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
54298
54299         * lib/free.c: New file.
54300
54301 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
54302
54303         Trivial fixes to Makefile.am parts of module listings.
54304         * modules/strstr: Append strstr.h to lib_SOURCES.
54305         * modules/strcase: Likewise, for strcase.h.
54306
54307 2003-09-27  Karl Berry  <karl@gnu.org>
54308
54309         * config/mkinstalldirs: update from automake.
54310
54311 2003-09-26  Paul Eggert  <eggert@twinsun.com>
54312
54313         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
54314         (error_tail): Do not loop, reallocating temporary buffer, since
54315         the output cannot contain more wide characters than the input
54316         contains bytes, the size must be big enough already.  This avoids
54317         one potential size overflow calculation.  Check for size overflow
54318         when calculating temporary buffer size.  Free temporary buffer
54319         when done, if it was allocated with malloc; this plugs a memory
54320         leak.  Remove casts from void * to pointers, that are no longer
54321         needed now that we're assuming C89 or better.
54322
54323         Merge error changes from glibc.
54324
54325         * lib/error.c, error.h: Update copyright notice header to match glibc.
54326         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
54327         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
54328         Disable cancellation while printing error.
54329         * lib/error.h: Prepend __ to parameter names.
54330
54331 2003-09-26  Jim Meyering  <jim@meyering.net>
54332
54333         * lib/error.c (error_tail): Move some declarations
54334         into inner scope where the local variables are used.
54335
54336 2003-09-26  Bruno Haible  <bruno@clisp.org>
54337
54338         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
54339         stpncpy().
54340         Don't define stpncpy through config.h; it's now done through stpncpy.h.
54341
54342 2003-09-26  Bruno Haible  <bruno@clisp.org>
54343
54344         * lib/stpncpy.h (gnu_stpncpy): New declaration.
54345         (stpncpy): Define as alias for gnu_stpncpy.
54346         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
54347
54348 2003-09-25  Simon Josefsson  <jas@extundo.com>
54349
54350         * lib/xgetdomainname.h: New file.
54351         * lib/xgetdomainname.c: New file.
54352
54353 2003-09-25  Simon Josefsson  <jas@extundo.com>
54354             Bruno Haible  <bruno@clisp.org>
54355
54356         * modules/getdomainname: New file.
54357         * modules/xgetdomainname: New file.
54358         * MODULES.html.sh (func_all_modules): Add getdomainname,
54359         xgetdomainname.
54360
54361 2003-09-25  Simon Josefsson  <jas@extundo.com>
54362             Bruno Haible  <bruno@clisp.org>
54363
54364         * m4/getdomainname.m4: New file.
54365
54366 2003-09-25  Simon Josefsson  <jas@extundo.com>
54367             Bruno Haible  <bruno@clisp.org>
54368
54369         * lib/getdomainname.h: New file.
54370         * lib/getdomainname.c: New file.
54371
54372 2003-09-25  Karl Berry  <karl@gnu.org>
54373
54374         * lib/argp-fmtstream.c, argp-help.c: update from libc.
54375
54376 2003-09-25  Karl Berry  <karl@gnu.org>
54377
54378         * config/install-sh: update from automake.
54379
54380 2003-09-25  Bruno Haible  <bruno@clisp.org>
54381
54382         * modules/version-etc-2: New file, from modules/version-etc with
54383         modifications.
54384         * MODULES.html.sh (func_all_modules): Add version-etc-2.
54385
54386 2003-09-25  Bruno Haible  <bruno@clisp.org>
54387
54388         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
54389         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
54390
54391 2003-09-24  Simon Josefsson  <jas@extundo.com>
54392
54393         * modules/xgethostname: Add xgethostname.h.
54394
54395 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54396
54397         * lib/linebuffer.c (freebuffer): Don't free the argument, just
54398         the buffer associated with the argument.  Bug reported by
54399         Simon Josefsson.
54400
54401 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54402
54403         * README: Document assumptions that 'int' is at least 32 bits
54404         wide, that integer arithmetic is 2's complement without overflow,
54405         that there are no holes in integer values, that adding sizes of
54406         two nonoverlapping objects can't overflow, and that all-bits-zero
54407         yields scalar zero.  Fix spelling and capitalization typos.
54408
54409 2003-09-19  Karl Berry  <karl@gnu.org>
54410
54411         * lib/argp.h: update from libc.
54412
54413 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54414
54415         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
54416         to avoid spurious warnings like "AC_RUN_IFELSE was called before
54417         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
54418
54419 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54420
54421         * gnulib-tool: Use "test -h", not "test -L", for portability
54422         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
54423         (tags_regexp): Remove, since \| doesn't conform to POSIX.
54424         (sed_extract_prog): Issue s commands one-by-one, rather than
54425         using \| in one s command.
54426
54427 2003-09-16  Paul Eggert  <eggert@twinsun.com>
54428
54429         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
54430         input error, instead of returning NULL the next time we are called
54431         (and therefore losing track of errno).
54432
54433 2003-09-16  Bruno Haible  <bruno@clisp.org>
54434
54435         * gnulib-tool (func_create_testdir): Warn about duplicated
54436         dependencies.
54437
54438 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54439
54440         * modules/argmatch, modules/fatal, modules/obstack,
54441         modules/xalloc, modules/xgethostname: Sort dependencies by
54442         importance, not alphabetically.
54443
54444 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54445
54446         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
54447         fails, so that the caller gets the proper errno.
54448
54449         * lib/readutmp.c (read_utmp): Likewise.
54450         Check for fstat error.  Close stream and free storage
54451         when failing.
54452
54453 2003-09-14  Karl Berry  <karl@gnu.org>
54454
54455         * config/srclist.txt (strdup.c): disable for c89 changes.
54456
54457 2003-09-14  Jim Meyering  <jim@meyering.net>
54458
54459         * lib/getloadavg.c: Correct cpp indentation.
54460         * lib/strdup.c: Likewise.
54461         * lib/vasnprintf.c: Likewise.
54462
54463 2003-09-14  Bruno Haible  <bruno@clisp.org>
54464
54465         * modules/fwriteerror: New file.
54466         * MODULES.html.sh (func_all_modules): Add fwriteerror.
54467
54468 2003-09-14  Bruno Haible  <bruno@clisp.org>
54469
54470         * lib/fwriteerror.h: New file.
54471         * lib/fwriteerror.c: New file.
54472
54473 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54474
54475         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
54476         modules/xgethostname, modules/xalloc: Depend on exit.
54477
54478 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54479
54480         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
54481
54482         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
54483         and AC_MINIX, too, so that their extensions are available.
54484
54485         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
54486         This macro has been superseded by gl_BACKUPFILE.
54487
54488         More patches to assume C89 or better.
54489
54490         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
54491
54492         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
54493         unconditionally.
54494         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
54495         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
54496         Include <string.h>, <stdlib.h> unconditionally.
54497         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
54498         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
54499         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
54500         headers or for string.h.
54501         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
54502         or strtoul.
54503
54504         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
54505         headers.
54506         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
54507         * m4/userspec.m4 (gl_USERSPEC): Likewise.
54508         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
54509         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
54510         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54511         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
54512         memcpy, memset.
54513         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
54514         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
54515         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
54516         strtol.
54517         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
54518         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
54519         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
54520         strtoul.
54521
54522 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54523
54524         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
54525         * lib/obstack.c [!defined _LIBC]: Likewise.
54526         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
54527         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
54528         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
54529
54530         More changes to assume C89 or better.
54531
54532         * lib/error.c (error_tail): Assume vprintf.
54533
54534         * lib/argmatch.c (getenv): Remove decl.
54535         * lib/progreloc.c (get_full_program_name): Define via prototype.
54536         * lib/setenv.c (clearenv): Likewise.
54537         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
54538         needed.
54539         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
54540         (malloc, memcpy): Remove decls.
54541         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
54542         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
54543         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54544         (memcpy): Remove macro.
54545         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
54546         (__P): Remove.  All uses removed.
54547         (PTR): Remove.  All uses changed to void *.
54548         (CHAR_BIT, NULL): Remove.
54549         (spaces, zeros, memset_space, memset_zero)
54550         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
54551         Remove.
54552         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
54553         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
54554         Define with prototype.
54555         Remove now-unnecessary prototype decl.
54556         (extra_args_spec): Assume ANSI C.  All uses changed.
54557         (extra_args_spec_iso): Remove.
54558         (my_strftime, emacs_strftimeu): Define via prototype.
54559         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
54560         unconditionally.
54561         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
54562         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
54563         (strtoul, strtol): Remove decls.
54564         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
54565         LONG_MAX): Remove.
54566         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54567         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
54568         (LOCALE_PARAM_PROTO): New macro.
54569         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
54570         (INTERNAL (strtol), strtol): Define with a prototype.
54571         (PARAMS): Remove.  All uses removed.
54572         * lib/tempname.c: Include <string.h> unconditionally.
54573         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
54574         * lib/xgethostname.c (main): Define with a prototype.
54575         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
54576         Include <stdlib.h> unconditionally.
54577         (calloc, malloc, realloc, free): Remove decls.
54578         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
54579         Include <stdlib.h> unconditionally.  Sort include file names.
54580         (strtod): Remove.
54581         (xstrtod): Define with a prototype.
54582         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
54583         (strtol, strtoul): Remove decls.
54584
54585 2003-09-11  Paul Eggert  <eggert@twinsun.com>
54586
54587         More patches to assume C89 or better.
54588         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
54589         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
54590         string.h, memchr, STDC_HEADERS.
54591
54592 2003-09-11  Paul Eggert  <eggert@twinsun.com>
54593
54594         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
54595         Include <stdlib.h>, <string.h> unconditionally.
54596         Remove now-unnecessary cast to char *.
54597         * lib/strnlen.c: Include <string.h> unconditionally.
54598         * lib/yesno.c (yesno): Define with a prototype.
54599
54600 2003-09-11  Bruno Haible  <bruno@clisp.org>
54601
54602         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
54603
54604 2003-09-10  Jim Meyering  <jim@meyering.net>
54605
54606         * lib/error.c: Correct indentation of cpp directives.
54607
54608 2003-09-10  Bruno Haible  <bruno@clisp.org>
54609
54610         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
54611         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
54612         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
54613         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
54614         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
54615         <stdlib.h> and <string.h> checks.
54616         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
54617         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
54618
54619 2003-09-10  Bruno Haible  <bruno@clisp.org>
54620
54621         * lib/strcspn.c: Include <string.h> unconditionally.
54622         * lib/strpbrk.c: Include <string.h> unconditionally.
54623         * lib/strstr.c: Include <string.h> unconditionally.
54624         * lib/unicodeio.c: Include <string.h> unconditionally.
54625         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
54626         * lib/unsetenv.c: Likewise.
54627         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
54628         * lib/yesno.c: Include <stdlib.h> unconditionally.
54629         (rpmatch): Add prototype.
54630
54631 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54632
54633         More patches to assume C89 or better.
54634         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
54635         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
54636         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
54637         or for string.h.
54638         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
54639         stdlib.h.
54640         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
54641         C headers.
54642         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
54643         string.h.
54644         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
54645         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
54646         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
54647         or for string.h.
54648         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
54649         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
54650         C headers.
54651         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
54652         memcpy.
54653         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
54654         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
54655         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
54656         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
54657         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
54658         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
54659         string.h, free.
54660         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
54661         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
54662         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
54663         C headers, or for string.h.
54664         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
54665         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
54666         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
54667         headers, memory.h, stdlib.h, string.h, strings.h.
54668         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
54669         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
54670         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
54671         strchr.
54672         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
54673         headers, memory.h, string.h.
54674         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
54675         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
54676         free.
54677         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
54678         headers.
54679         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
54680         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
54681         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
54682         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
54683         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
54684
54685 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54686
54687         More K&R removal.
54688
54689         * lib/acosl.c (main): Use a prototype.
54690         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
54691         tanl.c: Likewise.
54692
54693         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
54694
54695         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
54696         (getopt, etopt_long, getopt_long_only, _getopt_internal)
54697         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
54698         with a prototype.
54699         * lib/getopt.c (const): Remove macro.
54700         Include <string.h> unconditionally.
54701         (my_index): Remove; all uses changed to strchr.
54702         (strlen): Remove decl.
54703         (exchange): Remove forward decl; no longer needed.
54704         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
54705         Define with prototype.
54706         * lib/getopt1.c (const): Remove macro.
54707         (getopt_long, getopt_long_only, main): Define with prototype.
54708
54709         * lib/getugroups.c: Include <string.h> unconditionally.
54710
54711         * lib/getusershell.c: Include <stdlib.h> unconditionally.
54712         (getusershell, setusershell, endusershell, readname, main):
54713         Define with prototypes.
54714
54715         * lib/group-member.c: Include group-member.h first.
54716         Include <stdlib.h> unconditionally.
54717
54718         * lib/hard-locale.c: Include hard-locale.h first.
54719         Include <stdlib.h>, <string.h> unconditionally.
54720
54721         * lib/hash.c (free, malloc): Remove decls.
54722         Include <stdlib.h> unconditionally.
54723
54724         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
54725         (getenv): Do not declare.
54726
54727         * lib/idcache.c: Include <string.h> unconditionally.
54728
54729         * lib/long-options.c: Include long-options.h first, to test interface.
54730         Include <stdlib.h> unconditionally.
54731
54732         * lib/makepath.c: Include makepath.h first, to test interface.
54733         Include <stdlib.h> and <string.h> unconditionally.
54734
54735         * lib/linebuffer.c: Include <stdlib.h>.
54736         (free): Remove decl.
54737
54738         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
54739         stddef.h. rpl_malloc returns void *, not char *.
54740         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
54741         prototype.
54742
54743         * lib/md5.h: Include <limits.h> unconditionally.
54744         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
54745         (__P): Remove; all uses removed.
54746         * lib/md5.c: Include "md5.h" first.
54747         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
54748         md5_buffer, md5_process_bytes, md5_process_block):
54749         Define with prototypes.
54750         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
54751         * lib/sha.c: Include "sha.h" first.
54752         Include <stdlib.h>, <string.h> unconditionally.
54753
54754         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
54755         * lib/memcmp.c (__ptr_t): Likewise.
54756         * lib/memrchr.c (__ptr_t): Likewise.
54757         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
54758         Include <string.h> unconditionally.
54759         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
54760         * lib/memchr.c: Include <stdlib.h> unconditionally.
54761         * lib/memchr.c (LONG_MAX): Remove.
54762         * lib/memrchr.c (LONG_MAX): Likewise.
54763         * lib/memchr.c (__memchr): Define via a prototype.
54764         * lib/memrchr.c (__memrchr): Likewise.
54765         * lib/memcmp.c (__P): Remove, and remove all uses.
54766         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
54767         Remove forward decls; no longer needed.
54768         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
54769         Use types required by C89 in prototype.
54770
54771         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
54772         * lib/savedir.c: Likewise.
54773         * lib/mkdir.c (free): Remove decl.
54774         * lib/rmdir.c (rmdir): Define with a prototype.
54775         * lib/savedir.c: Include savedir.h first, to test interface.
54776
54777         * lib/mktime.c (STDC_HEADERS): Remove.
54778         Include <stdlib.h>, <string.h> unconditionally.
54779
54780         * lib/modechange.c: Include <stdlib.h> unconditionally.
54781         (malloc): Remove decl.
54782
54783         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
54784         (free): Remove decl.
54785
54786         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
54787         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
54788         (This type really should be intptr_t, but that's a C99ism.)
54789         (_obstack_memcpy): Remove: all uses changed to memcpy.
54790         Include <string.h> unconditionally.
54791         (struct obstack): Assume __STDC__ for types of members
54792         chunkfun, freefun, extra_arg.
54793         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
54794         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
54795         obstack_begin, obstack_specify_allocation,
54796         obstack_specify_allocation_with_arg, obstack_chunkfun,
54797         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
54798         Remove unprototyped decls and the macros that use them.
54799         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
54800         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
54801         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
54802         (defined __STDC__ && __STDC__)]:
54803         Remove nonprototyped code.
54804         Include <stdlib.h> unconditionally.
54805         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
54806         _obstack_allocated_p, _obstack_free, obstack_free,
54807         _obstack_memory_used, print_and_abort):
54808         Define using prototypes.
54809         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
54810         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
54811         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
54812         obstack_next_free, obstack_object_size, obstack_room) [0]:
54813         Remove unused, unprototyped code.
54814
54815         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
54816
54817         * lib/physmem.c (physmem_total, physmem_available, main): Define
54818         with prototypes.
54819
54820         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
54821         (main): Define with a prototype.
54822
54823         * lib/posixver.c (getenv): Remove decl.
54824
54825         * lib/putenv.c (malloc): Returns void *, not char *.
54826         Include <string.h> unconditionally.
54827         (strchr, memcpy, NULL): Do not define.
54828
54829         * lib/readtokens.c: Include readtokens.h first, to test interface.
54830         Include <stdlib.h>, <string.h> unconditionally.
54831         (init_tokenbuffer): Define with a prototype.
54832
54833         * lib/regex.c (PARAMS): Remove.  All uses removed.
54834         All uses of _RE_ARGS removed, too.
54835         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54836         unconditionally.
54837         (bzero): Assume memset exists.
54838         (memcmp, memcpy, NULL): Remove.
54839         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
54840         char, or assignments to local vars of type signed char.
54841         (init_syntax_once, PREFIX(extract_number_and_incr),
54842         PREFIX(print_partial_compiled_pattern),
54843         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
54844         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
54845         PREFIX(regex_grow_registers), PREFIX(regex_compile),
54846         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
54847         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
54848         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
54849         wcs_compile_range, byte_compile_range, truncate_wchar,
54850         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
54851         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
54852         count_mbs_length, wcs_re_match_2_internal,
54853         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
54854         PREFIX(alt_match_null_string_p),
54855         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
54856         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
54857         regfree, PREFIX(extract_number)): Define with prototype.  Remove
54858         now-unnecessary declaration, if any.
54859         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
54860         regcomp, regexec):
54861         Remove now-unnecessary casts among pointer types.
54862         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
54863
54864         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
54865         (free): Remove decl.
54866
54867         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
54868
54869         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
54870         (free): Remove decl.
54871
54872         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
54873         * lib/xgetcwd.c: Likewise.
54874
54875         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
54876         (free): Remove decl.
54877
54878         * lib/strchrnul.c (strchrnul): Define with a prototype.
54879         Fix bug: c_in was not converted to char before searching.
54880
54881         The following changes are not K&R related:
54882
54883         * lib/group-member.h: Include <sys/types.h>, so that this file is
54884         self-contained.
54885         * lib/makepath.h: Likewise.
54886
54887         * lib/getusershell.c (readname, default_index, line_size, readname):
54888         Use size_t, not int, for sizes.
54889         (readname): If the size overflows, report an error instead of
54890         looping forever.
54891
54892 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54893
54894         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
54895         libc.
54896
54897 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54898
54899         * README: New section: portability guidelines.
54900
54901 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
54902
54903         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
54904         C89 spec.
54905
54906 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
54907
54908         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
54909
54910 2003-09-08  Paul Eggert  <eggert@twinsun.com>
54911
54912         Assume C89 or better; remove K&R cruft.
54913         A few of these changes were first proposed by Derek Robert Price
54914         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
54915
54916         * lib/addext.c: Include <string.h> unconditionally.
54917         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
54918         Don't declare getenv or malloc.
54919
54920         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
54921         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
54922         (NULL): Remove.
54923         (find_stack_direction, alloca): Use prototypes.
54924
54925         * lib/atexit.c (atexit): Define using a prototype.
54926
54927         * lib/basename.c, dirname.c, stripslash.c:
54928         Include <string.h> unconditionally.
54929
54930         * lib/bcopy.c: Include <stddef.h>.
54931         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
54932
54933         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
54934
54935         * lib/error.h (error, error_at_line, error_print_progname)
54936         [! (defined (__STDC__) && __STDC__)]: Remove decls.
54937         * lib/error.c: Include error.h first, to check interface.
54938         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
54939         (VA_START): Remove; all uses changeed to va_start.
54940         (exit, strerror): Remove decls.
54941         (error_print_progname): Prototype uncondionally.
54942         Don't include <errno.h>; no longer needed.
54943         (private_strerror): Remove.
54944         (error_tail): Always define.
54945         (error, error_at_line): Assume C89 or better; always use prototypes.
54946         * lib/fatal.c: Include "fatal.h" first, to test interface.
54947         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
54948         (VA_START): Remove; all uses changed to va_start.
54949         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
54950         this case.
54951         (exit): Remove decl.
54952         (fatal): Prototype unconditionally.  Assume va_start works.
54953         Abort at end, to pacify gcc.
54954
54955         * lib/euidaccess.c (main): Define with a prototype.
54956
54957         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
54958
54959         * lib/exitfail.c: Include <stdlib.h> unconditionally.
54960
54961         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
54962         prototypes.
54963         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
54964         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
54965         (getenv): Remove decl.
54966         (fnmatch): Define using a prototype.
54967         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
54968         (FCT): Define using a prototype.
54969
54970         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
54971
54972         * lib/gethostname.c: Include <stddef.h>.
54973         (gethostname): Define with prototype.  Length is size_t, not int.
54974
54975 2003-09-08  Paul Eggert  <eggert@twinsun.com>
54976
54977         Assume C89 or better; remove K&R cruft.
54978         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
54979         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
54980         string.h, getenv, malloc.
54981         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
54982         headers.
54983         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
54984         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
54985         do not check for strerror.
54986         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
54987         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
54988         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
54989         do not check for doprnt or vprintf.
54990         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
54991         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
54992
54993 2003-09-08  Paul Eggert  <eggert@twinsun.com>
54994
54995         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
54996         getversion.c should have been removed then, but was accidentally
54997         preserved.
54998
54999         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
55000         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
55001
55002 2003-09-08  Karl Berry  <karl@gnu.org>
55003
55004         * config/config.sub, config.guess, srclistvars.sh: update from savannah
55005                 config, forget about prep.
55006
55007         * config/depcomp, missing: update from automake.
55008
55009 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55010
55011         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
55012         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55013
55014 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55015
55016         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
55017         copy_tm_result.  Bug reported by Simon Josefsson in
55018         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55019
55020 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55021
55022         * m4/time_r.m4: New file.
55023         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
55024         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
55025         is. Check for timegm declaration.
55026         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
55027         Do not check for gmtime_r.
55028         Replace mktime if __mktime_internal does not exist and if mktime
55029         hasn't been replaced already.
55030
55031 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55032
55033         * lib/time_r.c, lib/time_r.h: New files.
55034
55035         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
55036         __localtime_r.
55037         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
55038         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
55039
55040         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
55041         __gmtime_r.
55042         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
55043         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
55044         Include <time_r.h>.
55045
55046         * lib/timegm.c: Switch to glibc implementation, with the following
55047         changes:
55048         [defined HAVE_CONFIG_H]: Include <config.h>.
55049         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
55050         (__mktime_internal) [!defined _LIBC]: New decl.
55051         (__gmtime_r) [!defined _LIBC]: New macro and function.
55052         (timegm): Use a prototype, since gnulib assumes C89.
55053         Do not bother declaring tmp to be const, as it's not really usefu.
55054         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
55055         (timegm): Declare only if HAVE_DECL_TIMEGM.
55056
55057 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55058
55059         * MODULES.html.sh (func_all_modules): Add time_r.
55060         * modules/time_r: New file.
55061         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
55062         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
55063
55064 2003-09-03  Paul Eggert  <eggert@twinsun.com>
55065
55066         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
55067         Bug reported by Lute Kamstra in
55068         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
55069
55070         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
55071         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
55072         course with correspondingly smaller numbers for tomorrow and
55073         yesterday.  From Tadayoshi Funaba.  Originally installed into
55074         sh-utils on 1999-08-07, but the patch got lost (I guess during the
55075         coreutils merge?).
55076
55077 2003-08-31  Simon Josefsson  <jas@extundo.com>
55078
55079         * modules/timegm: New file.
55080         * MODULES.html.sh (func_all_modules): Add timegm.
55081
55082 2003-08-31  Simon Josefsson  <jas@extundo.com>
55083
55084         * m4/timegm.m4: New file.
55085
55086 2003-08-31  Simon Josefsson  <jas@extundo.com>
55087
55088         * lib/timegm.h: New file.
55089         * lib/timegm.c: New file.  Based on
55090         wget-1.8.2/src/http.c:mktime_from_utc.
55091
55092 2003-08-31  Karl Berry  <karl@gnu.org>
55093
55094         * lib/argp.h: update from libc.
55095
55096 2003-08-28  Bruno Haible  <bruno@clisp.org>
55097
55098         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
55099         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
55100         followed by '#define fnmatch fnmatch_posix' gives an error.
55101
55102 2003-08-28  Bruno Haible  <bruno@clisp.org>
55103
55104         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
55105         warning on QNX, which defines O_BINARY to 000000.
55106
55107 2003-08-27  Jim Meyering  <jim@meyering.net>
55108
55109         * m4/mkstemp.m4: Require that the system mkstemp be able to create
55110         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
55111         would fail after 32.  Reported by Danny Levinson.  Details here:
55112         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
55113
55114 2003-08-24  Bruno Haible  <bruno@clisp.org>
55115
55116         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
55117         MSVC7 <stdio.h> is included later.
55118
55119 2003-08-22  Simon Josefsson  <jas@extundo.com>
55120
55121         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
55122
55123 2003-08-20  Karl Berry  <karl@gnu.org>
55124
55125         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
55126
55127 2003-08-20  Bruno Haible  <bruno@clisp.org>
55128
55129         * modules/progname: New file.
55130         * MODULES.html.sh (func_all_modules): Add progname.
55131
55132 2003-08-20  Bruno Haible  <bruno@clisp.org>
55133
55134         * lib/progname.h: New file, from GNU gettext.
55135         * lib/progname.c: New file, from GNU gettext.
55136         * lib/progreloc.c: New file, from GNU gettext.
55137
55138 2003-08-19  Jim Meyering  <jim@meyering.net>
55139
55140         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
55141         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
55142
55143 2003-08-19  Bruno Haible  <bruno@clisp.org>
55144
55145         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
55146         more.
55147
55148 2003-08-19  Bruno Haible  <bruno@clisp.org>
55149
55150         * lib/xstrdup.c: Assume <string.h> exists.
55151
55152 2003-08-18  Paul Eggert  <eggert@twinsun.com>
55153
55154         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
55155         in makefile rules.
55156
55157 2003-08-18  Jim Meyering  <jim@meyering.net>
55158
55159         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
55160         * m4/lib-ld.m4: Likewise.
55161
55162 2003-08-18  Jim Meyering  <jim@meyering.net>
55163
55164         * lib/setenv.h: Indent nested cpp directive.
55165         * lib/vasnprintf.c: Remove trailing blanks.
55166
55167 2003-08-17  Simon Josefsson  <jas@extundo.com>
55168
55169         * modules/xstrndup: New file.
55170         * MODULES.html.sh (func_all_modules): Add xstrndup.
55171
55172 2003-08-17  Simon Josefsson  <jas@extundo.com>
55173
55174         * modules/argp: Fix autoconf macro name. Add more dependencies.
55175
55176 2003-08-17  Simon Josefsson  <jas@extundo.com>
55177
55178         * m4/xstrndup.m4: New file.
55179
55180 2003-08-17  Simon Josefsson  <jas@extundo.com>
55181
55182         * m4/argp.m4: New file.
55183
55184 2003-08-17  Simon Josefsson  <jas@extundo.com>
55185             Bruno Haible  <bruno@clisp.org>
55186
55187         * lib/xstrndup.h: New file.
55188         * lib/xstrndup.c: New file.
55189
55190 2003-08-17  Bruno Haible  <bruno@clisp.org>
55191
55192         * modules/strndup (Files, Include): Add lib/strndup.h.
55193
55194 2003-08-17  Bruno Haible  <bruno@clisp.org>
55195
55196         * modules/euidaccess (Files): Add lib/euidaccess.h.
55197
55198 2003-08-17  Bruno Haible  <bruno@clisp.org>
55199
55200         * lib/strndup.h: New file.
55201
55202 2003-08-17  Bruno Haible  <bruno@clisp.org>
55203
55204         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
55205         like AC_GNU_SOURCE.
55206         * modules/extensions (configure.ac): Comment out the invocation of
55207         gl_USE_SYSTEM_EXTENSIONS.
55208
55209 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55210
55211         Merges from coreutils, etc.
55212         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
55213         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
55214         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
55215         fixing a typo.
55216         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
55217         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
55218
55219 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55220
55221         Document merge from coreutils.
55222         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
55223         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
55224         * modules/utime: Add m4/utimes-null.m4.
55225
55226 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55227
55228         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
55229         space, undoing this 2003-08-12 change:
55230         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55231
55232 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55233
55234         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
55235         strtoul.c from libc, undoing this 2003-08-12 change:
55236         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55237
55238 2003-08-16  Jim Meyering  <jim@meyering.net>
55239
55240         Merges from coreutils.
55241         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
55242         prefix.  Adjust cache variables similarly.  Create 500 rather than
55243         just 300 files, to exercise bug on Darwin6.5, too.
55244         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
55245         $missing_dir.
55246         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
55247         AM_SYS_POSIX_TERMIOS.
55248         Reported by mkc@mathdogs.com.
55249         Also change use of $am_cv_sys_posix_termios
55250         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
55251         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
55252         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
55253         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
55254         in /proc/mounts until it finds one with matching device number.  This
55255         is unnecessary when the FILE argument *is* a mount point.  No stat call
55256         is necessary in that case.  So, disable the statvfs-testing code on
55257         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
55258         as RedHat bug# 84846.
55259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55260         to 1MB, so as not to render systems with no stack size limit (e.g.,
55261         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55262         Include <unistd.h>.  On some systems,
55263         it is required for the definition of _SC_PAGESIZE.
55264
55265 2003-08-16  Jim Meyering  <jim@meyering.net>
55266
55267         Merge from coreutils.
55268         * lib/xstrtoimax.c: #else #if -> #elif.
55269         * lib/xstrtoumax.c: Likewise.
55270
55271 2003-08-16  Jim Meyering  <jim@meyering.net>
55272
55273         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
55274         * m4/utimes.m4: Removed.
55275         * m4/utimes-null.m4: Renamed from utimes.m4.
55276
55277         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55278         to 1MB, so as not to render systems with no stack size limit (e.g.,
55279         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55280         Include <unistd.h>.  On some systems,
55281         it is required for the definition of _SC_PAGESIZE.
55282
55283 2003-08-16  Jim Meyering  <jim@meyering.net>
55284         and Paul Eggert  <eggert@cs.ucla.edu>
55285
55286         Merges from coreutils, etc.
55287
55288         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
55289         using the latest version from cvs.  This avoids problems with #line
55290         directives using a vendor (Sun) compiler.
55291         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
55292         Don't set GETGROUPS_LIB here; now it's
55293         done via getgroups.m4's wrapper function.
55294         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
55295         rather than just in sh-util/configure.in, so that the
55296         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
55297         same.
55298         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
55299         AC_FUNC_GETLOADAVG where to find getloadavg.c.
55300         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
55301         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
55302         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
55303         Remove code that is now done by the newly-required macros.
55304         Append $(EXEEXT) to DF_PROG.
55305         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
55306         Do not invoke or require the following here,
55307         since prereq.m4 or some gnulib .m4 now does this for us:
55308         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
55309         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
55310         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
55311         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
55312         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
55313         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
55314         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
55315         AC_FUNC_OBSTACK.
55316         Do not replace the following functions, as this is now the job
55317         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
55318         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
55319         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
55320         atexit getpass, strdup, getpagesize.
55321         Replace 'raise'.
55322         Do not check for the following functions, as this is now the job
55323         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
55324         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
55325         setregid.
55326         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
55327         Check for sys/sysctl.h.
55328         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
55329         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
55330         of checking for ssize_t ourselves.
55331
55332         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
55333         Require every macro that gnulib/modules/* suggests for us.
55334         (jm_PREREQ_ADDEXT): New macro.
55335         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
55336         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
55337
55338         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
55339         (gl_PHYSMEM): Use it.
55340         Also check for `table' function.
55341         Check for new headers and functions.
55342         Add check for sys/sysmp.h.
55343         With suggestions from Kaveh Ghazi.
55344         Ignore headers that are present but cannot be compiled.  This
55345         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
55346         C 5.4.
55347
55348 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55349
55350         Document merge from coreutils.
55351         * modules/userspec: Depend on posixver.
55352         * modules/strftime: Depend on tzset.
55353
55354 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55355
55356         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
55357         rather than tab, after '#' in shell-script copyright notices.
55358         Suggested by Bruno Haible.
55359
55360 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55361
55362         * config/srclist-update: Use three spaces, rather than tab, after '#'
55363         in shell-script copyright notices.  Suggested by Bruno Haible.
55364         Remove unnecessary parenthesization in regular expression.
55365
55366 2003-08-15  Jim Meyering  <jim@meyering.net>
55367
55368         Merge from coreutils.
55369         * lib/xgethostname.c: Include <stdlib.h>.
55370         (xghostname): Don't exit for anything other than memory-related
55371         failure; just return NULL.
55372         * lib/userspec.c: Include "posixver.h".
55373         (parse_user_spec): Accept `.' as a separator only
55374         in pre-POSIX-200112 mode.
55375         * lib/strtoimax.c: Use #elif rather than #else #if.
55376         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
55377         Remove function, now that we can rely on a working tzset function.
55378         [!_LIBC]: Ensure that the required autoconf test has been run.
55379         [!defined _NL_CURRENT && HAVE_STRFTIME]:
55380         Use underlying_strftime for %r.
55381         * lib/sha.c: Merge in some clean-up and optimization changes from
55382         glibc.
55383         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
55384         Ensure that it is a multiple of 64.
55385         Rearrange loop exit tests so as to avoid performing an
55386         additional fread after encountering an error or EOF.
55387         * lib/realloc.c: Update copyright date.
55388
55389 2003-08-15  Jim Meyering  <jim@meyering.net>
55390         and Paul Eggert  <eggert@twinsun.com>
55391
55392         Merge from coreutils.
55393         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
55394         member but strut utmpx does not.  Needed for AIX 4.3.3.
55395         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
55396
55397 2003-08-15  Jim Meyering  <jim@meyering.net>
55398         and Paul Eggert  <eggert@cs.ucla.edu>
55399
55400         Merges from coreutils, etc.
55401         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
55402         Require gl_FUNC_TZSET_CLOBBER.
55403         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
55404         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
55405         members.
55406
55407 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55408
55409         Help the merge from coreutils.
55410         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
55411         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
55412         * m4/tzset.m4: Use it too.
55413
55414 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55415
55416         * modules/tzset: New file.
55417
55418 2003-08-14  Jim Meyering  <jim@meyering.net>
55419
55420         Merges from coreutils.
55421         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
55422         variable names, rather than @FNMATCH_H@.
55423         * modules/alloca: Likewise for $(ALLOCA_H).
55424
55425         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
55426         the three copies of the literal target, `fnmatch.h'.
55427         * modules/alloca (alloca.h): Likewise.
55428
55429 2003-08-14  Jim Meyering  <jim@meyering.net>
55430
55431         Merge from coreutils.
55432         * m4/tzset.m4: New file.
55433         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
55434         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
55435         otherwise, AIX 5.1 systems would end up using the latter.
55436         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
55437         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
55438         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
55439         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
55440
55441 2003-08-14  Jim Meyering  <jim@meyering.net>
55442
55443         Merge from coreutils.
55444         * lib/obstack.h: Whitespace changes.
55445         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
55446         and xcalloc return values.
55447         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
55448         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
55449         hang on OSF/1 5.1 for DIR on both local and remote file systems.
55450         Reported by (and fix confirmed by) Nelson H. F. Beebe.
55451         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
55452         error from mntctl.
55453         Use mntctl's return value to drive the entry-processing loop, since
55454         we can't rely on the value of the vmt_length member in the last
55455         entry.  On some systems doing so could result in exhausting
55456         virtual memory.  Based in part on a patch from Mike Jetzer.
55457
55458 2003-08-14  Jim Meyering  <jim@meyering.net>
55459         and Paul Eggert  <eggert@twinsun.com>
55460
55461         Merges from coreutils, plus other fixes.
55462         * lib/physmem.c: Merge in portability changes from gcc/libiberty
55463         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
55464         for credits and details.  Thanks to Kaveh Ghazi for helping
55465         to keep these files in sync.
55466         (ARRAY_SIZE): Define it.
55467         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
55468         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
55469         (memcasecmp): Don't assume size_t fits in unsigned int.
55470         Remove casts and duplicate code.
55471         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
55472         (memcpy): Remove definition.
55473         Merge in some clean-up and optimization changes from glibc.
55474         [BLOCKSIZE]: Move definition to top of file.
55475         Ensure that it is a multiple of 64.
55476         Rearrange loop exit tests so as to avoid performing an
55477         additional fread after encountering an error or EOF.
55478         * lib/md5.h (md5_uintptr): Define.
55479         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
55480         return to the initial working directory.  Preserve errno
55481         for caller.
55482         * lib/idcache.c: Include "xalloc.h".
55483         (xmalloc, xrealloc): Remove decls.
55484         (getuser): Remove casts no longer required in C89.
55485         * lib/human.c: Include stdio.h, for sprintf.
55486         * lib/group-member.c: Include "xalloc.h".
55487         (xmalloc, xrealloc): Remove decls.
55488         (get_group_info): Remove casts no longer required in C89.
55489         * lib/getusershell.c (readname): Remove casts no longer required in
55490         C89.
55491         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
55492         * lib/getline.c: Whitespace fix, from coreutils.
55493
55494 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55495
55496         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
55497         Check for isascii.
55498
55499         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55500         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55501         Undo previous (whitespace-only) change.
55502
55503 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55504
55505         * lib/exclude.c: Include <ctype.h>
55506         (IN_CTYPE_DOMAIN): New macro.
55507         (is_space): New fn.
55508         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
55509         and empty lines.
55510
55511         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55512         Undo previous (whitespace-only) change.
55513
55514 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55515
55516         * config/srclist-update: Change update back to the old behavior,
55517         leaving whitespace alone.  Use one 'sed' command rather than a
55518         pipeline.
55519         (fixlicense): Now a variable, not a function.
55520         (remove_trailing_blanks): Remove.
55521         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
55522         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55523         Undo previous (whitespace-only) change.
55524
55525 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55526
55527         Merge from coreutils.
55528         * modules/euidaccess: Add lib_SOURCES, include for new
55529         file euidaccess.h
55530
55531 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55532
55533         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55534         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55535         Normalize leading white space and remove trailing white space.
55536
55537         Merge from coreutils
55538         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
55539
55540         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
55541         0.12.1.  These files are now being upgraded automatically by
55542         ../config/srclist-update.
55543
55544 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55545
55546         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55547         Normalize leading white space and remove trailing white space.
55548         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
55549         notice, as per ../config/srclist-update.
55550
55551         Merge from coreutils.
55552         * lib/euidaccess.h: New file.
55553         * lib/euidaccess.c: Include it.
55554         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
55555         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
55556         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
55557
55558 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55559
55560         * config/srclist-update: Add copyright notice.
55561         (remove_id_lines, remove_trailing_blanks): New constants.
55562         (fixfile): Use them to normalize spacing a bit in copied files.
55563         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55564         Normalize leading white space and remove trailing white space.
55565
55566         * config/texinfo.tex: Sync with texinfo.
55567
55568         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
55569         strtoul.c from libc, to merge coreutils whitespace changes.
55570
55571         * config/srclist.txt: Get the following m4 files from gettext:
55572         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
55573         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
55574         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
55575         wint_t.m4.
55576
55577 2003-08-12  Karl Berry  <karl@gnu.org>
55578
55579         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
55580         been made.
55581
55582 2003-08-11  Paul Eggert  <eggert@twinsun.com>
55583
55584         * modules/gnu-source, m4/gnu-source.m4:
55585         Remove; we're assuming Autoconf 2.54 or later now.
55586         Suggested by Bruno Haible.
55587         * MODULES.html.sh (func_all_modules): Remove gnu-source.
55588
55589 2003-08-11  Bruno Haible  <bruno@clisp.org>
55590
55591         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
55592
55593 2003-08-11  Bruno Haible  <bruno@clisp.org>
55594
55595         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
55596         (vasnprintf): Use it instead of wcslen.
55597
55598 2003-08-11  Bruno Haible  <bruno@clisp.org>
55599
55600         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
55601         value to ensure that _Bool promotes to int. Use #define for _Bool when
55602         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
55603
55604 2003-08-10  Karl Berry  <karl@gnu.org>
55605
55606         * lib/regex.h: update from libc (whitespace fix).
55607
55608 2003-08-09  Paul Eggert  <eggert@twinsun.com>
55609
55610         Merge some files from coreutils.  These changes were
55611         originally made by Jim Meyering.
55612         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
55613         many older Unixes require this.
55614         * lib/alloca.c (alloca): Remove cast to argument of free;
55615         no longer needed in C89.
55616         * lib/alloca_.h, regex.h: Fix white space to match
55617         what GNU indent does.
55618
55619 2003-08-09  Paul Eggert  <eggert@twinsun.com>
55620
55621         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
55622         apparently Emacs's Unicode mode got confused before my 2003-08-05
55623         checkin.
55624
55625 2003-08-08  Paul Eggert  <eggert@twinsun.com>
55626
55627         * m4/extensions.m4: New file.
55628         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
55629         Require gl_USE_SYSTEM_EXTENSIONS.
55630         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
55631         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
55632
55633 2003-08-08  Paul Eggert  <eggert@twinsun.com>
55634
55635         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
55636         * modules/extensions, modules/gnu-source: New files.
55637         * modules/timespec, modules/unlocked-io: Depend on extensions.
55638
55639 2003-08-07  Paul Eggert  <eggert@twinsun.com>
55640
55641         * modules/restrict: New file.
55642         * MODULES.html.sh (func_all_modules): Add restrict.
55643         * modules/regex: Depend on restrict.
55644
55645 2003-08-07  Paul Eggert  <eggert@twinsun.com>
55646
55647         * m4/restrict.m4: New file.
55648         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
55649
55650 2003-08-07  Bruno Haible  <bruno@clisp.org>
55651
55652         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
55653         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
55654
55655 2003-08-07  Bruno Haible  <bruno@clisp.org>
55656
55657         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
55658         makes the module 'getndelim2' compatible with the module 'getline'.
55659
55660 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55661
55662         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
55663         byte with "\201" to avoid glitches when editing that source file
55664         with multi-gnome-terminal.
55665
55666 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55667
55668         * lib/bumpalloc.h: Remove.
55669
55670 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55671
55672         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
55673         * modules/bumpalloc: Remove.
55674
55675 2003-08-04  Paul Eggert  <eggert@twinsun.com>
55676
55677         * lib/getloadavg.c: Change copyright notice and spacing to conform to
55678         GNU coding style.
55679
55680         Merge from coreutils.
55681         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
55682         1. From glibc.
55683         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
55684         from Karl Berry, implemented by Jim Meyering.
55685         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
55686         from Dmitry V. Levin.
55687         Remove anachronistic cast of xrealloc.
55688         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
55689         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
55690         type. Otherwise, it wouldn't compile with at least /bin/cc on
55691         ymp-cray-unicos9.0.2.X.
55692         Combine two mostly-identical uses of alloca into one.
55693         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
55694
55695 2003-08-04  Dave Love  <d.love@dl.ac.uk>
55696
55697         [From Emacs.]
55698
55699         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
55700         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
55701         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
55702         obsolete NLIST_NAME_UNION.
55703         [__GNU__]: Undef BSD and FSCALE.
55704         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
55705
55706 2003-08-03  Paul Eggert  <eggert@twinsun.com>
55707
55708         * lib/stdbool_.h (_Bool): Make it signed char, instead of
55709         an enum type, so that it's guaranteed to promote to int.  See:
55710         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
55711
55712 2003-08-03  Karl Berry  <karl@gnu.org>
55713
55714         * config/depcomp: update from automake.
55715
55716 2003-07-31  Paul Eggert  <eggert@twinsun.com>
55717
55718         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
55719         (strerror): Don't assume that a printable int fits in 14 bytes.
55720
55721 2003-07-31  Bruno Haible  <bruno@clisp.org>
55722
55723         * modules/getpass-gnu: New file.
55724         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
55725
55726 2003-07-31  Bruno Haible  <bruno@clisp.org>
55727
55728         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
55729
55730 2003-07-24  Karl Berry  <karl@gnu.org>
55731
55732         * config/missing: update from automake.
55733
55734 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
55735             Bruno Haible  <bruno@clisp.org>
55736
55737         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
55738         * lib/getline.c (getline, getdelim): Likewise.
55739         Remove _GNU_SOURCE define; now it's defined in config.h through
55740         m4/getline.m4.
55741
55742 2003-07-23  Karl Berry  <karl@gnu.org>
55743
55744         * config/config.sub: update from prep.
55745
55746 2003-07-22  Paul Eggert  <eggert@twinsun.com>
55747
55748         * modules/xalloc (Depends-on): Add exitfail.
55749         * modules/xmemcoll: Likewise.
55750
55751 2003-07-22  Paul Eggert  <eggert@twinsun.com>
55752
55753         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
55754         over-parenthesization in macros.
55755
55756         Sync with coreutils.
55757
55758         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
55759         required by C99.
55760
55761         Use `exit_failure' for xalloc and xmemcoll instead of their own
55762         private exit-failure variables.
55763         * lib/xalloc.h (xalloc_exit_failure): Remove.
55764         * lib/xmalloc.c: Likewise.  Include exitfail.h.
55765         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
55766         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
55767         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
55768         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
55769
55770 2003-07-20  Jim Meyering  <jim@meyering.net>
55771
55772         * modules/closeout (Depends-on): Add exitfail.
55773         Suggestion from Bruno Haible.
55774
55775 2003-07-19  Karl Berry  <karl@gnu.org>
55776
55777         * config/config.sub: update from prep.
55778
55779 2003-07-18  Paul Eggert  <eggert@twinsun.com>
55780
55781         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
55782         Remove.
55783         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
55784         to test that it can stand by itself.  Include "exitfail.h".
55785         Clients should set exit_failure instead.
55786         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
55787
55788 2003-07-18  Bruno Haible  <bruno@clisp.org>
55789
55790         * modules/getndelim2: New file.
55791         * modules/getline: Share files with module getndelim2.
55792         * modules/getnline: Depend on getndelim2 instead of sharing files with
55793         it. Add getnline.c to lib_SOURCES.
55794         * MODULES.html.sh (func_all_modules): Add getndelim2.
55795
55796 2003-07-18  Bruno Haible  <bruno@clisp.org>
55797
55798         * m4/getndelim2.m4: New file.
55799         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
55800         invoke gl_PREREQ_GETNDELIM2.
55801         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
55802         gl_PREREQ_GETNDELIM2.
55803         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
55804         gl_GETNDELIM2.
55805
55806 2003-07-18  Bruno Haible  <bruno@clisp.org>
55807
55808         * lib/getndelim2.h: New file.
55809         * lib/getndelim2.c: Make into a module of its own. Include config.h,
55810         getndelim2.h.
55811         (getndelim2): Make non-static. Change return type to ssize_t.
55812         * lib/getline.h: Change argument names.
55813         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
55814         * lib/getnline.c: Include getndelim2.h.
55815
55816 2003-07-18  Andreas Schwab  <schwab@suse.de>
55817
55818         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
55819
55820 2003-07-17  Karl Berry  <karl@gnu.org>
55821
55822         * config/config.sub: update from prep.
55823
55824 2003-07-17  Bruno Haible  <bruno@clisp.org>
55825
55826         * modules/getnline: New file.
55827         * modules/getline: Add lib/getndelim2.c to source file list.
55828         * MODULES.html.sh (func_all_modules): Add getnline.
55829
55830 2003-07-17  Bruno Haible  <bruno@clisp.org>
55831
55832         * m4/getnline.m4: New file.
55833
55834 2003-07-17  Bruno Haible  <bruno@clisp.org>
55835
55836         * m4/Makefile.am.in: Remove file.
55837         * m4/Makefile.am: Remove file.
55838         * m4/Makefile.in: Remove file.
55839
55840 2003-07-17  Bruno Haible  <bruno@clisp.org>
55841
55842         * lib/getnline.h: New file.
55843         * lib/getnline.c: New file.
55844         * lib/getndelim2.c: New file, extracted from getline.c.
55845         (getndelim2): Renamed from getdelim2, with added nmax argument.
55846         * lib/getline.c: Include getndelim2.c.
55847         (getdelim2): Moved out to getndelim2.c.
55848         (getline, getdelim): Update.
55849
55850 2003-07-17  Bruno Haible  <bruno@clisp.org>
55851
55852         * lib/Makefile.am: Remove file.
55853         * lib/Makefile.in: Remove file.
55854
55855 2003-07-17  Bruno Haible  <bruno@clisp.org>
55856
55857         * configure.in: Remove file.
55858         * Makefile.in: Remove file.
55859
55860 2003-07-17  Bruno Haible  <bruno@clisp.org>
55861
55862         * MODULES.html.sh: Put the </BODY> right before </HTML>.
55863
55864 2003-07-16  Karl Berry  <karl@gnu.org>
55865
55866         * config/srclist-update: was running fixlicense twice, which caused
55867                 texinfo.tex to be nullified for some reason.  Simplify,
55868                 $gplsrc is no longer needed as far as I can see?
55869
55870 2003-07-16  Jim Meyering  <jim@meyering.net>
55871
55872         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
55873
55874 2003-07-15  Paul Eggert  <eggert@twinsun.com>
55875
55876         * config/srclist.txt: Get the following files from gettext-runtime/intl
55877         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
55878         ref-del.sin.  From Bruno Haible.
55879         * config/srclist-update (fixfile): Change grep pattern again, since the
55880         previous fix didn't work (there was another trailing $).  Use
55881         '[$]' to escape the $s.
55882
55883 2003-07-15  Karl Berry  <karl@gnu.org>
55884
55885         * lib/vasnprintf.c: update from gettext.
55886
55887 2003-07-15  Karl Berry  <karl@gnu.org>
55888
55889         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
55890         gets expanded when surrounded by '$'.
55891
55892 2003-07-15  Jim Meyering  <jim@meyering.net>
55893
55894         * modules/save-cwd: Don't depend on error.  From Derek Price.
55895
55896 2003-07-15  Jim Meyering  <jim@meyering.net>
55897
55898         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
55899
55900 2003-07-14  Simon Josefsson  <jas@extundo.com>
55901
55902         * modules/mempcpy: New file.
55903         * MODULES.html.sh (func_all_modules): Add mempcpy.
55904
55905 2003-07-14  Simon Josefsson  <jas@extundo.com>
55906
55907         * m4/mempcpy.m4: New file.
55908
55909 2003-07-14  Simon Josefsson  <jas@extundo.com>
55910
55911         * lib/mempcpy.h: New file.
55912         * lib/mempcpy.c: New file.
55913
55914 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55915
55916         * modules/getdate, modules/posixtm: Depend on mktime.
55917
55918 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55919
55920         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
55921         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
55922         unicodeio.c, unicodeio.h, unlocked-io.h:
55923         Switch from LGPL to GPL.
55924
55925 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55926
55927         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
55928         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
55929         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
55930         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
55931         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
55932         updated automatically by ../config/srclist-update.  This changes
55933         their license from LPGL to GPL.
55934
55935 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55936
55937         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
55938         assumed to refer to the root of the most recent stable gettext version.
55939         * config/srclistvars.sh: Add defaults for eggert.
55940         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
55941         Match "This program" as well as "The program".  This is needed
55942         for gettext.
55943
55944 2003-07-14  Jim Meyering  <jim@meyering.net>
55945
55946         Don't emit diagnostics.  Let callers do that.
55947         * lib/save-cwd.c: Don't include "error.h".
55948         (save_cwd): Don't call error.  Ensure that errno is valid
55949         when returning nonzero.
55950
55951         * lib/save-cwd.h (restore_cwd): Update prototype.
55952         * lib/save-cwd.c (restore_cwd): Remove two parameters.
55953         Simplify.  Don't call error upon failure.  Let callers do that.
55954         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
55955         when auditing is enabled.  But don't bother updating the #if.
55956
55957 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
55958
55959         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
55960         it breaks C++ compilation.
55961         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
55962
55963 2003-07-10  Simon Josefsson  <jas@extundo.com>
55964
55965         * modules/strchrnul (Makefile.am): Add strchrnul.h.
55966
55967 2003-07-10  Jim Meyering  <jim@meyering.net>
55968
55969         * m4/clock_time.m4: Remove trailing blank.
55970         * m4/intmax_t.m4: Likewise.
55971
55972 2003-07-10  Jim Meyering  <jim@meyering.net>
55973
55974         * lib/vasnprintf.c: Remove trailing blanks.
55975         Make cpp indentation consistent.
55976
55977 2003-07-09  Paul Eggert  <eggert@twinsun.com>
55978
55979         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
55980         posixver.c, strftime.c, strnlen.c, strverscmp.c:
55981         Switch from LGPL to GPL.
55982
55983 2003-07-09  Paul Eggert  <eggert@twinsun.com>
55984
55985         * config/srclist.txt: Sort sublists.  Add
55986         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
55987         that differ from gnulib for one reason or another; we'd like this list
55988         to be smaller but for now let's document what we have.
55989
55990 2003-07-08  Paul Eggert  <eggert@twinsun.com>
55991
55992         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
55993         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
55994         and sweeter "eval x=$x".
55995         * config/srclist.txt: Get lib/argp* from glibc.
55996
55997 2003-07-07  Paul Eggert  <eggert@twinsun.com>
55998
55999         * lib/mktime.c: Fix some boundary cases and remove need for floating
56000         point.
56001
56002         Issue a compile-time diagnostic if time_t is floating point, or if
56003         two's complement arithmetic is not in effect, or if arithmetic
56004         right shift does not propagate the sign.  These assumptions were
56005         all in the original code but they weren't checked.
56006
56007         (TIME_T_MIDPOINT, verify): New macros.
56008         (__isleap): Remove; it has integer overflow problems.
56009         (leapyear): New function, without those problems.
56010         (ydhms_tm_diff): Remove; splitting into two parts.
56011         (ydhms_diff): New function, containing the arithmetic part of
56012         the old ydhms_tm_diff function.  Issue a compile-time
56013         diagnostic if we are not using C99 integer division.
56014         Avoid casts when possible.
56015         (guess_time_tm): New function, containing the checking part of
56016         the old ydhms_tm_diff function.  Return the new value, rather than
56017         the difference between it and the old.  Accept a new argument T
56018         so that *T specifies the old value.  Check for overflow in the result.
56019
56020         (__mktime_internal): Use a time_t offset, not a long int offset.
56021         This undoes the 2003-06-04 change, which is no longer needed now
56022         that we have better overflow checking.
56023         (localtime_offset): Likewise.
56024
56025         (__mktime_internal): Avoid harmful overflow on hosts where time_t
56026         and long are 64-bit but int is only 32-bit.
56027         (ydhms_diff): Use long int to store year1 and yday1.
56028         Issue a compile-time diagnostic if long int is not wide enough.
56029
56030         (__mktime_internal): Use long int to store adjusted year and yday.
56031         Use plain C rather than preprocessor commands, if that doesn't
56032         affect efficiency.
56033         Check for overflow (and try to repair) after each probe
56034         rather than checking only at the very end.  This avoids some bugs
56035         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
56036         does not equal GMT offset at maximum time).
56037         Use integer to check for overflow rather than floating point; this
56038         is more portable to non-IEEE hosts, and is a tad faster.
56039         When we detect that we are oscillating between two values,
56040         don't check whether tm_isdst has the requested value, since
56041         we already know the answer.  When tm_isdst has the wrong value,
56042         use a different heuristic to find the right one, based on the
56043         extreme values actually observed in practice in tz2003a,
56044         rather than the (overly optimistic) "previous 3 calendar quarters".
56045
56046         (not_equal_tm, print_tm, check_result): Use "const T" rather than
56047         "T const" to accommodate glibc style.
56048         (check_result): Use less-confusing report format.  "long" -> "long int.
56049         (main): Likewise.
56050         Don't loop if the iteration overflows time_t.
56051         Allow a negative step in the iteration.
56052
56053 2003-07-06  Karl Berry  <karl@gnu.org>
56054
56055         * config/depcomp: update from automake.
56056         * config/config.sub: update from prep.
56057
56058 2003-07-03  Karl Berry  <karl@gnu.org>
56059
56060         * config/config.guess: update from prep.
56061
56062 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56063
56064         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
56065         xreadlink.c now includes it unconditionally.
56066
56067 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56068
56069         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
56070         having it depend on HAVE_SYS_TYPES_H.
56071
56072 2003-07-01  Bruno Haible  <bruno@clisp.org>
56073
56074         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
56075         <sys/types.h> should be sufficient.
56076         Reported by Paul Eggert.
56077
56078 2003-06-26  Karl Berry  <karl@gnu.org>
56079
56080         * config/depcomp: update from automake.
56081
56082 2003-06-26  Bruno Haible  <bruno@clisp.org>
56083
56084         * modules/human: Depend on module stdbool.
56085
56086 2003-06-25  Bruno Haible  <bruno@clisp.org>
56087
56088         * modules/readlink: New file.
56089         * modules/xreadlink: Depend on it.
56090         * MODULES.html.sh (func_all_modules): Add readlink.
56091
56092 2003-06-25  Bruno Haible  <bruno@clisp.org>
56093
56094         * m4/readlink.m4: New file.
56095
56096 2003-06-25  Bruno Haible  <bruno@clisp.org>
56097
56098         * lib/readlink.c: New file.
56099
56100 2003-06-22  Karl Berry  <karl@gnu.org>
56101
56102         * config/srclist.txt: update mkinstalldirs from automake.
56103         * config/mkinstalldirs: update.
56104
56105 2003-06-22  Bruno Haible  <bruno@clisp.org>
56106
56107         Portability to mingw32.
56108         * m4/ssize_t.m4: New file, from GNU gettext.
56109         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
56110         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
56111
56112 2003-06-22  Bruno Haible  <bruno@clisp.org>
56113
56114         * modules/safe-read: Add m4/ssize_t.m4.
56115         * modules/xreadlink: Add m4/ssize_t.m4.
56116
56117 2003-06-20  Bruno Haible  <bruno@clisp.org>
56118
56119         Assume C89, so PARAMS isn't needed.
56120         * lib/unicodeio.h (PARAMS): Remove.
56121         * lib/unicodeio.c: Don't use PARAMS.
56122
56123 2003-06-18  Karl Berry  <karl@gnu.org>
56124
56125         * config/config.{guess,sub}: update from prep.
56126
56127 2003-06-18  Jim Meyering  <jim@meyering.net>
56128
56129         Merge changes from coreutils.
56130         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
56131         Remove explicit declarations of xmalloc and realloc.
56132         Include xalloc.h.
56133         (read_utmp): Remove anachronistic cast of xmalloc.
56134
56135 2003-06-17  Paul Eggert  <eggert@twinsun.com>
56136
56137         Assume C89, so PARAMS isn't needed.
56138         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
56139         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
56140         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
56141         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
56142         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
56143         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
56144         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
56145         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
56146         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
56147         lib/xstrtod.h, lib/xstrtol.h: Likewise.
56148         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
56149         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
56150         no longer needed. Anyway, config.h should always be included before any
56151         other file.
56152
56153 2003-06-11  Simon Josefsson  <jas@extundo.com>
56154
56155         * modules/sysexits: New file.
56156         * MODULES.html.sh (func_all_modules): Add sysexits.
56157
56158 2003-06-11  Simon Josefsson  <jas@extundo.com>
56159
56160         * lib/sysexit_.h: New file.
56161
56162 2003-06-11  Derek Price  <derek@ximbiot.com>
56163
56164         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
56165         necessary.
56166
56167 2003-06-11  Bruno Haible  <bruno@clisp.org>
56168
56169         * m4/sysexits.m4: New file.
56170
56171 2003-06-10  Simon Josefsson  <jas@extundo.com>
56172
56173         * lib/argp.h: New file, from glibc.
56174         * lib/argp-ba.c: New file, from glibc.
56175         * lib/argp-eexst.c: New file, from glibc.
56176         * lib/argp-fmtstream.c: New file, from glibc.
56177         * lib/argp-fmtstream.h: New file, from glibc.
56178         * lib/argp-fs-xinl.c: New file, from glibc.
56179         * lib/argp-help.c: New file, from glibc.
56180         * lib/argp-namefrob.h: New file, from glibc.
56181         * lib/argp-parse.c: New file, from glibc.
56182         * lib/argp-pv.c: New file, from glibc.
56183         * lib/argp-pvh.c: New file, from glibc.
56184         * lib/argp-xinl.c: New file, from glibc.
56185
56186 2003-06-10  Simon Josefsson  <jas@extundo.com>
56187
56188         * modules/strchrnul: New file.
56189
56190 2003-06-10  Simon Josefsson  <jas@extundo.com>
56191
56192         * modules/argp: New file.
56193
56194 2003-06-10  Simon Josefsson  <jas@extundo.com>
56195
56196         * m4/strchrnul.m4: New file.
56197
56198 2003-06-10  Simon Josefsson  <jas@extundo.com>
56199
56200         * lib/strchrnul.h: New file.
56201         * lib/strchrnul.c: New file.
56202
56203 2003-06-10  Bruno Haible  <bruno@clisp.org>
56204
56205         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
56206
56207 2003-06-07  Karl Berry  <karl@gnu.org>
56208
56209         * config/config.{guess,sub}: update from prep.
56210
56211 2003-06-07  Jim Meyering  <jim@meyering.net>
56212
56213         * modules/strtod: Use $(...) notation, not @...@ for
56214         AC_REPLACE'd variables.
56215         * modules/localcharset: Likewise.
56216
56217 2003-06-07  Jim Meyering  <jim@meyering.net>
56218
56219         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
56220         in place of my name in the copyright comment.
56221         Remove definition and uses of __P.
56222
56223         From coreutils.
56224         * lib/stat.c: Don't declare xmalloc explicitly.
56225         Instead, include "xalloc.h".
56226         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
56227         xrealloc, and xcalloc return values.
56228         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
56229         Improve comment.
56230         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
56231
56232 2003-06-07  Bruno Haible  <bruno@clisp.org>
56233
56234         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
56235         avoid AC_CONFIG_LINKS.
56236         * modules/fnmatch (Makefile.am): Use explicit creation rule for
56237         fnmatch.h, to avoid AC_CONFIG_LINKS.
56238         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
56239
56240 2003-06-07  Bruno Haible  <bruno@clisp.org>
56241
56242         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
56243         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
56244         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56245         directory.
56246         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
56247         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56248         directory.
56249
56250 2003-06-06  Jim Meyering  <jim@meyering.net>
56251
56252         Merge from coreutils.
56253         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
56254         Consolidate declarations and initializations of *_base* locals.
56255
56256         Merge from coreutils.
56257         This avoids a core dump on systems without GNU putenv,
56258         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
56259         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
56260         (unsetenv): New static function, from GNU libc.
56261         (rpl_putenv): Use it.
56262
56263         * lib/modechange.c: Remove trailing blanks.
56264
56265         Merge from coreutils.
56266         * lib/fsusage.c: Remove declaration of statfs.
56267         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
56268
56269         * lib/posixtm.c: Include <stdbool.h> unconditionally.
56270
56271 2003-06-06  Jim Meyering  <jim@meyering.net>
56272
56273         * lib/stdbool_.h: Renamed from stdbool.h.in.
56274
56275 2003-06-06  Jim Meyering  <jim@meyering.net>
56276             Bruno Haible  <bruno@clisp.org>
56277
56278         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
56279         Adjust Makefile.am snippet not to redirect directly to target.
56280         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
56281
56282 2003-06-05  Paul Eggert  <eggert@twinsun.com>
56283
56284         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
56285         mismatch, look in future quarters as well as past.  This fixes a
56286         bug when processing fall-backwards gaps immediately after a long
56287         period of daylight-saving time.
56288
56289         * lib/mktime.c: Assume freestanding C89 or better.
56290         (HAVE_LIMITS_H): Remove.  Assume it's 1.
56291         (__P): Remove; not used.
56292         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
56293         (mktime, not_equal_tm, print_tm, check_result,
56294         main): Use prototypes.  Use const * where appropriate.
56295         (main): Fix typo in testing code that uncovered by above changes.
56296         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
56297
56298 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56299
56300         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
56301         locale.h, localeconv.  This merges changes from coreutils.
56302
56303         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
56304         It can be removed after the next Autoconf is released.
56305         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
56306         needed.
56307
56308 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56309
56310         * lib/mktime.c: Fix Debian bug 177940
56311         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
56312         (localtime_offset): Now long int, not time_t, because we want it
56313         to be guaranteed to be signed.  All uses changed.
56314         (__mktime_internal): If overflow would occur when adding offset,
56315         don't add it.
56316
56317         Merge 'human' changes from coreutils.  Rewrite to support
56318         locale-specific notations like thousands separators.
56319         * lib/human.c: Simplify authorship notice.
56320         Include human.h immediately after config.h.
56321         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
56322         <limits.h>: Do not include, since human.h does.
56323         (SIZE_MAX, UINTMAX_MAX): New macros.
56324         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
56325         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
56326         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
56327         (power_letter): Renamed from suffixes.
56328         (generate_suffix_backwards): Remove.
56329         (adjust_value): Now takes int style (because of human.h changes)
56330         and long double value (for greater precision on some platforms).
56331         (group_number): New function.
56332         (human_readable): Use it.  Use integer options, not enum.
56333         Put the options before the sizes in the arg list.
56334         Support all the new options.
56335         The old human_readable function has been removed;
56336         use inttostr.h instead.
56337         (human_readable, default_block_size, humblock):
56338         Use uintmax_t, not int, for block sizes.
56339         (human_readable_inexact, block_size_types): Remove.
56340         (block_size_opts): New constant.
56341         (human_options): Renamed from human_block_size, with new signature
56342         that allows block sizes up to UINTMAX_MAX.  All callers changed.
56343         * lib/human.h: Add copyright and authorship notice.
56344         Include <limits.h> and <stdbool.h> unconditionally.
56345         (PARAMS): Remove.  All uses removed.
56346         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
56347         (enum human_inexact_style): Remove tag; now a nameless enum.
56348         (human_floor, human_ceiling, human_round_to_even): Now have
56349         values 2, 0, 1 rather than -1, 1, 0.
56350         (human_group_digits, human_suppress_point_zero, human_autoscale,
56351         human_base_1024, human_SI, human_B): New constants.
56352         (human_readable_inexact, human_block_size): Remove.
56353         (human_readable): Size args are now uintmax_t, not int.
56354         (human_options): New decl.
56355
56356         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
56357         unnecessary now that we assume C89 or better.  This change
56358         imported from coreutils.
56359
56360         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56361         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
56362         in the 2003-05-30 sync from glibc.
56363
56364         .h files should stand alone, but we shouldn't include <sys/types.h>
56365         if we can get away with just <stddef.h>.
56366
56367         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
56368         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
56369         rather than <sys/types.h>, as we merely need size_t.
56370         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
56371         to get size_t.
56372         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
56373         Include <stdio.h>, to get FILE.
56374         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
56375         memcasecmp.h has included <stddef.h> and all we need is size_t.
56376         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
56377         our interface, instead of including <sys/types.h>
56378
56379 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56380
56381         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
56382         now, as glibc mktime is buggy on non-glibc systems.
56383
56384 2003-06-03  Karl Berry  <karl@gnu.org>
56385
56386         * config/config.sub: update from prep.
56387
56388 2003-06-02  Paul Eggert  <eggert@twinsun.com>
56389
56390         [from coreutils]
56391         Fix some minor time-related bugs with POSIX time arguments.
56392         Some valid time stamps were being rejected (notably -1, and
56393         time stamps before 1900 on 64-bit hosts).  And some invalid
56394         time stamps were being accepted, e.g. September 31.
56395
56396         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
56397         that we can return (time_t) -1 successfully.
56398         * lib/posixtm.c: Likewise.
56399         [HAVE_STDBOOL_H]: Include <stdbool.h>.
56400         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
56401         (t): Remove static var.
56402         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
56403         of static var.  All uses changed.
56404         (year): Do not reject years before 1900; they can occur with
56405         64-bit time_t.
56406         (posix_time_parse): Do not check for out-of-range components;
56407         that is now the caller's responsibility, since our checks were
56408         only approximations.
56409         (posixtime): Use mktime to check for out-of-range components,
56410         since it knows them exactly.
56411         If mktime returns (time_t) -1, check whether an error actually occurred
56412         by invoking localtime on -1.
56413         (main) [TEST_POSIXTIME]: Check for input data errors, and report
56414         posixtime failures better.
56415         Improve the test data (in comments only).
56416
56417 2003-06-02  Karl Berry  <karl@gnu.org>
56418
56419         * config/mkinstalldirs (version): new variable.
56420         (--version): new option.
56421         (usage): improve message.
56422
56423 2003-05-30  Karl Berry  <karl@gnu.org>
56424
56425         * lib/mktime.c: update from libc.
56426
56427 2003-05-30  Bruno Haible  <bruno@clisp.org>
56428
56429         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
56430         * config/config.rpath: Upgrade to gettext-0.12.1.
56431
56432 2003-05-30  Bruno Haible  <bruno@clisp.org>
56433
56434         * m4/gettext.m4: Upgrade to gettext-0.12.1.
56435         * m4/nls.m4: New file, from gettext-0.12.1.
56436         * m4/po.m4: New file, from gettext-0.12.1.
56437         * m4/progtest.m4: Upgrade to gettext-0.12.1.
56438
56439 2003-05-30  Bruno Haible  <bruno@clisp.org>
56440
56441         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
56442         * lib/localcharset.h: Likewise.
56443         * lib/localcharset.c: Likewise.
56444
56445 2003-05-29  Karl Berry  <karl@gnu.org>
56446
56447         * config/config.rpath: update from gettext.
56448
56449 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56450
56451         Assume the headers required for C89 freestanding compilers.
56452         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
56453         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
56454         * m4/human.m4 (gl_HUMAN): Likewise.
56455         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
56456         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
56457         * m4/userspec.m4 (gl_USERSPEC): Likewise.
56458         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
56459         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56460         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
56461
56462 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56463
56464         Assume the headers required for C89 freestanding compilers.
56465         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
56466         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
56467         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
56468         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
56469         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
56470         define, since <limits.h> is guaranteed to do that.
56471         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
56472         * lib/exclude.c: Include <stdbool.h> unconditionally.
56473         * lib/tempname.c: Include <stddef.h> unconditionally.
56474         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
56475         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
56476         <stddef.h> does that.
56477         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
56478         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
56479         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
56480         needed.
56481         * lib/xstrtol.c: Likewise.
56482         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
56483         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
56484
56485         * lib/addext.c (addext): Use assignment rather than cast, to avoid
56486         warnings on some platforms.
56487
56488         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56489         arbitrarily.
56490
56491 2003-05-26  Jim Meyering  <jim@meyering.net>
56492
56493         Merge in a change from coreutils:
56494         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
56495         that is guaranteed to be `no'.  Use `no_such_member' to indicate
56496         that condition, rather than `-1' which is slightly misleading.
56497         Change the name of the cache variable to have the gl_ prefix.
56498         Prompted by a patch from Richard Dawe for DJGPP.
56499
56500 2003-05-24  Karl Berry  <karl@gnu.org>
56501
56502         * config/config.guess: update from prep.
56503
56504 2003-05-22  Karl Berry  <karl@gnu.org>
56505
56506         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
56507
56508 2003-05-20  Karl Berry  <karl@gnu.org>
56509
56510         * config/config.guess: update from prep.
56511
56512 2003-05-18  Karl Berry  <karl@gnu.org>
56513
56514         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
56515         might actually be set by the user.
56516
56517         * config/depcomp, install-sh, mdate-sh: update from automake.
56518
56519 2003-05-17  Bruno Haible  <bruno@clisp.org>
56520
56521         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
56522         invalid expansion for AC_EGREP_CPP.
56523         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
56524         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56525         Suggested by Akim Demaille <akim@epita.fr> in
56526         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
56527
56528 2003-05-12  Jim Meyering  <jim@meyering.net>
56529
56530         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
56531         the space-padded-by-default conversion specifiers, %e, %k, %l.
56532
56533 2003-05-12  Bruno Haible  <bruno@clisp.org>
56534
56535         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
56536         the string is longer than 4 KB.
56537
56538 2003-05-11  Karl Berry  <karl@gnu.org>
56539
56540         * config/config.{guess,sub}: update from prep.
56541
56542 2003-05-09  Bruno Haible  <bruno@clisp.org>
56543
56544         * modules/error: Add m4/strerror_r.m4 to file list.
56545
56546 2003-05-03  Bruno Haible  <bruno@clisp.org>
56547
56548         Upgrade to Unicode-4.0.
56549         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
56550         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
56551         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
56552         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
56553         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
56554         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
56555         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
56556         Change width of U+E0100..U+E01EF from 1 to 0.
56557
56558 2003-04-25  Jim Meyering  <jim@meyering.net>
56559
56560         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
56561         of type size_t, not int.
56562
56563 2003-04-25  Bruno Haible  <bruno@clisp.org>
56564
56565         * lib/copy-file.c: Include <stddef.h>, for size_t.
56566
56567 2003-04-21  Paul Eggert  <eggert@twinsun.com>
56568
56569         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
56570         code which expansion is under static control.  Patch imported from
56571         Akim Demaille's patch to Bison; see
56572         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
56573
56574 2003-04-14  Bruno Haible  <bruno@clisp.org>
56575
56576         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
56577
56578 2003-04-11  Jim Meyering  <jim@meyering.net>
56579
56580         Merge changes from Coreutils.
56581
56582         2003-03-22  Jim Meyering  <jim@meyering.net>
56583
56584         * lib/strftime.c (widen): Cast alloca return value to proper type.
56585
56586         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
56587
56588         From GNU libc.
56589         * lib/strftime.c (my_strftime): Handle very large width
56590         specifications for numeric values correctly.  Improve checks for
56591         overflow.
56592
56593         2003-01-19  Jim Meyering  <jim@meyering.net>
56594
56595         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
56596         definitions.
56597         (nl_get_alt_digit) [! defined my_strftime]: Define.
56598         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
56599         _nl_get_alt_digit and _nl_get_walt_digit.
56600
56601         * lib/strftime.c (my_strftime): Merge in locale-related changes from
56602         libc. These changes have no effect outside of _LIBC.
56603
56604 2003-04-10  Bruno Haible  <bruno@clisp.org>
56605
56606         * modules/findprog: New file.
56607         * MODULES.html.sh (func_all_modules): Add it.
56608
56609 2003-04-10  Bruno Haible  <bruno@clisp.org>
56610
56611         * m4/findprog.m4: New file.
56612         * m4/eaccess.m4: New file.
56613
56614 2003-04-10  Bruno Haible  <bruno@clisp.org>
56615
56616         * lib/findprog.h: New file, from GNU gettext.
56617         * lib/findprog.c: New file, from GNU gettext.
56618
56619 2003-04-05  Jim Meyering  <jim@meyering.net>
56620
56621         Merge changes from Coreutils.
56622
56623         * lib/exclude.h (PARAMS): Remove definition and uses.
56624         * lib/exclude.c: Remove uses of `PARAMS'.
56625
56626         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
56627         Add test-cases for DOS filenames. Declare program_name.
56628         (main): Set up program_name.  Patch by Rich Dawe.
56629
56630         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
56631         error from mntctl.
56632         Use mntctl's return value to drive the entry-processing loop, since
56633         we can't rely on the value of the vmt_length member in the last
56634         entry.  On some systems doing so could result in exhausting
56635         virtual memory.  Based in part on a patch from Mike Jetzer.
56636
56637 2003-04-04  Bruno Haible  <bruno@clisp.org>
56638
56639         * modules/linebreak: New file.
56640         * MODULES.html.sh (func_all_modules): Add it.
56641
56642 2003-04-04  Bruno Haible  <bruno@clisp.org>
56643
56644         * m4/linebreak.m4: New file.
56645
56646 2003-04-04  Bruno Haible  <bruno@clisp.org>
56647
56648         * lib/linebreak.h: New file, from GNU gettext.
56649         * lib/linebreak.c: New file, from GNU gettext with slight
56650         modifications.
56651         * lib/lbrkprop.h: New file, from GNU gettext.
56652
56653 2003-04-03  Bruno Haible  <bruno@clisp.org>
56654
56655         * modules/utf8-ucs4: New file.
56656         * modules/utf16-ucs4: New file.
56657         * modules/ucs4-utf8: New file.
56658         * modules/ucs4-utf16: New file.
56659         * MODULES.html.sh (func_all_modules): Add them.
56660
56661 2003-04-03  Bruno Haible  <bruno@clisp.org>
56662
56663         * m4/utf-ucs4.m4: New file.
56664         * m4/ucs4-utf.m4: New file.
56665
56666 2003-04-03  Bruno Haible  <bruno@clisp.org>
56667
56668         * lib/utf8-ucs4.h: New file, from GNU gettext.
56669         * lib/utf16-ucs4.h: New file, from GNU gettext.
56670         * lib/ucs4-utf8.h: New file, from GNU gettext.
56671         * lib/ucs4-utf16.h: New file, from GNU gettext.
56672
56673 2003-04-02  Bruno Haible  <bruno@clisp.org>
56674
56675         * modules/binary-io: New file.
56676         * MODULES.html.sh (func_all_modules): Add it.
56677
56678 2003-04-02  Bruno Haible  <bruno@clisp.org>
56679
56680         * lib/binary-io.h: New file, from GNU gettext.
56681
56682 2003-04-01  Bruno Haible  <bruno@clisp.org>
56683
56684         * modules/pathname: New file.
56685         * MODULES.html.sh (func_all_modules): Add it.
56686
56687 2003-04-01  Bruno Haible  <bruno@clisp.org>
56688
56689         * lib/pathname.h: New file, from GNU gettext.
56690         * lib/concatpath.c: New file, from GNU gettext.
56691
56692 2003-03-30  Bruno Haible  <bruno@clisp.org>
56693
56694         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
56695
56696 2003-03-30  Bruno Haible  <bruno@clisp.org>
56697
56698         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
56699         function chown() doesn't exist.
56700
56701 2003-03-28  Bruno Haible  <bruno@clisp.org>
56702
56703         * modules/copy-file: New file.
56704         * MODULES.html.sh (func_all_modules): Add it.
56705
56706 2003-03-28  Bruno Haible  <bruno@clisp.org>
56707
56708         * m4/copy-file.m4: New file.
56709
56710 2003-03-28  Bruno Haible  <bruno@clisp.org>
56711
56712         * lib/copy-file.h: New file, from GNU gettext.
56713         * lib/copy-file.c: New file, from GNU gettext.
56714
56715 2003-03-18  Jim Meyering  <jim@meyering.net>
56716
56717         * lib/quote.c (quote_n): Fix typo in comment.
56718
56719 2003-03-18  Bruno Haible  <bruno@clisp.org>
56720
56721         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
56722         checking.
56723         * m4/onceonly_2_57.m4: Likewise.
56724
56725 2003-03-17  Bruno Haible  <bruno@clisp.org>
56726
56727         * m4/onceonly.m4: Require autoconf 2.54 or newer.
56728         (m4_quote): Remove macro.
56729         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
56730
56731 2003-03-14  Jim Meyering  <jim@meyering.net>
56732
56733         Merge changes from Coreutils.
56734         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
56735         to be const, in order to avoid warnings.
56736         (obstack_room): Likewise.
56737         (obstack_empty_p): Likewise.
56738
56739 2003-03-14  Bruno Haible  <bruno@clisp.org>
56740
56741         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
56742         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
56743
56744 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56745
56746         Merge changes from Bison.
56747         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
56748         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
56749         when compiling Bison 1.875's `bitset bset = obstack_alloc
56750         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
56751         * lib/hash.c: Include <stdbool.h> unconditionally.
56752
56753 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56754
56755         * m4/onceonly.m4 (m4_quote): New macro.
56756         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
56757         Quote AC_FOREACH variable-expansions properly.
56758
56759 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56760
56761         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
56762
56763 2003-03-09  Paul Eggert  <eggert@twinsun.com>
56764
56765         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
56766         Reported by Bruce Becker; see:
56767         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
56768
56769 2003-03-03  Paul Eggert  <eggert@twinsun.com>
56770             Bruno Haible  <bruno@clisp.org>
56771
56772         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
56773         Reported by John Hughes, see
56774         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
56775
56776 2003-02-20  Bruno Haible  <bruno@clisp.org>
56777
56778         * MODULES.html.sh (func_all_modules): Add poll.
56779
56780 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56781
56782         * modules/poll: New file.
56783
56784 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56785
56786         * lib/poll_.h: New file.
56787         * lib/poll.c: New file.
56788
56789 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56790
56791         * m4/poll.m4: New file.
56792
56793 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56794
56795         * modules/mathl: New file.
56796
56797 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56798
56799         * lib/mathl.h: New file.
56800         * lib/acosl.c: New file.
56801         * lib/asinl.c: New file.
56802         * lib/atanl.c: New file.
56803         * lib/ceill.c: New file.
56804         * lib/cosl.c: New file.
56805         * lib/expl.c: New file.
56806         * lib/floorl.c: New file.
56807         * lib/frexpl.c: New file.
56808         * lib/ldexpl.c: New file.
56809         * lib/logl.c: New file.
56810         * lib/sincosl.c: New file.
56811         * lib/sinl.c: New file.
56812         * lib/sqrtl.c: New file.
56813         * lib/tanl.c: New file.
56814         * lib/trigl.c: New file.
56815         * lib/trigl.h: New file.
56816
56817 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56818
56819         * m4/mathl.m4: New file.
56820
56821 2003-02-18  Bruno Haible  <bruno@clisp.org>
56822
56823         * MODULES.html.sh (func_all_modules): Add mathl.
56824
56825 2003-02-17  Bruno Haible  <bruno@clisp.org>
56826
56827         * modules/mkdtemp: New module.
56828         * MODULES.html.sh (func_all_modules): Add it.
56829
56830 2003-02-17  Bruno Haible  <bruno@clisp.org>
56831
56832         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
56833
56834 2003-02-17  Bruno Haible  <bruno@clisp.org>
56835
56836         * lib/mkdtemp.h: New file, from GNU gettext.
56837         * lib/mkdtemp.c: New file, from GNU gettext.
56838
56839 2003-02-02  Jim Meyering  <jim@meyering.net>
56840
56841         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
56842         e.g. glibc-2.2.93.
56843
56844 2003-01-31  Bruno Haible  <bruno@clisp.org>
56845
56846         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
56847         'rpl_rename'.
56848         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
56849         'rpl_strnlen'.
56850         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
56851         'rpl_strtod'.
56852         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
56853         'rpl_utime'.
56854
56855 2003-01-31  Bruno Haible  <bruno@clisp.org>
56856
56857         * lib/rename.c: #undef rename before defining rpl_rename.
56858         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
56859
56860 2003-01-30  Bruno Haible  <bruno@clisp.org>
56861
56862         * modules/vasnprintf, modules/vasprintf: New modules.
56863         * MODULES.html.sh (func_all_modules): Add them.
56864
56865 2003-01-30  Bruno Haible  <bruno@clisp.org>
56866
56867         * m4/signed.m4: New file, from GNU gettext.
56868         * m4/longdouble.m4: New file, from GNU gettext.
56869         * m4/wchar_t.m4: New file, from GNU gettext.
56870         * m4/wint_t.m4: New file, from GNU gettext.
56871         * m4/vasnprintf.m4: New file.
56872         * m4/vasprintf.m4: New file.
56873
56874 2003-01-30  Bruno Haible  <bruno@clisp.org>
56875
56876         * lib/printf-args.h: New file, from GNU gettext.
56877         * lib/printf-args.c: New file, from GNU gettext.
56878         * lib/printf-parse.h: New file, from GNU gettext.
56879         * lib/printf-parse.c: New file, from GNU gettext.
56880         * lib/vasnprintf.h: New file, from GNU gettext.
56881         * lib/vasnprintf.c: New file, from GNU gettext.
56882         * lib/asnprintf.c: New file, from GNU gettext.
56883         * lib/vasprintf.h: New file, from GNU gettext with modifications.
56884         * lib/vasprintf.c: New file, from GNU gettext.
56885         * lib/asprintf.c: New file, from GNU gettext.
56886
56887 2003-01-29  Bruno Haible  <bruno@clisp.org>
56888
56889         * modules/stpncpy: New module.
56890         * MODULES.html.sh (func_all_modules): Add it.
56891
56892 2003-01-29  Bruno Haible  <bruno@clisp.org>
56893
56894         * m4/stpncpy.m4: New file.
56895
56896 2003-01-29  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/stpncpy.h: New file, from GNU gettext with modifications.
56899         * lib/stpncpy.c: New file, from GNU gettext with modifications.
56900
56901 2003-01-28  Bruno Haible  <bruno@clisp.org>
56902
56903         * modules/c-ctype: New module.
56904         * MODULES.html.sh (func_all_modules): Add it.
56905
56906 2003-01-28  Bruno Haible  <bruno@clisp.org>
56907
56908         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
56909         Paul Eggert.
56910         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
56911         Paul Eggert.
56912
56913 2003-01-27  Bruno Haible  <bruno@clisp.org>
56914
56915         * modules/xsetenv: New module.
56916         * MODULES.html.sh (func_all_modules): Add it.
56917
56918 2003-01-27  Bruno Haible  <bruno@clisp.org>
56919
56920         * lib/xsetenv.h: New file, from GNU gettext.
56921         * lib/xsetenv.c: New file, from GNU gettext.
56922
56923 2003-01-23  Jim Meyering  <jim@meyering.net>
56924
56925         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
56926         from working on systems without dirfd (at least Irix and OSF1/Tru64).
56927
56928 2003-01-23  Bruno Haible  <bruno@clisp.org>
56929
56930         * modules/minmax: New module.
56931         * MODULES.html.sh (func_all_modules): Add it.
56932
56933 2003-01-23  Bruno Haible  <bruno@clisp.org>
56934
56935         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
56936         Eggert.
56937
56938 2003-01-22  Bruno Haible  <bruno@clisp.org>
56939
56940         * modules/exit: New module.
56941         * MODULES.html.sh (func_all_modules): Add it.
56942
56943 2003-01-22  Bruno Haible  <bruno@clisp.org>
56944
56945         * lib/exit.h: New file, from GNU gettext.
56946
56947 2003-01-19  Bruno Haible  <bruno@clisp.org>
56948
56949         * gnulib-tool: Recognize option --extract-maintainer.
56950         (func_get_maintainer): New function.
56951         * modules/*: Add Maintainer entry.
56952
56953 2003-01-16  Jim Meyering  <jim@meyering.net>
56954
56955         * m4/regex.m4: The `regex' struct is both input and output.
56956         Initialize it before each use.  Patch by Tim Waugh.
56957
56958 2003-01-16  Bruno Haible  <bruno@clisp.org>
56959
56960         * MODULES.html.sh: Add a table of contents. Add the module name as
56961         leftmost column. Add hyperlinks.
56962
56963 2003-01-15  Bruno Haible  <bruno@clisp.org>
56964
56965         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
56966
56967 2003-01-15  Bruno Haible  <bruno@clisp.org>
56968
56969         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
56970         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
56971         suffix.
56972
56973 2003-01-15  Bruno Haible  <bruno@clisp.org>
56974
56975         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
56976
56977 2003-01-15  Bruno Haible  <bruno@clisp.org>
56978
56979         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
56980         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
56981
56982 2003-01-14  Jim Meyering  <jim@meyering.net>
56983
56984         * lib/same.c (same_name): Tweak a comment.
56985
56986 2003-01-14  Bruno Haible  <bruno@clisp.org>
56987
56988         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
56989         when a string comparison is sufficient.
56990
56991 2003-01-14  Bruno Haible  <bruno@clisp.org>
56992
56993         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
56994         'unsigned int'.
56995
56996 2003-01-14  Bruno Haible  <bruno@clisp.org>
56997
56998         * lib/hash-pjw.c: Add comment about low quality of this function.
56999
57000 2003-01-13  Bruno Haible  <bruno@clisp.org>
57001
57002         * modules/stpcpy: Distribute lib/stpcpy.h.
57003         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
57004
57005 2003-01-13  Bruno Haible  <bruno@clisp.org>
57006
57007         * modules/*: Add a description.
57008         * modules/strpbrk: Fix Makefile.am snippet.
57009         * modules/strtoimax: Fix dependencies.
57010         * modules/strtoumax: Likewise.
57011
57012 2003-01-13  Bruno Haible  <bruno@clisp.org>
57013
57014         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
57015         * modules/alloca (Makefile.am): All object files depend on alloca.h.
57016         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
57017
57018 2003-01-13  Bruno Haible  <bruno@clisp.org>
57019
57020         * gnulib-tool (func_create_testdir): Store config/* files in the main
57021         directory.
57022         * config.rpath: Move to ...
57023         * config/config.rpath: ... here.
57024         * modules/gettext: Contains config/config.rpath, not config.rpath.
57025         * modules/iconv: Likewise.
57026
57027 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57028
57029         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57030         to avoid collisions with libcurses and libreadline.
57031
57032         * m4/getstr.m4: Remove.
57033         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
57034
57035 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57036
57037         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57038         to avoid collisions with libcurses and libreadline.
57039
57040         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
57041         * lib/getstr.h, getstr.c: Remove.
57042         * lib/getline.c: Include "getline.h", to check interface.
57043         Move body of old getstr.c here: this defines MIN_CHUNK and
57044         declares getdelim2, which is renamed from getstr.
57045         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
57046
57047         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
57048         All uses changed.
57049         * lib/linebuffer.h: Likewise.
57050         (readline): Remove backward-compatibility macro.
57051
57052 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57053
57054         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57055         to avoid collisions with libcurses and libreadline.
57056         * getstr: Remove.
57057         * MODULES.html.sh: Remove getstr.
57058         * modules/getline: Depend on unlocked-io, not getstr.
57059
57060 2003-01-12  Jim Meyering  <jim@meyering.net>
57061
57062         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
57063
57064 2003-01-10  Bruno Haible  <bruno@clisp.org>
57065
57066         * modules/alloca: Change Makefile.am requirements. Simplify Include
57067         requirements. Add lib/alloca_.h to file list.
57068
57069 2003-01-10  Bruno Haible  <bruno@clisp.org>
57070
57071         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
57072
57073 2003-01-10  Bruno Haible  <bruno@clisp.org>
57074
57075         * lib/alloca_.h: New file.
57076         * lib/getdate.y: Unconditionally include alloca.h.
57077         * lib/makepath.c: Likewise.
57078         * lib/setenv.c: Likewise.
57079         * lib/userspec.c: Likewise.
57080
57081 2003-01-09  Karl Berry  <karl@gnu.org>
57082
57083         * MODULES.html.sh: include `dirname $0` in PATH, to find
57084         gnulib-tool.
57085
57086 2003-01-09  Bruno Haible  <bruno@clisp.org>
57087
57088         * modules/stdbool: Change configure.ac, Makefile.am requirements.
57089         Simplify Include requirements. Add lib/stdbool.h.in to file list.
57090
57091 2003-01-09  Bruno Haible  <bruno@clisp.org>
57092
57093         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
57094
57095 2003-01-09  Bruno Haible  <bruno@clisp.org>
57096
57097         * lib/stdbool.h.in: New file.
57098
57099 2003-01-09  Bruno Haible  <bruno@clisp.org>
57100
57101         * gnulib-tool (func_all_modules): Ignore files ending in ~.
57102         * MODULES.html.sh: Likewise.
57103
57104 2003-01-08  Jim Meyering  <jim@meyering.net>
57105
57106         * lib/full-write.c: Undefine and define-away `const' after inclusion
57107         of errno.h, not before.  Suggestion from Bruno Haible.
57108
57109 2003-01-08  Bruno Haible  <bruno@clisp.org>
57110
57111         * modules/full-read: Depend on full-write.
57112
57113 2003-01-08  Bruno Haible  <bruno@clisp.org>
57114
57115         * lib/safe-read.c: Include specification header first, to ensure its
57116         selfcontainedness.
57117         * lib/full-write.c: Likewise.
57118
57119 2003-01-07  Jim Meyering  <jim@meyering.net>
57120
57121         * lib/full-write.c: Rework so that it may serve to define full_read,
57122         too.
57123         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
57124
57125 2003-01-07  Bruno Haible  <bruno@clisp.org>
57126
57127         * lib/strtoimax.c: Include <stdint.h> as an alternative to
57128         <inttypes.h>.
57129         * lib/xstrtol.h: Likewise.
57130         * lib/xstrtoimax.c: Likewise.
57131         * lib/xstrtoumax.c: Likewise.
57132         * lib/human.h: Likewise.
57133
57134         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
57135         on systems that have <inttypes.h> but not <stdint.h>.
57136
57137 2003-01-07  Bruno Haible  <bruno@clisp.org>
57138
57139         * MODULES.html.sh: Add copyright notice.
57140         (missed_files): Omit CVS directory entries.
57141         (func_module): Make it work with sed-3.02.
57142         * MODULES.txt: Remove file.
57143
57144 2003-01-06  Jim Meyering  <jim@meyering.net>
57145
57146         * lib/version-etc.c: Update year in translatable copyright string.
57147
57148 2003-01-03  Karl Berry  <karl@gnu.org>
57149
57150         * config/config.{guess,sub}: update from prep.
57151
57152 2003-01-02  Karl Berry  <karl@gnu.org>
57153
57154         * doc/COPYING.DOC: belatedly updated to 1.2.
57155
57156 2003-01-01  Karl Berry  <karl@gnu.org>
57157
57158         * gnulib-tool (func_verify_module): report module name $module in
57159         error message, not $1.
57160         * gnulib-tool (create-testdir): don't complain if destdir couldn't
57161         be created, only if it doesn't exist.
57162         * gnulib-tool (last_checkin_date): don't expand the $Date here.
57163
57164 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57165
57166         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
57167
57168 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57169
57170         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
57171         memcmp if strcoll doesn't work.
57172
57173 2002-12-31  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/utime.c (utime_null): No need to call ftruncate if the file was
57176         nonempty.
57177
57178 2002-12-31  Bruno Haible  <bruno@clisp.org>
57179
57180         * lib/memcoll.c (STRCOLL): New macro.
57181         (memcoll): Use it.
57182
57183 2002-12-31  Bruno Haible  <bruno@clisp.org>
57184
57185         * lib/localcharset.h: New file.
57186         * lib/localcharset.c: Include it.
57187         * lib/unicodeio.c: Likewise.
57188
57189 2002-12-31  Bruno Haible  <bruno@clisp.org>
57190
57191         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
57192         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
57193
57194 2002-12-31  Bruno Haible  <bruno@clisp.org>
57195
57196         * lib/getline.h: Include <stddef.h>, for size_t.
57197
57198         * lib/unicodeio.h: Include <stddef.h>, for size_t.
57199         * lib/unicodeio.c: Don't include <stddef.h>.
57200
57201 2002-12-31  Bruno Haible  <bruno@clisp.org>
57202
57203         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
57204         HAVE_TM_ZONE.
57205
57206 2002-12-24  Karl Berry  <karl@gnu.org>
57207
57208         * config/config.guess: update from prep.
57209
57210 2002-12-24  Bruno Haible  <bruno@clisp.org>
57211
57212         General infrasructure.
57213         * m4/README: Rewritten.
57214         * m4/onceonly.m4: New file.
57215         * m4/onceonly_2_57.m4: New file.
57216
57217         Module atexit.
57218         * m4/atexit.m4: New file.
57219
57220         Module strtod.
57221         * m4/strtod.m4: New file.
57222
57223         Module strtol.
57224         * m4/strtol.m4: New file.
57225
57226         Module strtoul.
57227         * m4/strtoul.m4: New file.
57228
57229         Module memchr.
57230         * m4/memchr.m4: New file.
57231
57232         Module memcmp.
57233         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
57234         (jm_FUNC_MEMCMP): Invoke it.
57235
57236         Module memcpy.
57237         * m4/memcpy.m4: New file.
57238
57239         Module memmove.
57240         * m4/memmove.m4: New file.
57241
57242         Module memset.
57243         * m4/memset.m4: New file.
57244
57245         Module strcspn.
57246         * m4/strcspn.m4: New file.
57247
57248         Module strpbrk.
57249         * m4/strpbrk.m4: New file.
57250
57251         Module strstr.
57252         * m4/strstr.m4: New file.
57253
57254         Module strerror.
57255         * m4/strerror.m4: New file.
57256
57257         Module mktime.
57258         * m4/mktime.m4: Renamed from jm-mktime.m4.
57259         (gl_PREREQ_MKTIME): New macro.
57260         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
57261
57262         Module malloc.
57263         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
57264         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
57265         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
57266
57267         Module realloc.
57268         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
57269         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
57270         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
57271
57272         Module strftime.
57273         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
57274         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
57275         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
57276         gl_TM_GMTOFF.
57277         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
57278
57279         Module xalloc.
57280         * m4/xalloc.m4: New file.
57281
57282         Module alloca.
57283         * m4/alloca.m4: New file.
57284
57285         Module putenv.
57286         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
57287         (jm_FUNC_PUTENV): Invoke it.
57288
57289         Module setenv.
57290         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
57291         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
57292         when invoked twice.
57293         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
57294         gt_FUNC_SETENV.
57295
57296         Module memrchr.
57297         * m4/memrchr.m4: New file.
57298
57299         Module stpcpy.
57300         * m4/stpcpy.m4: New file.
57301
57302         Module strcase.
57303         * m4/strcase.m4: New file.
57304
57305         Module strdup.
57306         * m4/strdup.m4: New file.
57307
57308         Module strnlen.
57309         * m4/strnlen.m4: New file.
57310
57311         Module strndup.
57312         * m4/strndup.m4: New file.
57313
57314         Module xstrtod.
57315         * m4/xstrtod.m4: New file.
57316
57317         Module xstrtol.
57318         * m4/xstrtol.m4: New file.
57319
57320         Module getdate.
57321         * m4/getdate.m4: New file.
57322
57323         Module unlocked-io.
57324         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
57325         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
57326         * m4/jm-glibc-io.m4n: Remove file.
57327
57328         Module long-options.
57329         * m4/long-options.m4: New file.
57330
57331         Module md5.
57332         * m4/md5.m4: New file.
57333
57334         Module sha.
57335         * m4/sha.m4: New file.
57336
57337         Module getstr.
57338         * m4/getstr.m4: New file.
57339
57340         Module getline.
57341         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
57342         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
57343         <sys/types.h>, for size_t. Use the function name gnu_getline, not
57344         simply getline. Infoke gl_PREREQ_GETLINE.
57345
57346         Module obstack.
57347         * m4/obstack.m4: New file.
57348
57349         Module hash.
57350         * m4/hash.m4: New file.
57351
57352         Module readtokens.
57353         * m4/readtokens.m4: New file.
57354
57355         Module strverscmp.
57356         * m4/strverscmp.m4: New file.
57357
57358         Module stdbool.
57359         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
57360         OSF/1.
57361
57362         Module strtoll.
57363         * m4/strtoll.m4: New file.
57364
57365         Module strtoull.
57366         * m4/strtoull.m4: New file.
57367
57368         Module strtoimax.
57369         * m4/strtoimax.m4: New file.
57370
57371         Module strtoumax.
57372         * m4/strtoumax.m4: New file.
57373
57374         Module xstrtoimax.
57375         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
57376         jm_AC_PREREQ_XSTRTOIMAX.
57377         Moved the strtol prerequisites to strtol.m4.
57378         Moved the strtoll prerequisites to strtoll.m4.
57379         Moved the strtoimax prerequisites to strtoimax.m4.
57380
57381         Module xstrtoumax.
57382         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
57383         jm_AC_PREREQ_XSTRTOUMAX.
57384         Moved the strtoul prerequisites to strtoul.m4.
57385         Moved the strtoull prerequisites to strtoull.m4.
57386         Moved the strtoumax prerequisites to strtoumax.m4.
57387
57388         Module chown.
57389         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
57390         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
57391
57392         Module dup2.
57393         * m4/dup2.m4: New file.
57394
57395         Module ftruncate.
57396         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
57397         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
57398
57399         Module getgroups.
57400         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
57401         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
57402
57403         Module gettimeofday.
57404         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
57405         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
57406         gl_PREREQ_GETTIMEOFDAY.
57407
57408         Module mkdir.
57409         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
57410         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
57411
57412         Module mkstemp.
57413         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
57414         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
57415         jm_AC_TYPE_UINTMAX_T.
57416         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
57417
57418         Module stat.
57419         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
57420         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
57421
57422         Module lstat.
57423         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
57424         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
57425
57426         Module timespec.
57427         * m4/timespec.m4 (gl_TIMESPEC): New macro.
57428         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
57429         * m4/st_mtim.m4: Indentation.
57430
57431         Module nanosleep.
57432         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
57433         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
57434         gl_PREREQ_NANOSLEEP.
57435
57436         Module regex.
57437         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
57438         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
57439         (gl_REGEX): New macro.
57440
57441         Module rename.
57442         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
57443         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
57444
57445         Module rmdir.
57446         * m4/rmdir.m4: New file.
57447
57448         Module utime.
57449         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
57450         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
57451         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
57452
57453         Module dirname.
57454         * m4/dirname.m4: New file.
57455
57456         Module getopt.
57457         * m4/getopt.m4: New file.
57458
57459         Module unistd-safer.
57460         * m4/unistd-safer.m4: New file.
57461
57462         Module fnmatch.
57463         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
57464         declaration.
57465         (gl_PREREQ_FNMATCH_EXTRA): New macro.
57466         (gl_FUNC_FNMATCH_POSIX): New macro.
57467         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
57468         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
57469         simply fnmatch.
57470
57471         Module exclude.
57472         * m4/exclude.m4: New file.
57473
57474         Module human.
57475         * m4/human.m4: New file.
57476
57477         Module acl.
57478         * m4/acl.m4: Nop.
57479
57480         Module backupfile.
57481         * m4/backupfile.m4: New file.
57482         * m4/d-ino.m4: Indentation.
57483
57484         Module fsusage.
57485         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
57486         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
57487         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
57488
57489         Module dirfd.
57490         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
57491         requirements.
57492
57493         Module euidaccess.
57494         * m4/euidaccess.m4: New file.
57495
57496         Module file-type.
57497         * m4/file-type.m4: New file.
57498
57499         Module fileblocks.
57500         * m4/fileblocks.m4: New file.
57501
57502         Module filemode.
57503         * m4/filemode.m4: New file.
57504
57505         Module isdir.
57506         * m4/isdir.m4: New file.
57507
57508         Module lchown.
57509         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
57510         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
57511
57512         Module makepath.
57513         * m4/makepath.m4: New file.
57514
57515         Module modechange.
57516         * m4/modechange.m4: New file.
57517
57518         Module mountlist.
57519         * m4/mountlist.m4: New file.
57520         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
57521         Indentation.
57522
57523         Module path-concat.
57524         * m4/path-concat.m4: New file.
57525
57526         Module pathmax.
57527         * m4/pathmax.m4: New file.
57528
57529         Module same.
57530         * m4/same.m4: New file.
57531
57532         Module save-cwd.
57533         * m4/save-cwd.m4: New file.
57534
57535         Module savedir.
57536         * m4/savedir.m4: New file.
57537
57538         Module xgetcwd.
57539         * m4/xgetcwd.m4: New file.
57540         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
57541
57542         Module xreadlink.
57543         * m4/xreadlink.m4: New file.
57544
57545         Module safe-read.
57546         * m4/safe-read.m4: New file.
57547
57548         Module safe-write.
57549         * m4/safe-write.m4: New file.
57550
57551         Module closeout.
57552         * m4/closeout.m4: New file.
57553
57554         Module stdio-safer.
57555         * m4/stdio-safer.m4: New file.
57556
57557         Module getpass.
57558         * m4/getpass.m4: New file.
57559
57560         Module getugroups.
57561         * m4/getugroups.m4: New file.
57562
57563         Module group-member.
57564         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
57565         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
57566
57567         Module idcache.
57568         * m4/idcache.m4: New file.
57569
57570         Module userspec.
57571         * m4/userspec.m4: New file.
57572
57573         Module gettime.
57574         * m4/clock_time.m4: New file.
57575         * m4/gettime.m4: New file.
57576
57577         Module settime.
57578         * m4/settime.m4: New file.
57579
57580         Module posixtm.
57581         * m4/posixtm.m4: New file.
57582
57583         Module gethostname.
57584         * m4/gethostname.m4: New file.
57585
57586         Module canon-host.
57587         * m4/canon-host.m4: New file.
57588
57589         Module gettext.
57590         * m4/codeset.m4: New file, from gettext-0.11.5.
57591         * m4/gettext.m4: New file, from gettext-0.11.5.
57592         * m4/glibc21.m4: New file, from gettext-0.11.5.
57593         * m4/iconv.m4: New file, from gettext-0.11.5.
57594         * m4/intdiv0.m4: New file, from gettext-0.11.5.
57595         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
57596         * m4/inttypes.m4: New file, from gettext-0.11.5.
57597         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
57598         * m4/isc-posix.m4: New file, from gettext-0.11.5.
57599         * m4/lcmessage.m4: New file, from gettext-0.11.5.
57600         * m4/lib-ld.m4: New file, from gettext-0.11.5.
57601         * m4/lib-link.m4: New file, from gettext-0.11.5.
57602         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
57603         * m4/progtest.m4: New file, from gettext-0.11.5.
57604         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
57605         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
57606         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
57607
57608         Module localcharset.
57609         * m4/localcharset.m4: New file.
57610
57611         Module hard-locale.
57612         * m4/hard-locale.m4: New file.
57613
57614         Module mbswidth.
57615         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
57616         onceonly macros.
57617         * m4/mbrtowc.m4: Add comment.
57618
57619         Module memcasecmp.
57620         * m4/memcasecmp.m4: New file.
57621
57622         Module memcoll.
57623         * m4/memcoll.m4: New file.
57624
57625         Module unicodeio.
57626         * m4/unicodeio.m4: New file.
57627
57628         Module rpmatch.
57629         * m4/rpmatch.m4: New file.
57630
57631         Module yesno.
57632         * m4/yesno.m4: New file.
57633
57634         Module exitfail.
57635         * m4/exitfail.m4: New file.
57636
57637         Module c-stack.
57638         * m4/c-stack.m4 (gl_C_STACK): New macro.
57639         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
57640
57641         Module error.
57642         * m4/error.m4 (gl_ERROR): New macro.
57643         (jm_PREREQ_ERROR): Use onceonly macros.
57644
57645         Module fatal.
57646         * m4/fatal.m4: New file.
57647
57648         Module getloadavg.
57649         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
57650         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
57651
57652         Module getpagesize.
57653         * m4/getpagesize.m4: New file.
57654
57655         Module getusershell.
57656         * m4/getusershell.m4: New file.
57657
57658         Module physmem.
57659         * m4/physmem.m4: New file.
57660
57661         Module posixver.
57662         * m4/posixver.m4: New file.
57663
57664         Module quotearg.
57665         * m4/quotearg.m4: New file.
57666
57667         Module quote.
57668         * m4/quote.m4: New file.
57669
57670         Module readutmp.
57671         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
57672
57673         Module sig2str.
57674         * m4/sig2str.m4: New file.
57675
57676         Other.
57677         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
57678         ulonglong.m4.
57679         * m4/intmax_t.m4: New file.
57680         * m4/d-type.m4: Indentation.
57681         * m4/jm-macros.m4: Update.
57682         * m4/prereq.m4 (jm_PREREQ): Update.
57683         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
57684         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
57685         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
57686         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
57687         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
57688         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
57689         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
57690         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
57691         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
57692         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
57693         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
57694         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
57695         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
57696         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
57697         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
57698         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
57699         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
57700         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
57701         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
57702
57703 2002-12-24  Bruno Haible  <bruno@clisp.org>
57704
57705         * MODULES.txt: Update according to m4/ changes.
57706
57707         Module gettext.
57708         * config.rpath: New file, from gettext-0.11.5.
57709
57710         * modules/*: New module descriptions.
57711         * gnulib-tool: New file.
57712         * MODULES.html.sh: New file.
57713
57714 2002-12-21  Karl Berry  <karl@gnu.org>
57715
57716         * doc/fdl.texi: update to version 1.2.
57717
57718 2002-12-19  Karl Berry  <karl@gnu.org>
57719
57720         * config/config.guess: update from prep.
57721
57722 2002-12-18  Bruno Haible  <bruno@clisp.org>
57723
57724         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
57725         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
57726
57727 2002-12-17  Bruno Haible  <bruno@clisp.org>
57728
57729         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
57730         stdlib.h, string.h.
57731
57732 2002-12-17  Bruno Haible  <bruno@clisp.org>
57733
57734         * lib/canon-host.c (strdup): Remove unused declaration.
57735
57736         * lib/fsusage.c: Include full_read.h.
57737         (get_fs_usage): Use full_read instead of safe_read.
57738
57739         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
57740
57741 2002-12-12  Karl Berry  <karl@gnu.org>
57742
57743         * config/config.guess: update from prep.
57744
57745 2002-12-11  Bruno Haible  <bruno@clisp.org>
57746
57747         * m4/setenv.m4: New file, from gettext-0.11.5.
57748
57749 2002-12-11  Bruno Haible  <bruno@clisp.org>
57750
57751         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
57752         not unsetenv().
57753         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
57754         modifications:
57755
57756         2002-12-11  Bruno Haible  <bruno@clisp.org>
57757
57758                 * setenv.c (alloca): Fall back to malloc.
57759                 (freea): New macro.
57760                 (setenv): Use freea() to free memory allocated with alloca().
57761
57762         2002-11-13  Bruno Haible  <bruno@clisp.org>
57763
57764                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
57765                 function declarations.
57766                 * unsetenv.c (unsetenv): Likewise.
57767
57768         2002-03-04  Bruno Haible  <bruno@clisp.org>
57769
57770                 Portability to AIX 4.3.3.
57771                 * unsetenv.c: New file, extracted from setenv.c.
57772                 * setenv.c: Move the unsetenv() function to unsetenv.c.
57773
57774         2001-12-20  Bruno Haible  <bruno@clisp.org>
57775
57776                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
57777                 use malloc instead. For SunOS 4.
57778
57779         2001-12-11  Bruno Haible  <bruno@clisp.org>
57780
57781                 * setenv.c: Declare alloca.
57782                 (compar_fn_t): New typedef.
57783                 (KNOWN_VALUE, STORE_VALUE): Use it.
57784
57785         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
57786         setenv.h.
57787
57788 2002-12-10  Paul Eggert  <eggert@twinsun.com>
57789
57790         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
57791         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
57792         Choose values that are less likely to collide with system fnmatch
57793         options.
57794         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
57795         defined (e.g., a pure POSIX system).
57796         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
57797         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
57798
57799 2002-12-06  Paul Eggert  <eggert@twinsun.com>
57800
57801         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
57802         a pain in practice to deal with generated m4 files.  This change
57803         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
57804
57805         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
57806         and jm-glibc-io.m4, as they are no longer a special case.
57807         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
57808         kludge and the auto-generation stuff.  Check only whether the
57809         functions are declared, not whether they exist, since older hosts
57810         that don't declare the functions can't use the optimization anyway.
57811
57812 2002-12-06  Jim Meyering  <jim@meyering.net>
57813
57814         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
57815
57816         Merge in changes from libc's misc/error.c, in preparation
57817         for the merge of gnulib's changes back into libc.
57818
57819         * lib/error.c (_): Define only if not already defined.
57820         Move definition to follow all #include directives.
57821         Include unlocked-io.h only if !_LIBC.
57822         [_LIBC]: Include <libio/libioP.h>.
57823         [USE_IN_LIBIO]: Include <libio/iolibio.h>
57824         (fflush): Tweak definition to use INTUSE.
57825         (putc): Define.
57826
57827 2002-12-05  Paul Eggert  <eggert@twinsun.com>
57828
57829         * lib/alloca.c [defined emacs]: Include "lisp.h".
57830         (xalloc_die) [defined emacs]: New macro.
57831         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
57832         [! defined emacs]: Include <xalloc.h>.
57833         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
57834         (pointer): Typedef to POINTER_TYPE *.
57835         (malloc): Remove decl; we now always use xmalloc.
57836         (alloca): Use old-style definition, since Emacs needs this.
57837         Check for arithmetic overflow when computing combined size.
57838
57839 2002-12-04  Paul Eggert  <eggert@twinsun.com>
57840
57841         Do not generate unlocked-io.h automatically, since it's easier to
57842         maintain it by hand.
57843
57844         * lib/unlocked-io.h: New file, from GNU diffutils,
57845         but with proper copyright notice and attribution.
57846         * lib/gen-uio: Remove.
57847         * lib/Makefile.am: Add copyright notice.
57848         (libfetish_a_SOURCES): Add unlocked-io.h.
57849         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
57850         (DISTCLEANFILES, io_functions): Remove macros.
57851         (EXTRA_DIST): Remove gen_uio.
57852         (unlocked-io.h): Remove rule.
57853
57854 2002-12-04  Jim Meyering  <jim@meyering.net>
57855
57856         Reflect the fact that stat.c and lstat.c are no longer generated.
57857         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
57858         (DISTCLEANFILES): Likewise.
57859         (EXTRA_DIST): Likewise.
57860         (all_local): Don't depend on stat.c or lstat.c.
57861         (stat.c, lstat.c): Remove rules.
57862         (EXTRA_DIST): Remove xstat.in.
57863
57864         * lib/xstat.in: Remove file.  Contents moved into stat.c.
57865         * lib/stat.c: New file.  Contents mostly from xstat.in.
57866         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
57867         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
57868
57869         * lib/safe-read.c: Rework so that it may serve to define safe_write,
57870         too.
57871         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
57872
57873 2002-12-03  Jim Meyering  <jim@meyering.net>
57874
57875         * lib/safe-read.c, safe-write.c: Change variable names and comments,
57876         but not semantics, to minimize the differences between these two files.
57877         (safe_read): Change comment to mention SAFE_READ_ERROR.
57878
57879         * lib/safe-read.c (IS_EINTR): Define.
57880         (safe_read): Use IS_EINTR in place of in-function cpp directives.
57881
57882 2002-12-02  Jim Meyering  <jim@meyering.net>
57883
57884         * lib/safe-read.c (EINTR): Define.
57885         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
57886         (INT_MAX): Provide fallback.
57887         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
57888
57889         * lib/safe-read.h (SAFE_READ_ERROR): Define.
57890
57891 2002-12-02  Bruno Haible  <bruno@clisp.org>
57892
57893         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
57894         Define, taken from safe-read.c.
57895         (INT_MAX): Provide fallback.
57896         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
57897         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
57898
57899         * lib/safe-read.c (EINTR): Remove definition.
57900         (safe_read): Don't use EINTR if it is absent.
57901
57902 2002-12-01  Jim Meyering  <jim@meyering.net>
57903
57904         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
57905         zero.
57906         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
57907
57908 2002-11-27  Paul Eggert  <eggert@twinsun.com>
57909
57910         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
57911         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
57912         with `if (! (value < limit)) abort ();', for readability.
57913
57914 2002-11-26  Karl Berry  <karl@gnu.org>
57915
57916         * lib/strdup.c: copy from libc again, with jim's ok.
57917         * lib/.cppi-disable: re-add strdup.c
57918
57919 2002-11-25  Karl Berry  <karl@gnu.org>
57920
57921         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
57922         instead of "strtol.c".
57923
57924 2002-11-25  Karl Berry  <karl@gnu.org>
57925
57926         * config/install-sh: update from automake for variable quoting, $0 in
57927         error msgs, etc.
57928
57929         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
57930         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
57931         entry.
57932
57933 2002-11-25  Jim Meyering  <jim@meyering.net>
57934
57935         * lib/mktime.c: Sync from libc, now that it has the latest fix.
57936
57937 2002-11-24  Karl Berry  <karl@gnu.org>
57938
57939         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
57940         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
57941
57942 2002-11-24  Jim Meyering  <jim@meyering.net>
57943
57944         Update from coreutils:
57945
57946         * lib/mktime.c: Merge in changes from libc.
57947
57948         Avoid a link-time failure on some Linux systems.
57949         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
57950         (otherwise).
57951         (__mon_yday): Declare with the STATIC attribute.
57952         (__mktime_internal): Likewise.
57953         Based on a report from Greg Schafer.
57954
57955 2002-11-23  Jim Meyering  <jim@meyering.net>
57956
57957         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
57958         Use `unsigned', not `int', as type of index.
57959
57960         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
57961
57962         * lib/fsusage.c: Remove unneeded parentheses around operands of
57963         `defined'.
57964
57965 2002-11-22  Paul Eggert  <eggert@twinsun.com>
57966
57967         * lib/quotearg.h: Allow multiple inclusion by surrounding with
57968         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
57969         so that we can be included first.
57970         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
57971         * lib/quotearg.c: Include quotearg.h immediately after config.h.
57972         No need to include stddef.h or sys/types.h any more.
57973         Surround local include files with "", not "<>".
57974         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
57975         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
57976         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
57977         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
57978         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
57979         (ISPRINT): Remove; no longer needed now that we assume C89.
57980
57981         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
57982         Preserve errno.
57983
57984         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
57985         quotearg_char): Use SIZE_MAX rather than
57986         (size_t) -1 when we are talking about "infinity".
57987
57988         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
57989
57990 2002-11-22  Paul Eggert  <eggert@twinsun.com>
57991
57992         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
57993         hint that one should use `if (! x) abort ();' rather than `assert
57994         (x);', and anyway it's one less thing to worry about configuring.
57995         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
57996         hash_rehash, hash_insert): Use abort rather than assert.
57997
57998 2002-11-22  Bruno Haible  <bruno@clisp.org>
57999
58000         * lib/safe-read.h: Assume C89. Add comments.
58001         (safe_read): Change return type to size_t.
58002         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
58003         byte counts > SSIZE_MAX correctly.
58004         * lib/safe-write.h: New file.
58005         * lib/safe-write.c: New file.
58006         * lib/full-read.h: New file.
58007         * lib/full-read.c: New file.
58008         * lib/full-write.h: Assume C89. Add comments.
58009         * lib/full-write.c: Include safe-write.h.
58010         (full_write): Rewritten to use safe_write.
58011         Suggested by Jim Meyering and Paul Eggert.
58012
58013 2002-11-21  Jim Meyering  <jim@meyering.net>
58014
58015         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
58016
58017         Merge in changes from the coreutils.
58018
58019         2002-09-25  Paul Eggert  <eggert@twinsun.com>
58020         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
58021         <stdint.h>.
58022         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
58023         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
58024         int.  Work more efficiently if X is the same width as uintmax_t.
58025         Do not compare X to -1, to avoid bogus compiler warning.
58026         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
58027         Don't assume that f_frsize and f_bsize are the same type.
58028
58029         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
58030         warning on FreeBSD.
58031
58032         * lib/makepath.c (make_path): Restore umask *before* creating the final
58033         component.
58034         (make_path): Minor reformatting.
58035
58036         * lib/xmalloc.c: Adjust to work with new autoconf macros,
58037         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
58038         HAVE_MALLOC/HAVE_REALLOC.
58039
58040         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
58041         dummy ones.  At least on GNU/Linux systems, `auto' means something
58042         else.
58043         From Michael Stone.
58044
58045 2002-11-21  Bruno Haible  <bruno@clisp.org>
58046
58047         Remove case insensitive option matching.
58048         * lib/argmatch.h (argcasematch): Remove declaration.
58049         (ARGCASEMATCH): Remove macro.
58050         (__xargmatch_internal): Remove case_sensitive argument.
58051         (XARGMATCH): Update.
58052         (XARGCASEMATCH): Remove macro.
58053         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
58054         case_sensitive argument.
58055         (argcasematch): Remove function.
58056         (__xargmatch_internal): Remove case_sensitive argument.
58057         (main): Use XARGMATCH instead of XARGCASEMATCH.
58058
58059         * lib/xmalloc.c: Change compile-time error message. Add comment about
58060         required autoconf version.
58061
58062 2002-11-20  Paul Eggert  <eggert@twinsun.com>
58063
58064         Merge argmatch cleanups from Bison.  Assume C89.
58065
58066         * lib/argmatch.c: Include config.h here, not in argmatch.h.
58067         Include stdlib.h, for EXIT_FAILURE.
58068         Always include <string.h>, since we assume C89.
58069         (EXIT_FAILURE): Remove pre-C89 bug workaround.
58070         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
58071         Include <stddef.h> instead, since it's all we need for size_t.
58072         (PARAMS): Remove.  All uses removed.
58073         (ARRAY_CARDINALITY): Do not bother to #undef.
58074         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
58075         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58076         Remove unnecessary parentheses.
58077         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58078         Insert necessary parentheses.
58079         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
58080         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
58081
58082 2002-11-19  Bruno Haible  <bruno@clisp.org>
58083
58084         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
58085         * lib/mbswidth.h: Include <stddef.h>, for size_t.
58086
58087         * lib/mbswidth.h (PARAMS): Remove macro.
58088         (mbswidth, mbsnwidth): Use ANSI C function declarations.
58089         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
58090
58091         * lib/gcd.h (PARAMS): Remove macro.
58092         (gcd): Use ANSI C function declarations.
58093         * lib/gcd.c (gcd): Likewise.
58094
58095 2002-11-15  Bruno Haible  <bruno@clisp.org>
58096
58097         * lib/strcspn.c: Include <stddef.h>.
58098         (strcspn): Use ANSI C function declaration. Change return type to
58099         size_t. Use NULL.
58100         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
58101         (strpbrk): Use NULL.
58102         * lib/strpbrk.h (PARAMS): Remove macro.
58103         (strpbrk): Use ANSI C function declaration.
58104         * lib/strstr.c: Don't include <sys/types.h>.
58105         * lib/strstr.h (PARAMS): Remove macro.
58106         (strstr): Use ANSI C function declarations.
58107
58108 2002-11-14  Karl Berry  <karl@gnu.org>
58109
58110         * config/mkinstalldirs: `do' on separate line, instead of
58111         `for var; do'.
58112
58113 2002-11-06  Bruno Haible  <bruno@clisp.org>
58114
58115         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
58116         * lib/gcd.c (gcd): Likewise.
58117
58118 2002-11-05  Bruno Haible  <bruno@clisp.org>
58119
58120         * lib/gcd.h: New file, from gettext-0.11.5.
58121         * lib/gcd.c: New file, from gettext-0.11.5.
58122
58123 2002-11-05  Bruno Haible  <bruno@clisp.org>
58124
58125         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58126         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58127         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58128         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58129
58130         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
58131         <libintl.h>.
58132         * lib/makepath.c: Include gettext.h instead of <locale.h> and
58133         <libintl.h>.
58134
58135         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
58136         * lib/human.c: Include gettext.h instead of <libintl.h>.
58137         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
58138         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
58139         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
58140         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
58141         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
58142         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
58143         (textdomain): Remove definition.
58144         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
58145
58146         * lib/long-options.c: Remove include of <libintl.h> and definition of
58147         _.
58148         * lib/same.c: Remove include of <libintl.h> and definition of _.
58149
58150 2002-11-04  Owen Taylor  <otaylor@redhat.com>
58151
58152         * lib/config.charset: A few additions for Solaris.
58153
58154 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58155
58156         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
58157         * lib/localcharset.c (locale_charset): Declare as extern "C".
58158
58159 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58160
58161         * lib/config.charset: msdos in uk_UA uses CP1125.
58162
58163 2002-11-04  Bruno Haible  <bruno@clisp.org>
58164
58165         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
58166         * lib/strcase.h: New file, from GNU gettext-0.11.5.
58167         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
58168         * lib/strstr.h: New file, from GNU gettext-0.11.5.
58169         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
58170
58171 2002-11-04  Bruno Haible  <bruno@clisp.org>
58172
58173         * lib/localcharset.c (locale_charset): Don't return an empty string.
58174
58175 2002-11-04  Bruno Haible  <bruno@clisp.org>
58176
58177         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
58178         aliases.
58179
58180 2002-11-04  Bruno Haible  <bruno@clisp.org>
58181
58182         * lib/config.charset: Update for newest glibc. Add canonical names
58183         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
58184
58185 2002-11-04  Bruno Haible  <bruno@clisp.org>
58186
58187         * lib/config.charset: Add support for NetBSD.
58188
58189 2002-11-04  Bruno Haible  <bruno@clisp.org>
58190
58191         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
58192
58193 2002-11-01  Bruno Haible  <bruno@clisp.org>
58194
58195         * configure.in: Add AC_CONFIG_AUX_DIR call.
58196         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
58197         test/Makefile.
58198         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
58199
58200 2002-09-28  Karl Berry  <karl@gnu.org>
58201
58202         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
58203         installed automake until the next release, since changes have been
58204         made.
58205
58206 2002-09-25  Karl Berry  <karl@gnu.org>
58207
58208         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
58209         * lib/getopt*: copy from libc/posix.
58210         * lib/gettext.h: copy from gettext.
58211         * lib/.cppi-disable: add strdup.c, gettext.h.
58212
58213 2002-09-25  Karl Berry  <karl@gnu.org>
58214
58215         * config/srclist.txt: enable gettext.h check.
58216         * config/config.{guess,sub}: update from prep.
58217         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
58218                 from automake 1.6.3.
58219         See srclist*.
58220
58221 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
58222
58223         * regex.c (PATFETCH): Remove the translating fetch.
58224         (PATFETCH_RAW): Rename to PATFETCH.
58225         (set_image_of_range): New fun.
58226         (SET_RANGE_TABLE_WORK_AREA): Use it.
58227         (regex_compile): Don't translate the pattern chars so eagerly.
58228         Only do it when inserting an `exactn' bytecode or when handling
58229         a char-range.
58230         (mutually_exclusive_p): Avoid empty statement.
58231
58232 2002-07-06  Jim Meyering  <meyering@lucent.com>
58233
58234         * m4/README: Don't mention Makefile.am.in.
58235         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
58236
58237 2002-07-01  Jim Meyering  <meyering@lucent.com>
58238
58239         * lib/c-stack.c: Include sys/time.h.
58240         From Volker Borchert.
58241
58242 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58243
58244         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
58245
58246 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58247
58248         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
58249         New macro.  Use it uniformly instead of
58250         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
58251         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
58252         reported by Vin Shelton.
58253
58254 2002-06-22  Paul Eggert  <eggert@twinsun.com>
58255
58256         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
58257         Do not assume SA_SIGINFO behavior.
58258         Bug reported by Jim Meyering on NetBSD 1.5.2.
58259
58260 2002-06-22  Jim Meyering  <meyering@lucent.com>
58261
58262         * m4/c-stack.m4: New file, from diffutils-2.8.2.
58263         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
58264
58265         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
58266         now that configure.ac uses AC_GNU_SOURCE.
58267         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
58268         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
58269
58270         Update to latest tools.  Suggestions from Paul Eggert.
58271         * m4/stdbool.m4: New file, from diffutils-2.8.2.
58272         * m4/gnu-source.m4: Update from diffutils-2.8.2.
58273         * m4/fnmatch.m4: Likewise.
58274         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
58275         to AC_HEADER_STDBOOL
58276
58277 2002-06-22  Jim Meyering  <meyering@lucent.com>
58278
58279         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
58280         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
58281
58282 2002-06-22  Jim Meyering  <meyering@lucent.com>
58283
58284         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
58285
58286         * lib/exitfail.c, exitfail.h: Likewise.
58287         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
58288
58289         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
58290         of fnmatch.h.
58291         (EXTRA_DIST): Add fnmatch_loop.c.
58292         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
58293
58294         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
58295         * lib/fnmatch.c: Update from diffutils-2.8.2.
58296         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
58297         * lib/fnmatch.h: Remove file.
58298
58299 2002-06-21  Jim Meyering  <meyering@lucent.com>
58300
58301         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
58302         * m4/mbrtowc.m4: Likewise.
58303
58304         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
58305         * m4/mbswidth.m4: Reflect name change:
58306         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
58307         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58308
58309         * m4/lib-link.m4: Update from gettext-0.11.2.
58310         * m4/gettext.m4: Likewise.
58311
58312         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
58313         From Alfred M. Szmidt.
58314
58315 2002-06-18  Paul Eggert  <eggert@twinsun.com>
58316
58317         * lib/file-type.h: Report an error if neither S_ISREG nor
58318         S_IFREG is defined, instead of using a test specific to glibc
58319         2.2.  This should be safe, since POSIX requires S_ISREG and
58320         Unix Version 7 had S_IFREG.  We don't need to check for
58321         <sys/types.h> since we don't use any symbols that it defines.
58322
58323 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
58324
58325         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
58326         $@-t, so that each temporary file name is unique and valid in the first
58327         8 characters, for operation under DOS.
58328
58329 2002-06-15  Paul Eggert  <eggert@twinsun.com>
58330
58331         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
58332
58333 2002-06-15  Jim Meyering  <meyering@lucent.com>
58334
58335         Work even with DJGPP 2.03, which lacks support for symlinks.
58336         From Richard Dawe.
58337         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
58338         is defined.
58339         * lib/lchown.c (S_ISLNK): Likewise.
58340
58341 2002-06-15  Jim Meyering  <meyering@lucent.com>
58342
58343         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
58344         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
58345         have been included before this file.
58346
58347 2002-06-14  Jim Meyering  <meyering@lucent.com>
58348
58349         * lib/file-type.h: Use the version from diffutils-2.8.2.
58350         * lib/file-type.c: Likewise.
58351
58352 2002-06-07  Jim Meyering  <meyering@lucent.com>
58353
58354         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
58355         They're needed at least for NetBSD 1.5.2.
58356         ($statxfs_includes): Include those same headers.
58357         ($statxfs_includes): Include sys/vfs.h if available.
58358         ($statxfs_includes): Likewise for sys/statvfs.h.
58359         Check for the following members in both structs statfs and statvfs:
58360         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
58361
58362 2002-06-01  Jim Meyering  <meyering@lucent.com>
58363
58364         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
58365         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
58366
58367 2002-05-28  Jim Meyering  <meyering@lucent.com>
58368
58369         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
58370         Reported by Volker Borchert.
58371
58372 2002-05-27  Jim Meyering  <meyering@lucent.com>
58373
58374         Fix a problem seen only on nonconforming systems whereby ls.c's
58375         use of localtime, and then of gettimeofday would cause trouble:
58376         the localtime call used to initialize rpl_gettimeofday's save
58377         mechanism would clobber ls's current local time information so
58378         that in any long listing the first file would always be listed
58379         with date 1970-01-01.  Analysis by Volker Borchert.
58380
58381         * lib/gettimeofday.c (localtime): Undefine.
58382         (rpl_localtime): New function.
58383
58384 2002-05-27  Jim Meyering  <meyering@lucent.com>
58385
58386         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
58387         localtime.
58388
58389         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
58390         use the replacement function; it wouldn't resolve at link time.
58391         Reported by Volker Borchert.
58392
58393 2002-05-22  Jim Meyering  <meyering@lucent.com>
58394
58395         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
58396         file-type.h.
58397         * lib/file-type.h: New file.
58398         * lib/file-type.c (file_type): New file/function.  Extracted from
58399         diffutils.
58400
58401 2002-04-30  Jim Meyering  <meyering@lucent.com>
58402
58403         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
58404
58405 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58406
58407         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
58408
58409 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58410
58411         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
58412         Do not check for alloca.h (no longer used) or stdbool.h (was never
58413         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
58414
58415 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58416
58417         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
58418
58419 2002-04-29  Jim Meyering  <meyering@lucent.com>
58420
58421         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
58422         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
58423         Use AC_FUNC_STRNLEN here instead.
58424
58425         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
58426         With autoconf-2.53a, it's part of AC_PROG_CC.
58427
58428 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58429
58430         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
58431         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
58432
58433 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58434
58435         * lib/sig2str.h, lib/sig2str.c: New files.
58436         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
58437
58438 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58439
58440         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
58441         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
58442         of 127, since 64 is the largest conceivable number for ancient
58443         nonstandard hosts.
58444         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
58445
58446 2002-04-28  Jim Meyering  <meyering@lucent.com>
58447
58448         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
58449
58450 2002-04-24  Jim Meyering  <meyering@lucent.com>
58451
58452         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
58453         (jm_PREREQ): Use it.
58454
58455         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
58456         mach/mach.h fcntl.h.
58457         Check for this function: setlocale.
58458
58459 2002-04-24  Jim Meyering  <meyering@lucent.com>
58460
58461         * lib/gettext.h: New file, from Gettext.
58462         * lib/Makefile.am (INCLUDES): Remove -I../intl.
58463         (libfetish_a_SOURCES): Add gettext.h.
58464
58465 2002-04-16  Jim Meyering  <meyering@lucent.com>
58466
58467         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
58468         ut_pid, ut_id, ut_exit.
58469
58470 2002-04-16  Jim Meyering  <meyering@lucent.com>
58471
58472         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
58473         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
58474         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
58475
58476 2002-04-12  Jim Meyering  <meyering@lucent.com>
58477
58478         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
58479         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
58480         existence of the getmntinfo function.  Needed for Darwin 5.3.
58481
58482         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
58483         This is necessary at least on Darwin 5.3.
58484
58485         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
58486         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
58487         strnlen.o in the library, and that makes some versions of ranlib
58488         object.
58489
58490 2002-04-12  Jim Meyering  <meyering@lucent.com>
58491
58492         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
58493
58494 2002-04-09  Jim Meyering  <meyering@lucent.com>
58495
58496         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
58497         to be more precise.  Rather than saying we're checking whether the
58498         function `works', say what we're testing.
58499         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
58500         Reported by Bruno Haible.
58501
58502 2002-03-10  Jim Meyering  <meyering@lucent.com>
58503
58504         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
58505         Suggestion from Santiago Vila.
58506
58507 2002-03-08  Jim Meyering  <meyering@lucent.com>
58508
58509         * lib/rename.c: Mention that this wrapper is needed also on
58510         mips-dec-ultrix4.4 systems.
58511
58512 2002-03-02  Jim Meyering  <meyering@lucent.com>
58513
58514         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
58515         not HAVE_CLOCK_SETTIME.
58516
58517 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58518
58519         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
58520         Check for clock_settime.
58521
58522 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58523
58524         * lib/nanosleep.h: Rename to....
58525         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
58526
58527         * lib/gettime.c: New file.
58528         * lib/settime.c: New file.
58529         * lib/stime.c: Remove.
58530
58531         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
58532         timespec.h.  Remove nanosleep.h.
58533
58534 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58535
58536         * m4/acl.m4: New file.
58537         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
58538         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
58539
58540 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58541
58542         * lib/acl.c, lib/acl.h: New files.
58543         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
58544
58545 2002-02-24  Jim Meyering  <meyering@lucent.com>
58546
58547         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
58548         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
58549         cause trouble.  Reported by Nelson Beebe.
58550
58551 2002-02-23  Paul Eggert  <eggert@twinsun.com>
58552
58553         * lib/path-concat.c (xpath_concat): Reorder code to pacify
58554         compilers that don't know that xalloc_die never returns.
58555
58556 2002-02-20  Jim Meyering  <meyering@lucent.com>
58557
58558         * lib/getdate.c: Regenerate using bison-1.33.
58559
58560 2002-02-17  Jim Meyering  <meyering@lucent.com>
58561
58562         * config/config.guess (main): Don't use `head -1'; it's no longer
58563         portable. Use `sed 1q' instead.
58564
58565 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
58566
58567         * m4/codeset.m4: Upgrade to gettext-0.11.
58568         * m4/gettext.m4: Upgrade to gettext-0.11.
58569         * m4/glibc21.m4: Upgrade to gettext-0.11.
58570         * m4/iconv.m4: Upgrade to gettext-0.11.
58571         * m4/isc-posix.m4: Upgrade to gettext-0.11.
58572         * m4/lcmessage.m4: Upgrade to gettext-0.11.
58573         * m4/lib-ld.m4: New file, from gettext-0.11.
58574         * m4/lib-link.m4: New file, from gettext-0.11.
58575         * m4/lib-prefix.m4: New file, from gettext-0.11.
58576         * m4/progtest.m4: Upgrade to gettext-0.11.
58577
58578 2002-02-15  Paul Eggert  <eggert@twinsun.com>
58579
58580         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
58581         (jm_PREREQ): Use it.
58582
58583 2002-02-15  Paul Eggert  <eggert@twinsun.com>
58584
58585         * lib/posixver.c, lib/posixver.h: New files.
58586         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
58587
58588 2002-02-02  Paul Eggert  <eggert@twinsun.com>
58589             Bruno Haible  <bruno@clisp.org>
58590
58591         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
58592         (fwrite_success_callback): New declaration.
58593         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
58594         print_unicode_char. Call failure callback instead of error.
58595         (fwrite_success_callback): New function.
58596         (exit_failure_callback): New function.
58597         (fallback_failure_callback): New function.
58598         (print_unicode_char): Call unicode_to_mb.
58599
58600 2002-01-26  Jim Meyering  <meyering@lucent.com>
58601
58602         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
58603         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
58604
58605 2002-01-26  Jim Meyering  <meyering@lucent.com>
58606
58607         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
58608
58609 2002-01-22  Paul Eggert  <eggert@twinsun.com>
58610
58611         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
58612
58613 2002-01-22  Jim Meyering  <meyering@lucent.com>
58614
58615         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
58616         Otherwise, some versions of automake would omit the rule that makes
58617         Makefile from Makefile.in.
58618
58619 2002-01-21  Paul Eggert  <eggert@twinsun.com>
58620
58621         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
58622         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
58623         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
58624         (memcoll): Set errno to zero if there is no error.
58625
58626         * lib/quotearg.c (quotearg_buffer_restyled):
58627         Fix bug with quoting buffers containing NUL when backslashing escapes.
58628         This bug was exposed by the other changes in this patch.
58629         (quotearg_n_options): New arg ARGSIZE.
58630         All callers changed.
58631         (quoting_options_from_style): New function.
58632         (quotearg_n_style): Use it.
58633         (quotearg_n_style_mem): New function.
58634
58635         * lib/quotearg.h (quotearg_n_style_mem): New function.
58636
58637 2002-01-19  Jim Meyering  <meyering@lucent.com>
58638
58639         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
58640         Remove useless quotes: DF_PROG="df".
58641         * m4/strnlen.m4: New file.
58642
58643 2002-01-16  Paul Eggert  <eggert@twinsun.com>
58644
58645         * lib/backupfile.c (ISDIGIT): Comment fix.
58646         * lib/getdate.y (ISDIGIT): Likewise.
58647         * lib/posixtm.c (ISDIGIT, year): Likewise.
58648         * lib/strverscmp.c (ISDIGIT): Likewise.
58649         * lib/userspec.c (ISDIGIT): Likewise.
58650
58651 2002-01-16  Jim Meyering  <meyering@lucent.com>
58652
58653         * lib/getdate.y: Add three semicolons, each just before a closing
58654         brace. Bison (as of version 1.31) no longer papers over that mistake.
58655
58656 2002-01-05  Jim Meyering  <meyering@lucent.com>
58657
58658         * lib/version-etc.c (version_etc_copyright): Update copyright year.
58659
58660 2001-12-19  Paul Eggert  <eggert@twinsun.com>
58661
58662         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
58663         not silently exit merely because the output buffer happens to
58664         have nothing pending.
58665
58666 2001-12-18  Paul Eggert  <eggert@twinsun.com>
58667
58668         See the big note in ../ChangeLog.
58669         * lib/human.c (suffixes): Prefer K to k for 1024.
58670         (generate_suffix_backwards): New function.
58671         (human_readable_inexact): Use it.
58672         * lib/xstrtol.c (__xstrtol): If there is no number but there
58673         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
58674         Accept 'K' as well as 'k'.
58675
58676 2001-12-15  Jim Meyering  <meyering@lucent.com>
58677
58678         * lib/regex.h (__restrict_arr): Update from libc.
58679
58680         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
58681         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
58682         (STREQ): Define.
58683
58684 2001-12-14  Jim Meyering  <meyering@lucent.com>
58685
58686         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
58687         Suggestion from Bruno Haible.
58688
58689 2001-12-10  Jim Meyering  <meyering@lucent.com>
58690
58691         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
58692         xrealloc, Instead, include "xalloc.h".
58693         (initbuffer): Don't cast xmalloc return value to char*.
58694         (readline): Reword comment.
58695         Don't cast xrealloc return value to char*
58696         Return NULL, not 0.
58697
58698 2001-12-09  Jim Meyering  <meyering@lucent.com>
58699
58700         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
58701         about `signed and unsigned type in conditional expression'.
58702         * lib/posixtm.c (posix_time_parse): Likewise.
58703
58704         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
58705
58706         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
58707         to avoid a pedantic warning.
58708
58709         * lib/getstr.c: Don't include assert.h.
58710         (getstr): Remove warning-evoking assertions.
58711         Return -1 if offset parameter is out of bounds.
58712         Change the type of a local from int to size_t.
58713
58714         * lib/strftime.c (my_strftime_localtime_r): Include this function
58715         definition in the `#if ! HAVE_TM_GMTOFF' block.
58716
58717         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
58718         Include xalloc.h instead.
58719
58720 2001-12-02  Jim Meyering  <meyering@lucent.com>
58721
58722         * lib/tempname.c: Don't declare getenv, thus reverting the change of
58723         2001-11-18.  It's no longer necessary, now that stdlib.h is always
58724         included.
58725
58726         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
58727         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
58728
58729 2001-11-30  Akim Demaille  <akim@epita.fr>
58730
58731         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
58732         before being defined.
58733
58734 2001-11-27  Paul Eggert  <eggert@twinsun.com>
58735
58736         * lib/quotearg.h (quotearg_n, quotearg_n_style):
58737         First arg is int, not unsigned.
58738         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
58739         (SIZE_MAX, UINT_MAX): New macros.
58740         (quotearg_n_options): Abort if N is negative.
58741         Avoid overflow check on hosts where size_t is 64 bits and int
58742         is 32 bits, as overflow is impossible there.
58743         Fix off-by-one typo that caused unnecessary reallocation.
58744
58745 2001-11-27  Jim Meyering  <meyering@lucent.com>
58746
58747         * lib/tempname.c: Merge with version from libc.
58748         * lib/regex.c: Likewise.
58749
58750         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
58751         systems for which STDC_HEADERS is 0, it was not included, resulting in
58752         a warning about an integer-to-pointer conversion problem with getenv.
58753         Reported by Volker Borchert.
58754
58755 2001-11-26  Jim Meyering  <meyering@lucent.com>
58756
58757         * lib/gtod.h: Remove file.
58758         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
58759         * lib/gettimeofday.c: Don't include gtod.h.
58760         (GTOD_init): Remove function.
58761         (rpl_gettimeofday): Do its job here instead, rather than aborting.
58762         Suggestion from Volker Borchert.
58763
58764 2001-11-23  Jim Meyering  <meyering@lucent.com>
58765
58766         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
58767         it.
58768         * lib/hash.c (struct hash_table): Define it here instead.
58769
58770 2001-11-22  Jim Meyering  <meyering@lucent.com>
58771
58772         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
58773
58774 2001-11-20  Jim Meyering  <meyering@lucent.com>
58775
58776         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
58777         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
58778
58779 2001-11-19  Jim Meyering  <meyering@lucent.com>
58780
58781         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
58782         directory.  Use "conftestXXXXXX" as the template.
58783         Suggestion from Paul Eggert.
58784
58785         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
58786         immediately, so the test doesn't mistakenly hit the max-open-files
58787         limit.
58788
58789 2001-11-18  Paul Eggert  <eggert@twinsun.com>
58790
58791         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
58792         (TEMPORARIES): New macro.
58793         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
58794         removes an artificial limitation (e.g. HP-UX 10.20, where
58795         TMP_MAX is 17576).
58796
58797 2001-11-18  Jim Meyering  <meyering@lucent.com>
58798
58799         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
58800
58801 2001-11-18  Jim Meyering  <meyering@lucent.com>
58802
58803         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
58804         on SunOS 4.
58805
58806         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
58807         files will be created before anything else.
58808
58809 2001-11-17  Paul Eggert  <eggert@twinsun.com>
58810
58811         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
58812         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
58813
58814 2001-11-17  Jim Meyering  <meyering@lucent.com>
58815
58816         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
58817         Prompted by a report from Bob Proulx.
58818
58819         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
58820         Instead, require UTILS_FUNC_MKSTEMP.
58821
58822 2001-11-17  Jim Meyering  <meyering@lucent.com>
58823
58824         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
58825         Now, that's done as part of AC_FUNC_STRTOD.
58826
58827 2001-11-17  Jim Meyering  <meyering@lucent.com>
58828
58829         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
58830         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
58831         rather than group writable.  Patch by Juan F. Codagnone.
58832
58833         * lib/readtokens.c: Remove explicit declarations of xmalloc and
58834         xrealloc, Instead, include "xalloc.h".
58835
58836         * lib/mountlist.c: Include unlocked-io.h after all system headers.
58837         Remove explicit declarations of xmalloc, xrealloc,
58838         and xstrdup.  Instead, include "xalloc.h".
58839
58840         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
58841         unlocked-io.h.
58842         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
58843         Likewise.
58844         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
58845
58846         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
58847         Reported by Padraig Brady.
58848
58849         * lib/mkstemp.c: #undef mkstemp.
58850         Include config.h.
58851         (rpl_mkstemp): Rename from mkstemp.
58852         Protoize.
58853
58854 2001-11-16  Jim Meyering  <meyering@lucent.com>
58855
58856         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
58857         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
58858         determine the amount of total physical memory, use pstat_getstatic.
58859         HPUX-11 doesn't define _SC_PHYS_PAGES.
58860         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
58861         If sysconf couldn't be used to determine the amount of available
58862         physical memory, use both pstat_getstatic and pstat_getdynamic.
58863         Based on a patch from Bob Proulx.
58864
58865 2001-11-10  Jim Meyering  <meyering@lucent.com>
58866
58867         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
58868         (jm_PREREQ): Use it.
58869
58870 2001-11-09  Jim Meyering  <meyering@lucent.com>
58871
58872         * m4/jm-macros.m4: Require autoconf-2.52f.
58873         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
58874         Use these AC_-prefixed names, not the AM_-prefixed ones.
58875
58876         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
58877
58878 2001-11-05  Jim Meyering  <meyering@lucent.com>
58879
58880         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
58881
58882 2001-11-04  Jim Meyering  <meyering@lucent.com>
58883
58884         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
58885         $DEFS.
58886
58887 2001-11-03  Jim Meyering  <meyering@lucent.com>
58888
58889         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
58890         of AC_DEFUN.
58891
58892         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
58893         know the name of the variable in the macro definition.
58894
58895 2001-11-03  Jim Meyering  <meyering@lucent.com>
58896
58897         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
58898         in argmatch_to_argument call.
58899
58900         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
58901         argument.
58902
58903         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
58904         e.g., a fault due to an attempt to free a NULL pointer.
58905
58906 2001-11-01  Jim Meyering  <meyering@lucent.com>
58907
58908         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
58909         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
58910
58911 2001-11-01  Jim Meyering  <meyering@lucent.com>
58912
58913         * lib/dirfd.c, lib/dirfd.h: New files.
58914         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
58915
58916         * lib/hash.c (hash_print) [TESTING]: Clean up.
58917
58918 2001-10-22  Paul Eggert  <eggert@twinsun.com>
58919
58920         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
58921         to avoid a warning if -Wall.
58922
58923 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
58924
58925         * README: New file
58926         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
58927         (per RMS's instructions, this is now the canonical source)
58928         * lgpl/, gpl/: New directories.
58929
58930 2001-10-21  Paul Eggert  <eggert@twinsun.com>
58931
58932         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
58933
58934 2001-10-21  Jim Meyering  <meyering@lucent.com>
58935
58936         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
58937         this code would end up calling gettext even in packages built
58938         with --disable-nls.
58939         * lib/getopt.c (_): Likewise.
58940         * lib/regex.c (_): Likewise.
58941
58942 2001-10-20  Paul Eggert  <eggert@twinsun.com>
58943
58944         * m4/error.m4 (jm_PREREQ_ERROR):
58945         Do not invoke AC_CHECK_FUNCS with strerror_r, as
58946         AC_FUNC_STRERROR_R does that.
58947         Check for strerror declaration.
58948
58949         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
58950         are supposed to have them these days.
58951         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
58952         Merge changes from latest Autoconf CVS.
58953         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
58954         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
58955         POSIX decided to standardize on the int flavor of strerror_r.
58956
58957 2001-10-20  Paul Eggert  <eggert@twinsun.com>
58958
58959         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
58960         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
58961         Use strerror_r that is only a macro, even if it is not a function.
58962         (strerror): Check for HAVE_DECL_STRERROR before declaring.
58963         (private_strerror): Use prototypes, not old-style function definition.
58964         (print_errno_message): New function.
58965         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
58966         char*-flavored one.
58967         (error_tail, error, error_at_line): Use it.
58968
58969 2001-10-11  Jim Meyering  <meyering@lucent.com>
58970
58971         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
58972         and quote_n (1, ... to avoid clobbering a buffer.
58973
58974 2001-10-05  Jim Meyering  <meyering@lucent.com>
58975
58976         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
58977         hash-pjw.h.
58978         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
58979         * lib/hash-pjw.h: New file.
58980
58981 2001-09-30  Jim Meyering  <meyering@lucent.com>
58982
58983         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
58984         `struct fsstat' has the `f_fstypename' member.
58985         Use that to define FS_TYPE, which is now used to make
58986         the getfsstat link test tighter.
58987
58988 2001-09-30  Jim Meyering  <meyering@lucent.com>
58989
58990         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
58991         Include <sys/ucred.h>, for Apple Darwin.
58992         Include sys/mount.h and sys/fs_types.h only if available.
58993         (FS_TYPE): Define.
58994         (read_filesystem_list): Use FS_TYPE.
58995
58996 2001-09-29  Paul Eggert  <eggert@twinsun.com>
58997
58998         * lib/exclude.c (excluded_filename): 0 -> false, since it's
58999         a boolean context.
59000
59001 2001-09-29  Jim Meyering  <meyering@lucent.com>
59002
59003         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59004         [one-argument getmntent function]): Include stdio.h before mntent.h.
59005         SunOS 4.1.x needs it for the declaration of `FILE'.
59006         Patch by Volker Borchert.
59007
59008         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59009         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
59010         sys/fs_types.h, and make the link-test for getfsstat guard #include
59011         directives with appropriate #if HAVE_*_H tests so that we can
59012         detect getfsstat on Apple Darwin1.3.7 systems.
59013         Reported by Nelson Beebe.
59014         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
59015
59016 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59017
59018         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59019         #defines strtoimax.  Also treat the other strto* functions
59020         like strtoimax.
59021
59022         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59023         Check for strtoul and strtoumax,
59024         as those declarations are made even in the signed case.
59025         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
59026         Likewise, for strtol and strtoimax.
59027
59028 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59029
59030         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59031         #defines strtoimax.  Also treat the other strto* functions
59032         like strtoimax.
59033
59034         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
59035         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
59036         (strtoimax, strtoumax): Do not declare if already defined as a macro.
59037
59038 2001-09-26  Jim Meyering  <meyering@lucent.com>
59039
59040         Most macros in unlocked-io.h had the wrong number of arguments.
59041         * lib/gen-uio: New script.
59042         (USE_UNLOCKED_IO): Define to 1 if not already defined.
59043         * lib/unlocked-io.hin: Remove file.
59044         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
59045         rather than trying to embed it here.
59046         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
59047         Reported by Padraig Brady.
59048
59049 2001-09-25  Volker Borchert  <bt@teknon.de>
59050
59051         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
59052         `result'.
59053
59054 2001-09-24  Jim Meyering  <meyering@lucent.com>
59055
59056         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
59057
59058 2001-09-23  Jim Meyering  <meyering@lucent.com>
59059
59060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
59061         instead of the mere test for existence of mntent.h.  The latter
59062         would get a false-positive on AIX 3.4 systems.
59063         In the outer getmntent if-block, don't die if neither of the getmntent
59064         tests succeeds.  Instead, just fall through and continue with the
59065         remaining tests.
59066
59067 2001-09-23  Jim Meyering  <meyering@lucent.com>
59068
59069         * lib/mountlist.c: Remove useless parentheses in #if directives.
59070         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
59071         the deprecated MOUNTED symbol is no longer defined in mntent.h.
59072
59073 2001-09-22  Jim Meyering  <meyering@lucent.com>
59074
59075         * m4/gettext.m4: New file.  From gettext.
59076         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
59077         * m4/progtest.m4: Likewise
59078         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
59079         * m4/glibc21.m4: Likewise.
59080
59081         * m4/libintl.m4: Remove.  No longer used.
59082
59083 2001-09-22  Jim Meyering  <meyering@lucent.com>
59084
59085         * lib/localcharset.c: Update from latest gettext.
59086         * lib/config.charset: Likewise.
59087
59088 2001-09-20  Jim Meyering  <meyering@lucent.com>
59089
59090         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
59091         strtoimax.
59092         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
59093         strtoumax.
59094
59095 2001-09-20  Jim Meyering  <meyering@lucent.com>
59096
59097         * lib/xstrtol.c (strtoimax): Guard declaration with
59098         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
59099         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
59100         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
59101         (strtoumax): Likewise, for completeness (it wasn't necessary).
59102
59103 2001-09-17  Paul Eggert  <eggert@twinsun.com>
59104
59105         * lib/strtoimax.c (HAVE_LONG_LONG):
59106         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
59107         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
59108         to work around bug in IBM C compiler.
59109
59110 2001-09-17  Jim Meyering  <meyering@lucent.com>
59111
59112         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
59113         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
59114         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
59115         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
59116         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
59117         whenever the right hand side need not be expanded by the shell.
59118
59119 2001-09-16  Paul Eggert  <eggert@twinsun.com>
59120
59121         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
59122         library.  It's not correct, as some older glibcs are buggy.
59123         fnmatch wasn't fixed until glibc 2.2.
59124
59125         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
59126         special shell magic here.
59127
59128 2001-09-16  Jim Meyering  <meyering@lucent.com>
59129
59130         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
59131         * m4/jm-macros.m4: Require it.
59132
59133 2001-09-16  Jim Meyering  <meyering@lucent.com>
59134
59135         * lib/mkdir.c: New file.
59136
59137 2001-09-15  Jim Meyering  <meyering@lucent.com>
59138
59139         * m4/jm-macros.m4: Check for help2man.
59140
59141 2001-09-11  Jim Meyering  <meyering@lucent.com>
59142
59143         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
59144         The body, by Paul Eggert, was moved here from configure.in.
59145         * m4/jm-macros.m4: Require UTILS_HOST_OS.
59146
59147 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59148
59149         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
59150         (jm_PREREQ): Use it.
59151
59152 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59153
59154         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
59155         Use ssize_t, not int, to store result of readlink.
59156         Check for ssize_t overflow as well as size_t overflow,
59157         as POSIX says the result of readlink is implementation-defined
59158         when ssize_t overflows.
59159         Remove unnecessary cast to char*.
59160         Use free+malloc instead of realloc, as the storage doesn't need
59161         to be preserved and it's clearer and can be more efficient that way.
59162         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
59163         * lib/xreadlink.h (xreadlink): Update prototype.
59164
59165 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59166
59167         * lib/xgetcwd.c: Revert some of the previous change; intead,
59168         fix the HAVE_GETCWD_NULL code to behave more like the
59169         !HAVE_GETCWD_NULL code used to.
59170
59171         Include "xalloc.h".
59172         (xgetcwd): Do not return NULL when memory is exhausted; instead,
59173         invoke xalloc_die.
59174
59175 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59176
59177         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
59178         sys/param.h, as pathmax.h includes them.
59179
59180 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59181
59182         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
59183         (jm_PREREQ_XGETCWD): New macro.
59184
59185         * m4/getcwd.m4: New file.
59186
59187 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59188
59189         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
59190         like the HAVE_GETCWD_NULL code.
59191         Include pathmax.h if not HAVE_GETCWD.
59192         Do not include xalloc.h.
59193         (INITIAL_BUFFER_SIZE): New symbol.
59194         Do not use xmalloc / xrealloc, since the caller is responsible for
59195         handling errors.  Preserve errno around `free' during failure.
59196         Do not overrun buffer when using getwd.
59197
59198 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59199
59200         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
59201         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
59202         getcwd (NULL, 0).
59203
59204 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59205
59206         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
59207         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
59208         spotted by Jim Meyering.
59209
59210 2001-09-03  Jim Meyering  <meyering@lucent.com>
59211
59212         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
59213         failure.
59214
59215 2001-09-02  Jim Meyering  <meyering@lucent.com>
59216
59217         * lib/error.c: Update from GNU libc.
59218
59219 2001-09-01  Jim Meyering  <meyering@lucent.com>
59220
59221         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
59222         Used by df.
59223
59224 2001-09-01  Jim Meyering  <meyering@lucent.com>
59225
59226         * lib/xreadlink.c: New file.
59227         * lib/xreadlink.h: New file.
59228         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
59229         xreadlink.h.
59230
59231         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
59232         doesn't conflict with sparc Solaris 7's definition in
59233         /usr/include/sys/int_types.h.
59234
59235         * lib/exclude.c: Use `""', not `<>' to #include non-system header
59236         files.
59237         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
59238         and strncasecmp as r-values.  Unixware didn't have declarations.
59239
59240 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59241
59242         * lib/xstrtol.h: Add copyright notice.
59243         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
59244         LONGINT_INVALID_SUFFIX_CHAR.
59245
59246 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59247
59248         * lib/xstrtol.c (strtoimax): New decl.
59249
59250 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59251
59252         * lib/xgetcwd.c: Don't include pathmax.h.
59253         Include stdlib.h and unistd.h if available.
59254         Include xalloc.h.
59255         (xmalloc, xstrdup, free): Remove decls.
59256         (xgetcwd): Don't assume sizes fit in unsigned.
59257         Check for overflow when computing sizes.
59258         Simplify reallocation code.
59259
59260 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59261
59262         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
59263         a directory's st_size can have an arbitrary value, so the old
59264         usage could waste an arbitrary amount of memory.  All uses
59265         changed.
59266         * lib/savedir.h: Update prototype.
59267
59268 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59269
59270         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
59271
59272         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
59273         old strtoimax.c.
59274
59275         Also, make the following further changes to make this file's
59276         configuration more similar to that of strtol.c:
59277         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
59278         (strtoumax, uintmax_t, strtoull, strtol): Remove.
59279         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
59280         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
59281         changed to signed values.
59282
59283         And make the following changes as well:
59284         Fix copyright notice, as 1999 was missing.
59285         (verify): New macro.
59286         (strtoimax): Check sizes at compile-time, not run-time.
59287         Prefer strtol to strtoll if both work.
59288         (main): Remove; it was not that useful and was a pain to maintain.
59289
59290         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
59291
59292 2001-08-31  Jim Meyering  <meyering@lucent.com>
59293
59294         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
59295         Use an initial, malloc'd, buffer of length 128 rather than
59296         a statically allocated one of length 1024.
59297
59298 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59299
59300         Simplify code, partly by assuming autoconf 2.52 semantics.
59301
59302         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
59303
59304         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
59305         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
59306         All uses removed.
59307         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
59308         Move AC_REQUIRE to next-to-top level, to avoid confusion.
59309         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
59310         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
59311         jm_AC_HEADER_INTTYPES_H.
59312         * m4/jm-macros.m4 (jm_MACROS): Likewise.
59313
59314         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
59315
59316         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59317         Quote first arg of AC_DEFUN.
59318         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
59319         since they are needed to parse the include file even if we need
59320         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
59321         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
59322         but with opposite signedness.
59323
59324 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59325
59326         Merge 'exclude' changes from tar 1.13.22.
59327         This fixes one or two unlikely storage allocation overflow bugs,
59328         but doesn't change user-visible behavior otherwise.
59329
59330 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59331
59332         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
59333         (jm_PREREQ_EXCLUDE): New macro.
59334
59335 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59336
59337         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
59338         tm to be declared.
59339
59340 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59341
59342         * lib/hash.c: Remove '2001' from copyright notice.
59343
59344 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59345
59346         * lib/full-write.h: New file.
59347         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
59348         * lib/full-write.c: Correct credits, as cccp.c no longer
59349         exists and anyway it was so heavily changed from the old cccp
59350         code as to be unrecognizable.  Include full-write.h.
59351         (full_write) Return size_t, with short writes meaning failure.
59352         All callers changed.  This fixes a bug with large buffers
59353         on 64-bit hosts.
59354         * lib/utime.c: Include full-write.h.
59355
59356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59357
59358         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
59359         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
59360         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
59361         Include if available.
59362         (<xalloc.h>): Include
59363         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
59364         (verify): New macro.  Use it to verify that EXCLUDE macros do not
59365         collide with FNM macros.
59366         (struct patopts): New struct.
59367         (struct exclude): Use it, as exclude patterns now come with options.
59368         (new_exclude): Support above changes.
59369         (new_exclude, add_exclude_file):
59370         Initial size must now be a power of two to simplify overflow checking.
59371         (free_exclude, fnmatch_no_wildcards): New function.
59372         (excluded_filename): No longer requires options arg, as the options
59373         are determined by add_exclude.  Now returns bool, not int.
59374         (excluded_filename, add_exclude):
59375         Add support for the fancy new exclusion options.
59376         (add_exclude, add_exclude_file): Now takes int options arg.
59377         Check for arithmetic overflow when computing sizes.
59378         (add_exclude_file): xrealloc might modify errno, so don't
59379         realloc until after errno might be used.
59380
59381         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
59382         New macros.
59383         (free_exclude): New decl.
59384         (add_exclude, add_exclude_file): Now takes int options arg.
59385         (excluded_filename): No longer requires options arg, as the options
59386         are determined by add_exclude.  Now returns bool, not int.
59387
59388 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59389
59390         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
59391
59392 2001-08-27  Jim Meyering  <meyering@lucent.com>
59393
59394         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
59395
59396         * lib/version-etc.c (N_): Remove definition.
59397         Revert most of last change.
59398         Instead, simply don't mark the `Copyright...' string for translation.
59399         Based on advice from Paul Eggert.
59400
59401         * lib/strtoxmax.c: Tweak comment.
59402
59403 2001-08-26  Jim Meyering  <meyering@lucent.com>
59404
59405         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
59406
59407         * m4/xstrtoimax.m4: New file.
59408         * m4/xstrtoumax.m4: Add comments explaining why we
59409         AC_REPLACE_FUNCS(strtol).
59410
59411 2001-08-26  Jim Meyering  <meyering@lucent.com>
59412
59413         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
59414         of copyright with `%s' so translators don't get an untranslated
59415         message in 2002.
59416         (COPYRIGHT_YEAR): Define.
59417         (version_etc): Use fprintf rather than fputs.
59418         Suggestion from Ulrich Drepper.
59419
59420         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
59421
59422         * lib/strtoll.c: New file, from GNU libc.
59423         * lib/xstrtoimax.c: New file.
59424
59425         * lib/xstrtol.h: Add xstrtoimax.
59426         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
59427         * lib/strtoimax.c: New file.  Likewise, but first define
59428         STRTOUXMAX_SIGNED.
59429
59430         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
59431         ...
59432         * lib/strtoxmax.c: ... then renamed to this.
59433
59434 2001-08-18  Paul Eggert  <eggert@twinsun.com>
59435
59436         * m4/inttypes.m4: Add AC_PREREQ(2.13).
59437         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
59438         (jm_AC_TYPE_INTMAX_T): New macro.
59439         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
59440
59441         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
59442
59443         * m4/longlong.m4: Renamed from ulonglong.m4.
59444         * m4/inttypes.m4: Renamed from inttypes_h.m4.
59445         * m4/uintmax_t.m4: Removed.
59446
59447 2001-08-13  Paul Eggert  <eggert@twinsun.com>
59448
59449         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
59450         Port to Solaris 8, where 'sed' requires a space after the 'r'
59451         command, and where sh dislikes "$/".  Clean up the spacing a bit.
59452         Redirect output to $tmp just once.
59453
59454 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
59455
59456         * lib/addext.c (<errno.h>): Include.
59457         (errno): Declare if not defined.
59458         (addext): Work correctly when pathconf returns -1 and leaves
59459         errno alone because there is no limit.  Also, work even if
59460         pathconf returns a value greater than SIZE_MAX.
59461
59462 2001-08-12  Jim Meyering  <meyering@lucent.com>
59463
59464         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
59465         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
59466         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
59467         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
59468         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
59469         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
59470         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
59471         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
59472         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
59473         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
59474         utime.m4, utimes.m4, xstrtoumax.m4:
59475         Quote the first argument in each use of AC_DEFUN.
59476
59477 2001-08-12  Jim Meyering  <meyering@lucent.com>
59478
59479         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
59480         Simply `return getcwd (NULL, 0);'.
59481         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
59482         Use 1300 as initial value for length, not PATH_MAX.
59483
59484         * lib/pathmax.h: Clean up cpp syntax.
59485
59486 2001-08-12  Jim Meyering  <meyering@lucent.com>
59487
59488         * lib/gettimeofday.c: New file.
59489         * lib/gtod.h: New file.
59490         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
59491
59492 2001-08-05  Jim Meyering  <meyering@lucent.com>
59493
59494         * m4/jm-macros.m4: Require autoconf-2.52.
59495
59496 2001-08-04  Jim Meyering  <meyering@lucent.com>
59497
59498         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
59499         stmt, to get in sync with glibc.
59500
59501 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59502
59503         The following changes are from gettext 0.10.39 as maintained by
59504         Bruno Haible.
59505
59506         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
59507         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
59508         with inverted sense.  All uses changed.
59509
59510         * lib/mbswidth.c: Don't include <limits.h>.
59511         Include <stdlib.h> and <string.h> unconditionally.
59512         (iswcntrl, mbsinit, ISCNTRL): New macros.
59513         (mbsnwidth): Use K&R style function declarations.
59514         Don't bother checking for MB_LEN_MAX == 1, since the compiler
59515         can optimize it when MB_CUR_MAX == 1.
59516         The width of control characters is zero, not 1.
59517
59518 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59519
59520         The following changes are from gettext 0.10.39 as maintained by
59521         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
59522
59523         * m4/codeset.m4: Upgrade to serial AM1.
59524         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
59525         all uses changed.  Quote first arg of AC_DEFUN.
59526         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
59527
59528         * m4/iconv.m4: Upgrade to serial AM2.
59529         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
59530         Add --with-libconv-prefix.
59531         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
59532         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
59533         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
59534         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
59535         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
59536
59537         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
59538         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
59539         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
59540         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
59541         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
59542         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
59543         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
59544         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
59545         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
59546
59547         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
59548         string.h any more.
59549
59550         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
59551         not the default value.
59552
59553         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
59554         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
59555         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
59556         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
59557         Also check for iswcntrl, used for wcwidth fallback.
59558         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
59559         to Autoconf 2.13.
59560
59561 2001-08-03  Jim Meyering  <meyering@lucent.com>
59562
59563         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
59564         as it was in the original.  Reported by Paul Eggert.
59565
59566 2001-07-16  Jim Meyering  <meyering@lucent.com>
59567
59568         * m4/gettimeofday.m4: New file.
59569         Prompted by a report from Bernhard Baehr.
59570
59571 2001-07-15  Jim Meyering  <meyering@lucent.com>
59572
59573         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
59574         stuff. Now it's in ../Makefile.cfg.
59575
59576 2001-07-15  Jim Meyering  <meyering@lucent.com>
59577
59578         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
59579         (BUILT_SOURCES): Add unlocked-io.h.
59580         (io_functions): Define.
59581         (unlocked-io.h): New rule.
59582         (DISTCLEANFILES): Add unlocked-io.h.
59583         (all-local): Depend on unlocked-io.h, to ensure it is created.
59584
59585         * lib/unlocked-io.hin: New file
59586
59587         * lib/regex.c: Update from glibc.
59588
59589 2001-07-05  Jim Meyering  <meyering@lucent.com>
59590
59591         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
59592         recommendation.
59593         (libfetish_a_SOURCES): Put all .h files here instead.
59594         Remove a thus-exposed (better checks in automake) duplicate and
59595         two unnecessary .h files.
59596
59597 2001-07-04  Jim Meyering  <meyering@lucent.com>
59598
59599         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
59600         that generates jm-glibc-io.m4 so that it doesn't trigger any make
59601         distcheck failure.
59602
59603 2001-07-02  Jim Meyering  <meyering@lucent.com>
59604
59605         The following changes were prompted by suggestions from Bruno Haible.
59606
59607         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
59608         is now generated.
59609         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
59610         definition of EXTRA_DIST.
59611         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
59612         ensure that the generated file is created/updated whenever the list
59613         of $(unlocked_functions) is changed.
59614         (jm-glibc-io.m4): New rule.
59615         (unlocked-io.h): New rule -- currently unused.
59616
59617 2001-06-24  Jim Meyering  <meyering@lucent.com>
59618
59619         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
59620         unmatched right bracket, rather than kludging it with an extra,
59621         falsely-matching quote in a comment.  Patch by Akim Demaille.
59622
59623 2001-06-11  Jim Meyering  <meyering@lucent.com>
59624
59625         * lib/regex.c: Update from GNU libc.
59626
59627 2001-05-27  Jim Meyering  <meyering@lucent.com>
59628
59629         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
59630         Check for ut_type in struct utmp.
59631
59632 2001-05-27  Jim Meyering  <meyering@lucent.com>
59633
59634         * lib/readutmp.h (UT_TYPE): Define.
59635
59636 2001-05-24  Jim Meyering  <meyering@lucent.com>
59637
59638         * lib/argmatch.c: Include "quote.h".
59639         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
59640         quote function.  Reported by Göran Uddeborg.
59641
59642 2001-05-22  Jim Meyering  <meyering@lucent.com>
59643
59644         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
59645         now that we use the package-supplied version unconditionally.
59646         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
59647
59648 2001-05-21  Jim Meyering  <meyering@lucent.com>
59649
59650         * m4/regex.m4: Change a couple backticks to single quotes to avoid
59651         shell syntax errors.
59652
59653 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
59654
59655         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
59656
59657 2001-05-20  Paul Eggert  <eggert@twinsun.com>
59658
59659         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
59660         Don't bother to check library strftime, since
59661         we'll be using our own my_strftime function anyway.
59662         Define my_strftime instead of strftime.
59663
59664 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
59665
59666         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
59667         which is not yet declared.
59668
59669 2001-05-15  Jim Meyering  <meyering@lucent.com>
59670
59671         * m4/regex.m4: Use proper quoting so brackets appear in the test
59672         program.
59673         Reported by, and with help from, Bruno Haible.
59674
59675 2001-05-13  Jim Meyering  <meyering@lucent.com>
59676
59677         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
59678         undefined.
59679
59680 2001-05-11  Paul Eggert  <eggert@twinsun.com>
59681
59682         dirname code cleanup.  base_name now behaves more compatibly
59683         with POSIX basename when given file names that have trailing
59684         slashes, and similarly for dir_name.  Add new primitives
59685         base_len and dir_len.  Put the directory-name-related decls
59686         into dirname.h.
59687
59688         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
59689         * lib/backupfile.c (base_name): Likewise.
59690         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
59691         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
59692         * lib/makepath.c (strip_trailing_slashes): Likewise.
59693         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
59694         ISSLASH): Likewise.
59695         * lib/rename.c (strip_trailing_slashes): Likewise.
59696         * lib/same.c (base_name): Likewise.
59697         * lib/stripslash.c (ISSLASH): Likewise.
59698
59699         * lib/addext.c: Include <dirname.h> after size_t is defined.
59700         * lib/backupfile.c: Likewise.
59701
59702         * lib/addext.c (addext): Use base_len to trim redundant
59703         trailing slashes instead of doing it ourselves.
59704         But do not trim the last slash if it is not redundant.
59705
59706         * lib/backupfile.c (find_backup_file_name,
59707         max_backup_version): Use base_len instead of rolling it ourselves.
59708         Handle the case of "" and (on DOS) "C:" correctly.
59709
59710         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
59711         needed. Include <string.h>, <dirname.h>.
59712         (base_name): Allow file names ending in slashes, other than names
59713         that are all slashes.  In this case, return the basename followed
59714         by the slashes.  This is more general, and can be used in places
59715         where the original base_name purposely had an assertion failure.
59716         (base_len): New function.
59717
59718         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
59719         Do not include <assert.h>; no longer needed.
59720         Include xalloc.h.
59721         (memrchr): Remove decl.
59722         (dir_name_r): Remove.
59723         (dir_len): Renamed from dirlen.  All callers changed.
59724         Rewrite in terms of base_name, for simplicity and consistency.
59725         (dir_name): Never return NULL.  All callers changed.
59726         Do not include <stdlib.h> in test program; no longer needed.
59727         return 0; is fine for test program.
59728
59729         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
59730         New macros.
59731         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
59732
59733         * lib/path-concat.c (path_concat): Use base_len to compute
59734         base length, not strlen; this means we cannot rely on memcpy
59735         to null-terminate.
59736
59737         * lib/same.c (STREQ): Remove.
59738         (same_name): Handle the case where the basename ends in trailing '/'.
59739
59740         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
59741         a slash was stripped.  Do not strip the last slash after a
59742         file system prefix.
59743
59744 2001-05-11  Paul Eggert  <eggert@twinsun.com>
59745
59746         * lib/Makefile.am (libfetish_a_SOURCES):
59747         Add strftime.c, since we now compile it on all hosts.
59748
59749         * lib/strftime.c (my_strftime):
59750         Define to nstrftime if emacs, but only if my_strftime is not defined.
59751         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
59752         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
59753         Add one more extra argument: a nanoseconds value.
59754         All uses changed.
59755         (ns): New macro.
59756         (my_strftime function): Add %N format.
59757         (emacs_strftimeu): Renamed from emacs_strftime,
59758         with extra ut argument.
59759
59760 2001-05-09  Paul Eggert  <eggert@twinsun.com>
59761
59762         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
59763
59764 2001-04-21  Jim Meyering  <meyering@lucent.com>
59765
59766         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
59767         doesn't interfere.
59768
59769 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
59770
59771         * m4/ftruncate.m4: Check for chsize.
59772         Link with ftruncate.o unconditionally if ftruncate is missing.
59773         This was required when cross-compiling to i586-mingw32msvc.
59774
59775 2001-04-08  Jim Meyering  <meyering@lucent.com>
59776
59777         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
59778         recomputed; that's necessary when the offset spans a DST transition.
59779         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
59780
59781 2001-04-02  Jim Meyering  <meyering@lucent.com>
59782
59783         * lib/regex.h, regex.c: Update from GNU libc.
59784
59785 2001-03-24  Jim Meyering  <meyering@lucent.com>
59786
59787         * m4/jm-macros.m4: Require autoconf-2.49d.
59788
59789 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
59790
59791         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
59792
59793 2001-03-19  Paul Eggert  <eggert@twinsun.com>
59794
59795         * lib/version-etc.c (version_etc_copyright): Update to 2001.
59796
59797 2001-03-17  Jim Meyering  <meyering@lucent.com>
59798
59799         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
59800         now that the version in autoconf is equivalent.
59801         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
59802
59803         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
59804         Suggestion from Akim Demaille.
59805
59806         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
59807         (jm_PREREQ_TEMPNAME): New function.
59808
59809 2001-03-16  Paul Eggert  <eggert@twinsun.com>
59810
59811         * lib/tempname.c (uint64_t): Define to uintmax_t if
59812         not defined, and if UINT64_MAX is not defined.
59813         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
59814         Reported by John David Anglin.
59815
59816 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
59817
59818         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
59819         resolve alias if codeset is empty.
59820         * lib/config.charset (BeOS): Use wildcard syntax.
59821
59822 2001-03-13  Jim Meyering  <meyering@lucent.com>
59823
59824         * lib/path-concat.c (path_concat)
59825         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
59826         concatenating e.g., `C:' and `foo'.
59827         From Bruno Haible.
59828
59829 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
59830
59831         * lib/localcharset.c (locale_charset): Don't use
59832         setlocale(LC_CTYPE,NULL). Don't return NULL.
59833         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
59834
59835 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
59836
59837         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
59838         support for DOS/DJGPP.
59839
59840 2001-03-01  Paul Eggert  <eggert@twinsun.com>
59841
59842         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
59843         lacks mkstemp.  Compile our own tempname.c if we compile our own
59844         mkstemp.c, as mkstemp relies on tempname.
59845
59846 2001-03-01  Jim Meyering  <meyering@lucent.com>
59847
59848         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
59849         AH_VERBATIM really does output its argument verbatim.
59850
59851 2001-02-28  Paul Eggert  <eggert@twinsun.com>
59852
59853         * lib/Makefile.am (libfetish_a_SOURCES):
59854         Add dup-safer.c, fopen-safer.c.
59855         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
59856
59857         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
59858         * lib/unistd-safer.h: New files.
59859
59860 2001-02-25  Paul Eggert  <eggert@twinsun.com>
59861
59862         The mkstemp replacement is taken from glibc 2.2.2, with some
59863         portability fixes for use outside glibc, as follows:
59864
59865         * lib/tempname.c (struct_stat64): New macro.
59866         (direxists, __gen_tempname): Use it.
59867         This avoids a portability problem with Solaris 8.
59868
59869         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
59870         (<stddef.h>, <stdint.h>, <string.h>):
59871         Include only if STDC_HEADERS || _LIBC.
59872         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
59873         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
59874         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
59875         (__set_errno): Define this macro if <errno.h> doesn't.
59876         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
59877         Define these macros if <stdio.h> doesn't.
59878         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
59879         Define these macros if <sys/stat.h>
59880         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
59881         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
59882         __xstat64): Define if not _LIBC.
59883         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
59884         (__gen_tempname): Invoke gettimeofday only if
59885         HAVE_GETTIMEOFDAY || _LIBC;
59886         otherwise, fall back on plain "time".
59887         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
59888
59889         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
59890
59891         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
59892
59893 2001-02-18  Paul Eggert  <eggert@twinsun.com>
59894
59895         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
59896
59897 2001-02-17  Paul Eggert  <eggert@twinsun.com>
59898
59899         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
59900         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
59901         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
59902         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
59903
59904 2001-02-17  Paul Eggert  <eggert@twinsun.com>
59905
59906         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
59907         Remove workaround macros for hosts that have mbrtowc but not
59908         mbstate_t, as we now insist on proper declarations for both
59909         before using mbrtowc.
59910
59911 2001-02-17  Jim Meyering  <meyering@lucent.com>
59912
59913         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
59914         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
59915         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
59916         UnixWare 7.1.1.
59917
59918         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
59919         rather than AC_CACHE_VAL.
59920
59921 2001-02-17  Jim Meyering  <meyering@lucent.com>
59922
59923         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
59924         around included file name.
59925
59926         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
59927
59928         * lib/strftime.c: Update from GNU libc (the only changes were to
59929         comments).
59930
59931 2001-02-17  Jim Meyering  <meyering@lucent.com>
59932
59933         * lib/regex.c: Update from libc.
59934
59935 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
59936
59937         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
59938         clash.
59939
59940 2001-02-16  Paul Eggert  <eggert@twinsun.com>
59941
59942         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
59943         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
59944         Reported by Mark Hounschell via Paul Eggert.
59945
59946 2001-02-07  Jim Meyering  <meyering@lucent.com>
59947
59948         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
59949
59950 2001-02-05  Jim Meyering  <meyering@lucent.com>
59951
59952         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
59953         it includes the patch required for `large file' support with at least
59954         HP-UX's 10.20 /bin/cc.
59955
59956 2001-02-03  Jim Meyering  <meyering@lucent.com>
59957
59958         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
59959         AS_IF, now that it works once again (mysteriously).
59960         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
59961
59962 2001-01-30  Jim Meyering  <meyering@lucent.com>
59963
59964         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
59965         * m4/chown.m4: Rename conftestchown to conftest.chown.
59966         * m4/rename.m4: s/conftestdir/conftest.d1/ and
59967         s/conftestdir2/conftest.d2/.
59968         * m4/utimes.m4: s/conftestdata/conftest.data/
59969         Inspired by Pavel Roskin's change in autoconf.
59970
59971 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
59972
59973         * lib/config.charset: Update for FreeBSD 4.2.
59974
59975 2001-01-27  Jim Meyering  <meyering@lucent.com>
59976
59977         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
59978         a use of AS_IF.
59979         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
59980
59981 2001-01-26  Jim Meyering  <meyering@lucent.com>
59982
59983         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
59984         quotearg.c includes it.
59985
59986 2001-01-26  Jim Meyering  <meyering@lucent.com>
59987
59988         * lib/quotearg.c: Include stddef.h.
59989         * lib/quote.c: Include stddef.h.
59990         Reported by Axel Kittenberger.
59991
59992         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
59993         line in double quotes so that it evokes a better diagnostic.
59994         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
59995         Reported by Axel Kittenberger.
59996
59997 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
59998
59999         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
60000         as if it was a `charset'.
60001
60002 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60003
60004         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
60005         has const.
60006
60007 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60008
60009         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
60010         to avoid a warning.  Add back 'const' to inptr.
60011
60012 2001-01-20  Jim Meyering  <meyering@lucent.com>
60013
60014         Be sure that headers are checked before used in code compiled
60015         for the type checks.
60016         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
60017         In place of that, invoke jm_CHECK_ALL_TYPES.
60018         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
60019         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
60020         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
60021         The check for ssize_t was mistakenly run before the test for unistd.h.
60022
60023         The configure-time check for stdbool.h was missing.
60024         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
60025         (jm_PREREQ_HASH): New function.
60026
60027 2001-01-17  Jim Meyering  <meyering@lucent.com>
60028
60029         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
60030         for autoconf-2.49c.
60031         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
60032
60033 2001-01-16  Jim Meyering  <meyering@lucent.com>
60034
60035         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
60036         From Bruno Haible.
60037
60038 2001-01-14  Jim Meyering  <meyering@lucent.com>
60039
60040         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
60041         foo and bar.  Create conftestdir/ in the script, not in the C code.
60042         Remove directories in the script, not in the C code.
60043         Remove conftestdir{,2} before trying to create the directory.
60044         Make the entire configure script fail if the mkdir fails.
60045
60046 2001-01-14  Jim Meyering  <meyering@lucent.com>
60047
60048         * lib/rename.c: New file.  From Volker Borchert.
60049         Include stdlib.h, string.h or strings.h, and xalloc.h.
60050         Use strip_trailing_slashes rather than open-coding it.
60051
60052 2001-01-03  Paul Eggert  <eggert@twinsun.com>
60053
60054         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
60055
60056 2001-01-03  Jim Meyering  <meyering@lucent.com>
60057
60058         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
60059         of local `inptr' to avoid warning with some system declarations of
60060         iconv.
60061
60062 2001-01-02  Volker Borchert  <bt@teknon.de>
60063
60064         * m4/rename.m4: New file.
60065         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
60066
60067 2001-01-01  Jim Meyering  <meyering@lucent.com>
60068
60069         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
60070         even on systems with utmpx.h.  It's necessary for the declaration of
60071         utmp's ut_user member.  Reported by Andreas Jaeger.
60072
60073         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
60074         available. They are required for the declarations of getgrgid and
60075         getpwuid resp.
60076         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
60077         Reported by Andreas Jaeger.
60078
60079 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
60080
60081         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
60082         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
60083         so `make install' also works in VPATH builds.
60084
60085 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
60086
60087         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
60088         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
60089         can be used in subdirectories.
60090
60091 2000-12-29  Paul Eggert  <eggert@twinsun.com>
60092
60093         * lib/modechange.c: Do not assume that mode_t uses the
60094         traditional octal encoding.  E.g. "chmod 1 FOO" should set
60095         the other-execute bit of FOO even if S_IXOTH != 1.
60096
60097         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
60098         WOTH, XOTH, ALLM): New macros.
60099         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
60100          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
60101         Use them.
60102         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
60103         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
60104         (mode_compile):
60105         No need to use uintmax_t; unsigned long is long enough.
60106         Don't bother to get suffix since we don't use it.
60107
60108 2000-12-26  Jim Meyering  <meyering@lucent.com>
60109
60110         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
60111         better with autoheader.
60112
60113 2000-12-24  Jim Meyering  <meyering@lucent.com>
60114
60115         * lib/hash.c (is_prime): Return explicit boolean values.
60116         (hash_get_first): Return NULL to appease Irix5.6's 89.
60117         Reported by Nelson Beebe.
60118
60119 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
60120
60121         * lib/localcharset.c (locale_charset): Add support for Win32.
60122
60123 2000-12-18  Paul Eggert  <eggert@twinsun.com>
60124
60125         * lib/physmem.h, lib/physmem.c: New files.
60126
60127         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
60128         (noinst_HEADERS): Add physmem.h.
60129
60130         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
60131         't' for compatibility with Solaris 8 sort.
60132
60133 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
60134
60135         * lib/config.charset: Add support for BeOS.
60136
60137 2000-12-17  Jim Meyering  <meyering@lucent.com>
60138
60139         * m4/dos.m4 (jm_AC_DOS): New file and macro.
60140         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
60141
60142 2000-12-16  Jim Meyering  <meyering@lucent.com>
60143
60144         This bug had a serious impact on chown: `chown N:M FILE' (for integer
60145         N and M) would have treated it like `chown N:N FILE'.
60146
60147         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
60148
60149 2000-12-16  Jim Meyering  <meyering@lucent.com>
60150
60151         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
60152         SHELLS_FILE to a file name that's useful on djgpp systems.
60153         Include stdlib.h.
60154         (ADDITIONAL_DEFAULT_SHELLS): Define.
60155         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
60156         Based mostly on a patch from Prashant TR.
60157
60158 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
60159
60160         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
60161         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
60162         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
60163
60164 2000-12-08  Andreas Schwab  <schwab@suse.de>
60165
60166         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
60167         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
60168
60169 2000-12-07  Jim Meyering  <meyering@lucent.com>
60170
60171         * lib/stripslash.c (ISSLASH): Define.
60172         (strip_trailing_slashes): Use ISSLASH rather than comparing against
60173         `/'.
60174         From Prashant TR.
60175
60176         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
60177         (dir_name_r): Declare this function as static.
60178         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
60179         manifest itself on a name containing a mix of slashes and
60180         backslashes.
60181         Make this function work with names starting with a DOS-style
60182         drive letter and colon prefix.
60183         (dir_name): Append `.' if necessary.
60184         Based mostly on patches from Prashant TR and Eli Zaretskii.
60185
60186         * lib/dirname.h (dir_name_r): Remove prototype.
60187
60188 2000-12-06  Paul Eggert  <eggert@twinsun.com>
60189
60190         * m4/off_t-format.m4: Remove this file.
60191         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
60192
60193 2000-12-06  Jim Meyering  <meyering@lucent.com>
60194
60195         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
60196         replacement strtoull, we may well need the replacement strtoul, too.
60197         Check for declarations of strtoul and strtoull.
60198         Check for strtol.  Mainly as a cue to cause automake to include
60199         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
60200         Check for limits.h -- strtol.c needs it.
60201
60202 2000-12-05  Jim Meyering  <meyering@lucent.com>
60203
60204         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
60205
60206 2000-12-04  Jim Meyering  <meyering@lucent.com>
60207
60208         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
60209         Also include memory.h, stdlib.h, unistd.h if appropriate.
60210         Reported by Andreas Jaeger (conflicting declaration of malloc).
60211
60212 2000-12-02  Jim Meyering  <meyering@lucent.com>
60213
60214         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
60215         * m4/jm-macros.m4 (jm_MACROS): require it.
60216
60217 2000-12-02  Jim Meyering  <meyering@lucent.com>
60218
60219         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
60220
60221 2000-12-01  Paul Eggert  <eggert@twinsun.com>
60222
60223         * lib/memrchr.c: Include <config.h> before any system include file.
60224
60225 2000-11-30  Jim Meyering  <meyering@lucent.com>
60226
60227         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
60228
60229 2000-11-30  Jim Meyering  <meyering@lucent.com>
60230
60231         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
60232
60233 2000-11-29  Paul Eggert  <eggert@twinsun.com>
60234
60235         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
60236
60237 2000-11-26  Jim Meyering  <meyering@lucent.com>
60238
60239         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
60240
60241 2000-11-22  Paul Eggert  <eggert@twinsun.com>
60242
60243         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
60244         size of (size_t) -1; it's not portable.
60245
60246 2000-11-17  Jim Meyering  <meyering@lucent.com>
60247
60248         * lib/strstr.c: Update from GNU libc.
60249
60250 2000-11-17  Akim Demaille  <akim@epita.fr>
60251
60252         * lib/obstack.h: Formatting changes.
60253         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
60254         prevent type checking.
60255         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
60256         cast the value to (void *): assigning a `foo *' to a `void *'
60257         variable is valid.
60258         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
60259
60260 2000-11-16  Jim Meyering  <meyering@lucent.com>
60261
60262         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
60263
60264 2000-11-11  Jim Meyering  <meyering@lucent.com>
60265
60266         * lib/error.c: Add a couple #includes, merging from GNU libc version.
60267
60268 2000-11-10  Jim Meyering  <meyering@lucent.com>
60269
60270         * lib/obstack.h: Update from GNU libc.
60271         * lib/obstack.c: Likewise.
60272
60273 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
60274
60275         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
60276
60277 2000-11-06  Paul Eggert  <eggert@twinsun.com>
60278
60279         * lib/getusershell.c (setusershell): Use rewind rather than
60280         fseek/fseeko, to avoid configuration hassles with fseeko.
60281         Don't bother opening SHELLS_FILE if shellstream is NULL;
60282         it's not necessary.
60283
60284 2000-11-05  Jim Meyering  <meyering@lucent.com>
60285
60286         * lib/makepath.h (make_dir): Declare.
60287         * lib/makepath.c (make_dir): Remove `static' attribute.
60288         Tweak a comment.
60289
60290 2000-11-04  Jim Meyering  <meyering@lucent.com>
60291
60292         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
60293
60294 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
60295
60296         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
60297         last one in a bucket, advance to the next bucket.
60298
60299 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
60300
60301         * lib/fnmatch.c: Do not comment out all the code if we are using
60302         the GNU C library, because in some cases we are replacing buggy
60303         code in the GNU C library itself.
60304
60305 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
60306
60307         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
60308         (regex_compile): Catch bogus \(\1\).
60309
60310 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60311
60312         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
60313         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
60314         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
60315
60316 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60317
60318         * lib/error.h, getline.h, modechange.h:
60319         Remove "2000" from Copyright line, as the file hasn't been
60320         changed this year other than in the copyright notice.
60321
60322         * lib/xalloc.h: Add "2000" to Copyright line, as this file
60323         was changed this year.
60324
60325 2000-10-29  Jim Meyering  <meyering@lucent.com>
60326
60327         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
60328         renaming.
60329         * m4/ls-mntd-fs.m4: Likewise
60330
60331 2000-10-29  Jim Meyering  <meyering@lucent.com>
60332
60333         * lib/xstat.in: Fix grammar in comment.
60334
60335 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
60336
60337         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
60338         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
60339         doesn't define __restrict_arr.
60340
60341 2000-10-28  Jim Meyering  <meyering@lucent.com>
60342
60343         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
60344         (jm_PREREQ_MEMCHR): New function.
60345
60346 2000-10-28  Jim Meyering  <meyering@lucent.com>
60347
60348         * lib/memchr.c: Update from libc.
60349         Adjust for portability:
60350         [HAVE_STDLIB_H]: Include stdlib.h.
60351         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
60352         Undef __memchr, too.
60353         [!weak_alias]: Define __memchr to memchr.
60354
60355         * lib/regex.c: Update from libc.
60356         * lib/regex.h: Likewise.
60357         * lib/getopt1.c: Likewise.
60358         * lib/memcmp.c: Likewise.
60359
60360         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
60361         Avoid using fseek, when possible -- it's broken by design.
60362         Patch by Ulrich Drepper.
60363
60364 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
60365
60366         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
60367         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
60368         Giving in to popular pressure to shut up the compiler with casts.
60369
60370 2000-10-26  Jim Meyering  <meyering@lucent.com>
60371
60372         * lib/strftime.c: Update from libc.
60373
60374 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
60375
60376         * regex.c: More `unsigned char' -> `re_char' changes.
60377         Also change several `int' into `re_wchar_t'.
60378         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
60379         (PUSH_FAILURE_POINTER): Don't cast any more.
60380         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
60381         We want GCC to complain, since this piece of code makes
60382         re_match non-reentrant, which *should* be fixed.
60383         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
60384         (EXTEND_BUFFER): Use RETALLOC.
60385         (SET_LIST_BIT): Don't cast.
60386         (re_wchar_t): New type.
60387         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
60388         that those two functions will always properly return.
60389         (IMMEDIATE_QUIT_CHECK): Cast to void.
60390         (analyse_first): Use recursion rather than an explicit stack.
60391         (re_compile_fastmap): Can't fail anymore.
60392         (re_search_2): Don't check re_compile_fastmap for failure.
60393         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
60394         Now also sets the new value (passed in a new argument).
60395         (re_match_2_internal): Use it.
60396         Also, use a new var `reg' of type size_t when looping through regs
60397         rather than reuse the inappropriate `mcnt'.
60398
60399 2000-10-25  Jim Meyering  <meyering@lucent.com>
60400
60401         * lib/obstack.c: Update from libc.
60402
60403 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
60404
60405         * regex.c (regex_compile): Change the way of handling a range from
60406         a char less than 256 to a char not less than 256.
60407
60408 2000-10-24  Andrew Innes  <andrewi@gnu.org>
60409
60410         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
60411         NT-Emacs only.
60412         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
60413         so that re_search functions only quit when callers expect them to.
60414
60415 2000-10-23  Jim Meyering  <meyering@lucent.com>
60416
60417         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
60418         wrong.  That set_locale call must not have any side effects.
60419         From Paul Eggert.
60420
60421 2000-10-22  Jim Meyering  <meyering@lucent.com>
60422
60423         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
60424         [CYCLIC]: Remove now-unused definition.
60425
60426         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
60427         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
60428         Suggestion from Ulrich Drepper.
60429
60430 2000-10-21  Jim Meyering  <meyering@lucent.com>
60431
60432         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
60433         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
60434         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
60435
60436 2000-10-21  Jim Meyering  <meyering@lucent.com>
60437
60438         * lib/dirname.c (memrchr): Declare if necessary.
60439         (dir_name): Remove the restriction that there be no
60440         trailing slashes.  Now, this code skips past them, effectively
60441         ignoring them.
60442         [TEST_DIRNAME] (main): New unit tests.
60443
60444         * lib/memrchr.c: New file from GNU libc.
60445         Undef __memrchr, too.
60446         [!weak_alias]: Define __memrchr to memrchr.
60447         Guard weak_alias use with `#ifdef weak_alias'.
60448
60449 2000-10-21  Jim Meyering  <meyering@lucent.com>
60450
60451         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
60452         (dir_name): Use dir_name_r.
60453         * lib/dirname.h (dir_name_r): Declare it.
60454
60455 2000-10-17  Jim Meyering  <meyering@lucent.com>
60456
60457         * lib/quote.h (PARAMS): Define and use.
60458         Reported by Akim Demaille.
60459
60460         * lib/getopt.c: Update from libc.
60461
60462 2000-10-16  Jim Meyering  <meyering@lucent.com>
60463
60464         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
60465         setlocale.
60466         From Jan Fedak.
60467
60468 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
60469
60470         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
60471
60472 2000-09-25  Jim Meyering  <meyering@lucent.com>
60473
60474         * lib/md5.h (rol): Define (from GnuPG).
60475
60476         * lib/sha.c: Give credit (GnuPG) where due.
60477         (M): Use rol rather than open-coding it.
60478         Add a FIXME comment.
60479
60480 2000-09-21  Jim Meyering  <meyering@lucent.com>
60481
60482         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
60483         Reported by Michael Stone.
60484
60485 2000-09-20  Jim Meyering  <meyering@lucent.com>
60486
60487         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
60488         (noinst_HEADERS): Add sha.h.
60489         Based on code from Scott G. Miller and from GnuPG.
60490
60491 2000-09-18  Jim Meyering  <meyering@lucent.com>
60492
60493         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
60494         LIBS. Otherwise, everyone ends up linking with -lelf for some
60495         configurations.
60496         Reported by Mike Stone.
60497
60498 2000-09-15  Jim Meyering  <meyering@lucent.com>
60499
60500         * lib/regex.c: Update from libc.
60501
60502 2000-09-10  Jim Meyering  <meyering@lucent.com>
60503
60504         * lib/getopt.c (_getopt_internal): Update from glibc.
60505
60506 2000-09-09  Jim Meyering  <meyering@lucent.com>
60507
60508         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
60509         think it should be used as a general replacement for isascii.
60510         * lib/fnmatch.c: Likewise.
60511         * lib/mbswidth.c: Likewise
60512         * lib/regex.c: Likewise.
60513
60514         Don't use atoi.
60515         * lib/userspec.c: Include sys/param.h and limits.h.
60516         Include xstrtol.h.
60517         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
60518         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
60519         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
60520         UID, GID.  Check range.
60521
60522 2000-09-06  Jim Meyering  <meyering@lucent.com>
60523
60524         * lib/getopt.c (_getopt_internal): Update from glibc.
60525
60526 2000-08-30  Jim Meyering  <meyering@lucent.com>
60527
60528         * lib/strftime.c: Merge in changes from GNU libc.
60529
60530 2000-08-26  Jim Meyering  <meyering@lucent.com>
60531
60532         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
60533         * m4/fpending.m4: New file.
60534
60535 2000-08-26  Jim Meyering  <meyering@lucent.com>
60536
60537         * lib/closeout.c: Include "__fpending.h".
60538         (close_stdout_status): Return right away if there's nothing to flush.
60539
60540         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
60541         * lib/__fpending.c: New file.
60542         * lib/__fpending.h: New file.
60543
60544 2000-08-20  Jim Meyering  <meyering@lucent.com>
60545
60546         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
60547         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
60548         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
60549
60550 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
60551
60552         Improve fileutils installation on systems where running
60553         programs (like install) can't be unlinked.
60554         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
60555         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
60556
60557 2000-08-07  Paul Eggert  <eggert@twinsun.com>
60558
60559         Standardize on "memory exhausted" instead of "Memory exhausted"
60560         or "virtual memory exhausted".
60561         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
60562         "virtual memory exhausted".
60563         * lib/same.c (same_name): Invoke xalloc_die instead of printing
60564         our own message.
60565         * lib/userspec.c (parse_user_spec): Likewise.
60566         * lib/bumpalloc.h: comment fix
60567         * lib/same.c, userspec.c: Include xalloc.h.
60568
60569         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
60570         not char *const and pointing to a constant array.
60571         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
60572         (xrealloc): Comment fix.
60573
60574         * lib/userspec.c (parse_user_spec):
60575         Don't translate a message until just before returning,
60576         to avoid unnecessary translation.
60577
60578 2000-08-07  Jim Meyering  <meyering@lucent.com>
60579
60580         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
60581         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
60582         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
60583         getgroups.c, gethostname.c, getopt.h, group-member.c,
60584         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
60585         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
60586         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
60587         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
60588         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
60589         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
60590         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
60591         yesno.c: Back out Copyright date changes for each file with no change
60592         this year.  This eases coordination with other programs using the same
60593         source code modules.  From Paul Eggert.
60594
60595 2000-08-06  Paul Eggert  <eggert@twinsun.com>
60596
60597         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
60598         not char, for compatibility with glibc 2.1.3 strftime.c.
60599
60600 2000-08-03  Greg McGary  <greg@mcgary.org>
60601
60602         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
60603         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
60604         (EXTEND_BUFFER): Use them.
60605
60606 2000-08-01  Jim Meyering  <meyering@lucent.com>
60607
60608         * lib/dirname.c (ISSLASH): Define.
60609         (BACKSLASH_IS_PATH_SEPARATOR): Define.
60610         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
60611         both `\' and `/' may be use as path separators.
60612         Based on a patch from Prashant TR.
60613
60614 2000-07-31  Paul Eggert  <eggert@twinsun.com>
60615
60616         * lib/quotearg.c (quotearg_n_options): Don't make the initial
60617         slot vector a constant, since it might get modified.
60618
60619 2000-07-31  Jim Meyering  <meyering@lucent.com>
60620
60621         * lib/xmalloc.c: Use `virtual memory exhausted', not
60622         `Memory exhausted'.
60623         * lib/obstack.c (print_and_abort): Likewise.
60624
60625 2000-07-30  Paul Eggert  <eggert@twinsun.com>
60626
60627         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
60628         buffer, so that the caller can always quote one small
60629         component of a "memory exhausted" message in slot 0.
60630         From a suggestion by Jim Meyering.
60631
60632 2000-07-30  Jim Meyering  <meyering@lucent.com>
60633
60634         * lib/makepath.c (make_path): Quote the other instance, too.
60635
60636         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
60637         (STATIC_BUF_SIZE): Define.
60638         (quotearg_n_options): Use only statically allocated storage when
60639         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
60640         than STATIC_BUF_SIZE.
60641
60642 2000-07-29  Jim Meyering  <meyering@lucent.com>
60643
60644         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
60645         * lib/dirname.c (dir_name): Likewise.
60646
60647         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
60648         `/'.
60649
60650         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
60651         (dir_name): Assert that there are no trailing slashes.
60652
60653 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
60654
60655         * lib/mbswidth.h (mbswidth): Add a flags argument.
60656         (mbswidth): New declaration.
60657         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
60658         * lib/mbswidth.c (mbswidth): Add a flags argument.
60659         (mbsnwidth): New function.
60660
60661 2000-07-24  Jim Meyering  <meyering@lucent.com>
60662
60663         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
60664
60665 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60666
60667         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
60668
60669 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60670
60671         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
60672         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
60673         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
60674         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
60675         invoke multibyte primitives.
60676
60677 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60678
60679         * lib/quotearg.c:
60680         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
60681         so that mbstate_t is always defined.
60682
60683         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
60684         be 1 in at least one GCC installation, and this configuration
60685         error is likely to be common.  Ignoring MB_LEN_MAX hurts
60686         performance on hosts that have mbrtowc but have only unibyte
60687         locales, but I assume these hosts are rare.
60688
60689 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60690
60691         * lib/mbswidth.c (_XOPEN_SOURCE):
60692         Don't define; this causes problems on Solaris 7.
60693         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
60694
60695 2000-07-23  Jim Meyering  <meyering@lucent.com>
60696
60697         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
60698         too: getgrgid, getpwuid, getuid.
60699
60700 2000-07-23  Jim Meyering  <meyering@lucent.com>
60701
60702         * lib/basename.c (base_name): Add an assertion.
60703
60704 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
60705
60706         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
60707         shadow its mbsinit function.
60708
60709 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
60710
60711         * lib/mbswidth.h: New file.
60712         * lib/mbswidth.c: New file.
60713         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
60714         (noinst_HEADERS): Add mbswidth.h.
60715
60716 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
60717
60718         * lib/config.charset: Add support for FreeBSD. Improve support for
60719         HP-UX and IRIX 6.
60720
60721 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
60722
60723         * m4/mbswidth.m4: New file.
60724         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
60725
60726 2000-07-15  Jim Meyering  <meyering@lucent.com>
60727
60728         * lib/makepath.c: Include quote.h.
60729         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
60730         corresponding argument in a `quote (...)' call.
60731         Give better diagnostics.
60732
60733         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
60734         (noinst_HEADERS): Add quote.h.
60735
60736         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
60737         from tar's src/misc.c.
60738         * lib/quote.h: New file.  Prototypes for same.
60739
60740 2000-07-14  Paul Eggert  <eggert@twinsun.com>
60741
60742         From a suggestion by Bruno Haible.
60743         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
60744         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
60745         to decide whether to define the BeOS workaround macro;
60746         this adjusts to the change to AC_MBSTATE_T.
60747
60748 2000-07-14  Jim Meyering  <meyering@lucent.com>
60749
60750         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
60751         jm_AC_TYPE_UINTMAX_T.
60752
60753 2000-07-13  Paul Eggert  <eggert@twinsun.com>
60754
60755         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
60756
60757         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
60758         quotearg_buffer_restyled): Add support for
60759         clocale_quoting_style.  Undo previous change to
60760         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
60761         and "{RIGHT QUOTATION MARK}" msgids.
60762
60763 2000-07-10  Paul Eggert  <eggert@twinsun.com>
60764
60765         From a suggestion by Bruno Haible.
60766         * m4/mbstate_t.m4 (AC_MBSTATE_T):
60767         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
60768         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
60769         and mbstate_t, to a single-part test that simply defines mbstate_t.
60770         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
60771         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
60772
60773 2000-07-10  Jim Meyering  <meyering@lucent.com>
60774
60775         * m4/strerror_r.m4: Mirror the correction made in autoconf.
60776
60777         * m4/gnu-source.m4: Output to confdefs.h directly.
60778         Suggestion from Akim Demaille.
60779
60780 2000-07-09  Paul Eggert  <eggert@twinsun.com>
60781
60782         The old behavior of quoting `like this' doesn't look good with
60783         newer, ISO-style fonts.  See:
60784         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
60785
60786         Instead, quote "like this" by default.  Let the translator
60787         tailor the locale-specific quoting behavior by providing
60788         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
60789
60790         * lib/quotearg.c (N_): New macro.
60791         (gettext_default): New function.
60792         (quotearg_buffer_restyled): Use
60793         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
60794         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
60795
60796 2000-07-09  Jim Meyering  <meyering@lucent.com>
60797
60798         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
60799         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
60800
60801         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
60802         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
60803
60804 2000-07-09  Jim Meyering  <meyering@lucent.com>
60805
60806         * lib/Most files: Update copyright dates to include 2000.
60807
60808 2000-07-08  Jim Meyering  <meyering@lucent.com>
60809
60810         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
60811         if not defined.
60812         (xgethostname): Remove now-unnecessary #ifdef.
60813         Move declaration of `err' into loop where it's used.
60814
60815 2000-07-05  Paul Eggert  <eggert@twinsun.com>
60816         and Bruno Haible  <haible@clisp.cons.org>
60817
60818         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
60819         only if the test for an object-type mbstate_t fails.  This
60820         prevents us from mistakenly reporting that mbstate_t is a
60821         system object type after we "#define mbstate_t int" to work
60822         around its lack.
60823
60824 2000-07-05  Paul Eggert  <eggert@twinsun.com>
60825         and Bruno Haible  <haible@clisp.cons.org>
60826
60827         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
60828
60829 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60830
60831         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
60832         to strerror_r.
60833         Include <ctype.h> for use of isalpha.
60834
60835 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60836
60837         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
60838         by allocating a larger buffer. Test the gethostname return value for
60839         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
60840         returns an error and ENAMETOOLONG isn't defined.
60841
60842 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60843
60844         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
60845         dimension.
60846
60847 2000-07-04  Jim Meyering  <meyering@lucent.com>
60848
60849         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
60850         of the deprecated AC_CHECKING.
60851
60852 2000-07-04  Jim Meyering  <meyering@lucent.com>
60853
60854         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
60855         Reported by Bruno Haible.
60856
60857 2000-07-04  Jim Meyering  <meyering@lucent.com>
60858
60859         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
60860         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
60861         lacks mbrtowc.
60862
60863 2000-07-03  Paul Eggert  <eggert@twinsun.com>
60864
60865         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
60866         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
60867
60868 2000-07-03  Paul Eggert  <eggert@twinsun.com>
60869         and Bruno Haible  <haible@clisp.cons.org>
60870
60871         * lib/quotearg.c (mbrtowc):
60872         Assign to *pwc, and return 1 only if result is nonzero.
60873         (iswprint): Use ISPRINT when substituting our own mbrtowc.
60874
60875 2000-07-03  Jim Meyering  <meyering@lucent.com>
60876
60877         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
60878
60879 2000-07-03  Jim Meyering  <meyering@lucent.com>
60880
60881         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
60882         This is necessary to get a definition of e.g., UTMP_FILE on
60883         HP-UX 10.20.
60884         From Bob Proulx.
60885
60886 2000-07-02  Jim Meyering  <meyering@lucent.com>
60887
60888         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
60889
60890         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
60891         AC_LIBOBJ(function_name).
60892         * m4/chown.m4: Likewise.
60893         * m4/fnmatch.m4: Likewise.
60894         * m4/ftruncate.m4: Likewise.
60895         * m4/getgroups.m4: Likewise.
60896         * m4/getline.m4: Likewise.
60897         * m4/group-member.m4: Likewise.
60898         * m4/jm-macros.m4: Likewise.
60899         * m4/lstat.m4: Likewise.
60900         * m4/malloc.m4: Likewise.
60901         * m4/memcmp.m4: Likewise.
60902         * m4/nanosleep.m4: Likewise.
60903         * m4/putenv.m4: Likewise.
60904         * m4/realloc.m4: Likewise.
60905         * m4/regex.m4: Likewise.
60906         * m4/stat.m4: Likewise.
60907         * m4/strftime.m4: Likewise.
60908
60909 2000-07-02  Jim Meyering  <meyering@lucent.com>
60910
60911         * lib/quotearg.c (mbstate_t): Don't define here.
60912
60913 2000-07-02  Jim Meyering  <meyering@lucent.com>
60914
60915         * lib/nanosleep.c (SIGCONT): Define if not already defined.
60916
60917 2000-07-01  Jim Meyering  <meyering@lucent.com>
60918
60919         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
60920
60921 2000-07-01  Jim Meyering  <meyering@lucent.com>
60922
60923         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
60924         problem.
60925
60926 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
60927
60928         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
60929         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
60930
60931 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
60932
60933         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
60934         per change in ../m4/ls-mntd-fs.m4.
60935         (read_filesystem_list): Ignore symbolic links.
60936
60937 2000-06-29  Jim Meyering  <meyering@lucent.com>
60938
60939         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
60940         for declaration of strcmp.
60941
60942         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
60943
60944         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
60945         Avoid warning by casting result to `char *' to remove `const'.
60946
60947 2000-06-28  Jim Meyering  <meyering@lucent.com>
60948
60949         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
60950         included by quotearg.c, for which we perform this test.  From
60951         Bruno Haible.
60952
60953 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
60954
60955         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
60956         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
60957         <utmpx.h> exists, put readutmp.o into LIBOBJS.
60958
60959 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
60960
60961         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
60962
60963 2000-06-26  Paul Eggert  <eggert@twinsun.com>
60964
60965         savedir now sets errno on failure and invokes xmalloc to get memory.
60966         Fix a couple of other minor bugs while we're at it.
60967
60968         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
60969         (NAMLEN): Remove macro.
60970         (malloc, realloc): Remove decls.
60971         (stpcpy): Likewise.
60972         ("xalloc.h"): Include.
60973         (NAME_SIZE_DEFAULT): New macro.
60974         (savedir): Use xmalloc / xrealloc to allocate memory.
60975         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
60976         Skip "" directory entries.
60977         Use strlen to calculate directory entry length, since the old method
60978         is rarely used these days and isn't worth supporting.
60979         Don't use a pointer after freeing it.
60980         Check for integer overflow when calculating allocation size.
60981         Use memcpy to copy entries, instead of stpcpy.
60982         Set errno properly when returning NULL.
60983         Check for readdir error.
60984
60985 2000-06-26  Jim Meyering  <meyering@lucent.com>
60986
60987         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
60988
60989 2000-06-25  Jim Meyering  <meyering@lucent.com>
60990
60991         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
60992         Linux header bug when _XOPEN_SOURCE is defined to 500.
60993
60994 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
60995
60996         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
60997         deficiency.
60998
60999 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61000
61001         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
61002         Include xalloc.h.
61003         Don't include <stdlib.h>.  Don't declare malloc, realloc.
61004
61005 2000-06-24  Jim Meyering  <meyering@lucent.com>
61006
61007         * m4/strerror_r.m4: Revive this file -- to try out an experimental
61008         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
61009         for which strerror does return char*, but which lacks a conveniently
61010         accessible declaration of the function.  If the compile-test says
61011         strerror_r doesn't work, then resort to a `run'-test that works on
61012         BeOS and segfaults on DEC Unix.
61013
61014 2000-06-24  Jim Meyering  <meyering@lucent.com>
61015
61016         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
61017
61018 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61019
61020         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
61021         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
61022
61023 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61024
61025         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
61026         (mbrtowc, mbstate_t): Define substitutes if
61027         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61028         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
61029         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
61030
61031 2000-06-23  Jim Meyering  <meyering@lucent.com>
61032
61033         * m4/afs.m4: Add missing AC_MSG_RESULT.
61034         Reported by Bruno Haible.
61035
61036         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
61037         Suggestion from Bruno Haible.
61038
61039 2000-06-23  Jim Meyering  <meyering@lucent.com>
61040
61041         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
61042
61043 2000-06-21  Jim Meyering  <meyering@lucent.com>
61044
61045         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
61046
61047 2000-06-21  Jim Meyering  <meyering@lucent.com>
61048
61049         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
61050         (noinst_HEADERS): Add getstr.h.
61051
61052         * lib/getline.c (getstr): Move into a separate file.
61053         * lib/getstr.c (getstr): New file, extracted from getline.c, with
61054         the following changes: new parameter, delim2; both delim[12]
61055         parameters have type `int', not `char'.  The latter would lose
61056         with 8-bit delimiters.
61057         * lib/getstr.h: New file.
61058
61059 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61060
61061         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
61062         than 1024, return a memory chunk of least possible size, instead
61063         of size PATH_MAX + 2. In the loop, increment the size proportionally.
61064         Use free/xmalloc instead of xrealloc to avoid copying for very long
61065         paths.
61066
61067 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61068
61069         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
61070         the empty string.
61071
61072 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61073
61074         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
61075         address, not strdup.  Include <stdlib.h> and don't declare free().
61076
61077 2000-06-19  Jim Meyering  <meyering@lucent.com>
61078
61079         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
61080
61081 2000-06-18  Jim Meyering  <meyering@lucent.com>
61082
61083         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
61084
61085         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
61086         `checking whether...' message to be consistent with that of the
61087         lstat test.
61088
61089 2000-06-18  Jim Meyering  <meyering@lucent.com>
61090
61091         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
61092         Besides, these days every porting target provides a mkdir function.
61093
61094         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
61095         needed. (this snippet comes from src/system.h).
61096
61097 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
61098
61099         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
61100
61101 2000-06-15  Paul Eggert  <eggert@twinsun.com>
61102
61103         * lib/human.c (adjust_value): New function.
61104         (human_readable_inexact): Apply rounding style even when
61105         printing approximate values.
61106
61107 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61108
61109         * lib/human.c (human_readable_inexact): Allow an input block
61110         size that is not a multiple of the output block size, and vice versa.
61111         Reported by Piergiorgio Sartor.
61112
61113 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61114
61115         * lib/getdate.y (get_date): Apply relative times after time
61116         zone indicator, not before.  Reported by Todd A. Jacobs.
61117
61118 2000-06-13  Jim Meyering  <meyering@lucent.com>
61119
61120         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
61121
61122         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
61123
61124 2000-06-12  Paul Eggert  <eggert@twinsun.com>
61125
61126         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
61127
61128 2000-06-12  Jim Meyering  <meyering@lucent.com>
61129
61130         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
61131         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
61132         optional argument.
61133         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
61134         the optional argument, `lib'.
61135
61136 2000-06-08  Jim Meyering  <meyering@lucent.com>
61137
61138         * m4/largefile.m4: Remove file (now that it's part of autoconf).
61139
61140 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61141
61142         Rewrite largefile configuration so that we don't need to run
61143         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
61144         AC_CANONICAL_HOST in configure.in -- jmm]
61145
61146         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
61147         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
61148         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
61149         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
61150         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
61151         All uses changed.
61152         Instead of inspecting the output of getconf, try to compile the
61153         test program without and with the macro definition.
61154         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
61155         for getconf.  Instead, check for the needed flags by compiling
61156         test programs.
61157
61158 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61159
61160         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
61161
61162 2000-06-04  Jim Meyering  <meyering@lucent.com>
61163
61164         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
61165         SunOS 4.1.4 for which gid_t is an unsigned type.
61166
61167 2000-06-03  Jim Meyering  <meyering@lucent.com>
61168
61169         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
61170         now that autoconf requires that.
61171
61172         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
61173         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
61174         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
61175
61176 2000-06-03  Jim Meyering  <meyering@lucent.com>
61177
61178         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
61179
61180 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61181
61182         * m4/glibc21.m4: New file.
61183         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
61184
61185 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61186
61187         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
61188         newer, don't install charset.alias.
61189         * lib/config.charset: Change the Linux/glibc rules so they become empty
61190         on glibc-2.1 or newer.
61191
61192 2000-06-02  Jim Meyering  <meyering@lucent.com>
61193
61194         * lib/mountlist.c: Back out last change.  Instead, do this...
61195         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
61196         me_dummy member using the same `ignore'-testing code.
61197         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
61198         fs_type strings.
61199         From Mark D. Roth.
61200
61201 2000-05-29  Jim Meyering  <meyering@lucent.com>
61202
61203         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
61204         mounts with the `ignore' attribute.  Based on a patch from
61205         Mark D. Roth.
61206
61207 2000-05-28  Jim Meyering  <meyering@lucent.com>
61208
61209         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
61210         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61211         * m4/stat.m4: Likewise.
61212         * m4/lstat.m4: Likewise.
61213         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
61214
61215         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
61216         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
61217
61218 2000-05-26  Jim Meyering  <meyering@lucent.com>
61219
61220         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
61221
61222 2000-05-24  Jim Meyering  <meyering@lucent.com>
61223
61224         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
61225         autoconf requires that.
61226         * m4/lib-check.m4: Likewise.
61227         * m4/jm-macros.m4: Likewise.
61228         * m4/strftime.m4: Likewise.
61229
61230         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
61231         AC_CHECK_DECLS, now that autoconf requires that.
61232
61233 2000-05-22  Jim Meyering  <meyering@lucent.com>
61234
61235         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61236         * m4/lstat.m4: Likewise.
61237
61238 2000-05-22  Jim Meyering  <meyering@lucent.com>
61239
61240         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
61241
61242 2000-05-20  Jim Meyering  <meyering@lucent.com>
61243
61244         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
61245         (jm_PREREQ): Use it.
61246
61247 2000-05-18  Jim Meyering  <meyering@lucent.com>
61248
61249         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
61250         back, too, since it may have been modified by allocate_entry.
61251         (hash_delete): Rewrite to use neither the assignment operator
61252         nor the comma operator in an if-expression.
61253
61254 2000-05-15  Paul Eggert  <eggert@twinsun.com>
61255
61256         * lib/closeout.c:
61257         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
61258         Remove; no longer needed.
61259         "quotearg.h": Add include.
61260         (file_name): Do not bother to explicitly initialize to NULL; it's less
61261         efficient on some hosts.
61262         (close_stdout_status): Remove test as to whether stdout was already
61263         closed; it breaks for the case "echo x | sort >&-".
61264         Quote file name colons.
61265         Do not assume that _("write error") lacks format strings.
61266
61267 2000-05-15  Jim Meyering  <meyering@lucent.com>
61268
61269         * lib/version-etc.c (version_etc_copyright): Update the copyright
61270         string used in all --version output.
61271
61272 2000-05-14  Jim Meyering  <meyering@lucent.com>
61273
61274         * lib/closeout.c (close_stdout_set_file_name): New function.
61275         (close_stdout_status): Use new file-scoped global.
61276         Return right away if fstat says the stdout file descriptor is invalid.
61277         * lib/closeout.h (close_stdout_set_file_name): Declare.
61278
61279 2000-05-10  Jim Meyering  <meyering@lucent.com>
61280
61281         * lib/closeout.c [default_exit_status]: New file-scoped variable.
61282         (close_stdout_set_status): New function.
61283         * lib/closeout.h (close_stdout_set_status): Declare.
61284
61285 2000-05-09  Jim Meyering  <meyering@lucent.com>
61286
61287         * m4/gettext.m4: Rename this...
61288         * m4/libintl.m4: ...to this.
61289
61290 2000-05-08  Jim Meyering  <meyering@lucent.com>
61291
61292         * lib/long-options.c: Don't include closeout.h.
61293         (parse_long_options): Don't call close_stdout for --version.
61294
61295 2000-05-06  Paul Eggert  <eggert@twinsun.com>
61296
61297         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
61298         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
61299         2.1.3 bug.  This avoids a clash when files like regex.c define
61300         _GNU_SOURCE.
61301
61302 2000-05-06  Jim Meyering  <meyering@lucent.com>
61303
61304         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
61305         (AC_REPLACE_FUNCS): Add strnlen.
61306
61307         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
61308         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
61309
61310         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
61311         AC_SEARCH_LIBS call for nanosleep.
61312         (LIB_NANOSLEEP): Set and AC_SUBST.
61313
61314 2000-05-06  Jim Meyering  <meyering@lucent.com>
61315
61316         * lib/strnlen.c: Undefine __strnlen and strnlen.
61317         [!weak_alias]: Define __strnlen to strnlen.
61318
61319         * lib/atexit.c: New file, from libiberty.
61320
61321 2000-05-06  Jim Meyering  <meyering@lucent.com>
61322
61323         * lib/closeout.c (close_stdout_status): Also check for errors on the
61324         stderr stream.
61325
61326 2000-05-05  Jim Meyering  <meyering@lucent.com>
61327
61328         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
61329         AC_SEARCH_LIBS call for clock_gettime.
61330         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
61331
61332         * m4/search-libs.m4: Update from autoconf.
61333
61334         su doesn't work on Solaris 2.6.
61335         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
61336         <shadow.h>.  Reported by Dragos Harabor.
61337
61338 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
61339
61340         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
61341         memcpy instead of xmalloc, xrealloc, path_concat.
61342         (locale_charset): Treat empty environment variables as absent.
61343         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
61344
61345 2000-05-04  Jim Meyering  <meyering@lucent.com>
61346
61347         * lib/getopt.c: Update from glibc.
61348         * lib/obstack.c: Likewise.
61349         * lib/obstack.h: Likewise.
61350         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
61351         file
61352
61353         * lib/regex.h: Likewise.
61354         * lib/strndup.c: Likewise.
61355         * lib/strnlen.c: New file, from glibc.
61356
61357 2000-05-03  Jim Meyering  <meyering@lucent.com>
61358
61359         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
61360
61361 2000-05-02  Paul Eggert  <eggert@twinsun.com>
61362
61363         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
61364         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
61365         compile-time test, rather than inspecting host and OS, to
61366         decide whether to define _LARGEFILE_SOURCE.
61367
61368 2000-05-01  Jim Meyering  <meyering@lucent.com>
61369
61370         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
61371
61372         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
61373         Based on a patch from Bruno Haible.
61374
61375 2000-05-01  Jim Meyering  <meyering@lucent.com>
61376
61377         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
61378
61379 2000-04-29  Jim Meyering  <meyering@lucent.com>
61380
61381         * lib/path-concat.c: Declare strdup only if it's not defined.
61382         * lib/canon-host.c: Likewise.
61383
61384 2000-04-28  Jim Meyering  <meyering@lucent.com>
61385
61386         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
61387         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
61388         is included first, then limits.h is included by locale.h by libintl.h.
61389         From John David Anglin.
61390
61391 2000-04-25  Jim Meyering  <meyering@lucent.com>
61392
61393         * lib/makepath.c (S_IRWXUGO): Define.
61394         (make_path): Always perform explicit chmod if MODE specifies any
61395         of the `special' permission bits.  Prompted by a bug report against
61396         install from Mate Wierdl and Joost van Baal.
61397
61398 2000-04-18  Jim Meyering  <meyering@lucent.com>
61399
61400         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
61401         (jm_PREREQ): Use it.
61402
61403 2000-04-18  Jim Meyering  <meyering@lucent.com>
61404
61405         * lib/README: New file.
61406
61407         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
61408         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
61409
61410 2000-04-17  Jim Meyering  <meyering@lucent.com>
61411
61412         Get it right :-)
61413         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
61414         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
61415         Suggestion from Akim Demaille.
61416
61417 2000-04-17  Jim Meyering  <meyering@lucent.com>
61418
61419         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
61420         the definition of it to rpl_strftime also defined-away the system's
61421         declaration.
61422
61423 2000-04-15  Jim Meyering  <meyering@lucent.com>
61424
61425         Use `C' to denote so-called `contiguous' files, the same way
61426         that tar does.
61427         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
61428         (ftypelet): Use S_ISCTG.
61429         From Michael Deutschmann.
61430
61431 2000-04-14  Jim Meyering  <meyering@lucent.com>
61432
61433         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
61434         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
61435         clobbered.
61436
61437 2000-04-14  Jim Meyering  <meyering@lucent.com>
61438
61439         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
61440
61441 2000-04-13  Jim Meyering  <meyering@lucent.com>
61442
61443         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
61444         AH_VERBATIM to insert required #ifndef into config.h.in.
61445         Suggestion from Akim Demaille.
61446
61447 2000-04-12  Jim Meyering  <meyering@lucent.com>
61448
61449         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
61450         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
61451         Christian Krackowizer.
61452
61453         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
61454         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
61455         (AC_SYS_LARGEFILE): Require.
61456         (AM_C_PROTOTYPES): Require.
61457
61458 2000-04-08  Jim Meyering  <meyering@lucent.com>
61459
61460         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
61461         names don't conflict.  Reported by Eli Zaretskii.
61462
61463 2000-04-07  Jim Meyering  <meyering@lucent.com>
61464
61465         * lib/putenv.c: Move inclusion of errno.h so it follows that of
61466         sys/types.h, to work around system header problems on AIX 3.2.5.
61467         From Bruno Haible.
61468
61469 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
61470
61471         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
61472         bug.  Deal with the different error behavior of Irix iconv.
61473
61474 2000-04-05  Paul Eggert  <eggert@twinsun.com>
61475
61476         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
61477         IRIX if the installer said otherwise.
61478
61479 2000-04-05  Jim Meyering  <meyering@lucent.com>
61480
61481         Portability tweaks required for ultrix4.3.
61482         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
61483         (jm_CHECK_DECLS): Add getutent to the list of functions.
61484         (_jm_DECL_HEADERS): Add utmpx.h.
61485         From John David Anglin.
61486
61487         * m4/strftime.m4: Back out the 2000-04-02 change.
61488         Instead of that change, simply undefine putenv in the test program.
61489
61490 2000-04-05  Jim Meyering  <meyering@lucent.com>
61491
61492         Portability tweaks required for ultrix4.3.
61493         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
61494         getutent.
61495         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
61496         * lib/canon-host.c: Declare strdup.
61497         * lib/path-concat.c: Likewise.
61498         From John David Anglin.
61499
61500 2000-04-04  Jim Meyering  <meyering@lucent.com>
61501
61502         Be more DOS 8.3-friendly.
61503         * lib/ref-add.sin: Renamed from ref-add.sed.in.
61504         * lib/ref-del.sin: Renamed from ref-del.sed.in.
61505         * lib/Makefile.am: Reflect renaming.
61506         Reported by Eli Zaretskii.
61507
61508         Use a temporary file name that won't clash with `charset.alias'
61509         in the DOS 8.3 name space.
61510         * lib/Makefile.am (charset_tmp): Define.
61511         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
61512         (uninstall-local): Likewise.
61513         Reported by Eli Zaretskii.
61514
61515 2000-04-03  Jim Meyering  <meyering@lucent.com>
61516
61517         * m4/gettext.m4: Fix typo in comment.
61518
61519         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
61520         textutils/configure.in).  Suggestion from Paul Eggert.
61521         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
61522
61523 2000-04-02  Paul Eggert  <eggert@twinsun.com>
61524
61525         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
61526         variable in the shell rather than using putenv, which isn't
61527         portable.  This avoids the configure-time inter-test dependency
61528         on the potentially-renamed putenv function.
61529
61530 2000-03-30  Paul Eggert  <eggert@twinsun.com>
61531
61532         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
61533         before checking struct stat.st_blksize, so that
61534         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
61535
61536 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61537
61538         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
61539         since strftime.c uses HAVE_STRFTIME to decide whether to use
61540         the underlying strftime.
61541
61542 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61543
61544         * lib/time/strftime.c (my_strftime): Make sure we call the system
61545         strftime, not ourselves, when invoking the underlying strftime.
61546
61547 2000-03-24  Jim Meyering  <meyering@lucent.com>
61548
61549         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
61550         (charset_alias): Define.
61551         (install-exec-local): Factor out common code.
61552         (uninstall-local): Split lines longer than 80.
61553         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
61554         (SUFFIXES): Define.
61555         (.sed.in.sed): New rule.  Don't redirect directly to $@.
61556         (CLEANFILES): Add ref-add.sed and ref-del.sed.
61557
61558 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
61559
61560         * lib/config.charset: Output a line containing "Packages using this
61561         file".
61562         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
61563         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
61564         ref-del.sed): New rules.
61565
61566 2000-03-17  Jim Meyering  <meyering@lucent.com>
61567
61568         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
61569         Otherwise, include <strings.h>
61570
61571 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
61572
61573         * lib/unicodeio.c (utf8_wctomb): New function.
61574         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
61575         format instead of in UCS-4 with platform dependent endianness.
61576
61577 2000-03-10  Jim Meyering  <meyering@lucent.com>
61578
61579         * m4/lib-check.m4: Look for getspnam in -lgen, too.
61580         From Marco Franzen.
61581
61582 2000-03-07  Paul Eggert  <eggert@twinsun.com>
61583
61584         * lib/savedir.c (savedir): Work even if directory size is
61585         negative; this can happen with some screwy NFS configurations.
61586
61587 2000-03-06  Jim Meyering  <meyering@lucent.com>
61588
61589         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
61590         if it's NULL (because we ran out of memory).  From Bruno Haible.
61591
61592 2000-03-05  Jim Meyering  <meyering@lucent.com>
61593
61594         * lib/localcharset.c ("path-concat.h"): Include.
61595         (get_charset_aliases): Use path_concat instead of ANSI string
61596         concatenation.
61597
61598         * lib/unicodeio.h (PARAMS): Define.
61599         Use it to guard prototype.
61600
61601 2000-03-04  Jim Meyering  <meyering@lucent.com>
61602
61603         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
61604         for lib/localcharset.c.
61605
61606 2000-03-04  Jim Meyering  <meyering@lucent.com>
61607
61608         * lib/Makefile.am (install-exec-local): Create $(libdir) before
61609         installing into it.
61610         (uninstall-local): Uncomment this rule so `make distcheck' works
61611         once again.
61612
61613         * lib/unicodeio.c (<errno.h>): Include it.
61614         (errno): Declare if not defined.
61615
61616         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
61617
61618         * lib/config.charset: New version, incorporating remarks from a linux
61619         i18n mailing list.  From Bruno Haible.
61620
61621 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
61622
61623         * m4/codeset.m4: New file.
61624         * m4/iconv.m4: New file.
61625         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
61626
61627 2000-03-03  Jim Meyering  <meyering@lucent.com>
61628
61629         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
61630
61631 2000-03-02  Jim Meyering  <meyering@lucent.com>
61632
61633         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
61634         the messages come out on separate lines.
61635
61636         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
61637         rather than jm_CHECK_DECLARATIONS.
61638         * m4/decl.m4: Remove now-unused file.
61639
61640         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
61641         geteuid.
61642
61643 2000-03-02  Jim Meyering  <meyering@lucent.com>
61644
61645         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
61646
61647 2000-03-01  Jim Meyering  <meyering@lucent.com>
61648
61649         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
61650         * lib/unicodeio.c: Likewise.
61651
61652 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
61653
61654         * lib/config.charset: New file.
61655         * lib/localcharset.c: New file.
61656         * lib/unicodeio.h, lib/unicodeio.c: New files.
61657         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
61658         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
61659         (noinst_HEADERS): Add unicodeio.h.
61660         (all-local, install-exec-local, charset.alias): New targets.
61661
61662 2000-02-28  Paul Eggert  <eggert@twinsun.com>
61663
61664         * lib/quotearg.c (ALERT_CHAR): New macro.
61665         (quotearg_buffer_restyled): Use it.
61666
61667 2000-02-27  Jim Meyering  <meyering@lucent.com>
61668
61669         * m4/check-decl.m4: Add getenv to the list.
61670
61671 2000-02-27  Jim Meyering  <meyering@lucent.com>
61672
61673         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
61674         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
61675
61676         * lib/backupfile.c: Guard inclusion of stdlib.h with
61677         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
61678         Declare malloc if needed.
61679
61680         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
61681         `#ifndef HAVE_DECL..'
61682         now that autoconf always defines the HAVE_DECL_ symbols.
61683         * lib/human.c: Likewise.
61684         * lib/same.c: Likewise.
61685         * lib/strtoumax.c: Likewise.
61686
61687         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
61688         declaration check was not run.
61689         * lib/hash.c: Likewise.
61690         * lib/human.c: Likewise.
61691         * lib/same.c: Likewise.
61692         * lib/strtoumax.c: Likewise.
61693
61694         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
61695         `.', then first look up the entire `.'-containing string as a login
61696         name.
61697
61698 2000-02-23  Jim Meyering  <meyering@lucent.com>
61699
61700         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
61701         in place of my hack.
61702
61703 2000-02-18  Paul Eggert  <eggert@twinsun.com>
61704
61705         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
61706         (textint): New typedef.
61707         (parser_control): Member year changed from int to textint.
61708         All uses changed.
61709         (YYSTYPE): Removed; replaced by %union with int and textint members.
61710         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
61711         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
61712         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
61713         (tSNUMBER, tUNUMBER): Now of type <textintval>.
61714         (date, number, to_year): Use width of number in digits, not its value,
61715         to determine whether it's a 2-digit year, or a 2-digit time.
61716         (yylex): Store number of digits of numeric tokens.
61717         Reported by John Kendall.
61718
61719         (parser_control): Changed from struct parser_control to typedef (for
61720         consistency).  All uses changed.
61721
61722         (tID): Removed; not used.
61723         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
61724
61725 2000-02-14  Paul Eggert  <eggert@twinsun.com>
61726
61727         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
61728         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
61729
61730 2000-02-12  Jim Meyering  <meyering@lucent.com>
61731
61732         * lib/userspec.c (ISDIGIT): Define it.
61733         (isdigit): Remove definition.
61734         (is_number): Use ISDIGIT, not isdigit.
61735         <libintl.h>: Include.
61736         (_ and N_): Define.
61737         (parse_user_spec): Mark translatable strings.
61738
61739 2000-02-10  Jim Meyering  <meyering@lucent.com>
61740
61741         With these changes, nanosleep.[ch] are finally enough like the other
61742         lib/* replacement files to compile on a few more losing systems.
61743
61744         * lib/nanosleep.h: Don't include config.h.
61745         Remove prototype from declaration of nanosleep.
61746         (PARAMS): Remove now-unneeded definition.
61747         * lib/nanosleep.c: #undef nanosleep.
61748         (rpl_nanosleep): Rename from nanosleep.
61749
61750 2000-02-10  Jim Meyering  <meyering@lucent.com>
61751
61752         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
61753         gnu_nanosleep to rpl_nanosleep.
61754
61755 2000-02-09  Jim Meyering  <meyering@lucent.com>
61756
61757         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
61758         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
61759
61760 2000-02-08  Akim Demaille  <akim@epita.fr>
61761
61762         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
61763         `[' and `]' and remove uses of `changequote'.
61764         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
61765         (AC_SYS_LARGEFILE): Likewise.
61766         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
61767         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
61768         of changequote.
61769         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
61770         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
61771         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
61772         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
61773
61774 2000-02-05  Jim Meyering  <meyering@lucent.com>
61775
61776         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
61777         Remove explicit use of AC_HEADER_TIME.  It is required by
61778         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
61779         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
61780         in autoconf whereby the expansion of the latter ended up preceding
61781         the expansion of its prerequisite, AC_HEADER_TIME.
61782         Reported by Volker Borchert.
61783
61784 2000-02-03  Jim Meyering  <meyering@lucent.com>
61785
61786         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
61787
61788 2000-02-03  Jim Meyering  <meyering@lucent.com>
61789
61790         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
61791         rather than with `#if HAVE_UTMPNAME'.
61792
61793 2000-02-02  Jim Meyering  <meyering@lucent.com>
61794
61795         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
61796         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
61797         Reported by Eli Zaretskii.
61798
61799 2000-02-01  Jim Meyering  <meyering@lucent.com>
61800
61801         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
61802
61803 2000-01-31  Jim Meyering  <meyering@lucent.com>
61804
61805         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
61806         functions.  Add the time.h and sys/time.h headers along with the
61807         AC_REQUIRE'ment of AC_HEADER_TIME.
61808
61809 2000-01-31  Jim Meyering  <meyering@lucent.com>
61810
61811         * lib/nanosleep.h (nanosleep): Guard declaration with
61812         `#if ! HAVE_DECL_NANOSLEEP'.
61813         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
61814         the declaration in that vendor's sys/timers.h.
61815         Reported by Christian Krackowizer.
61816
61817         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
61818         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
61819         (ISPRINT): Likewise.
61820         Reported by Tom Tromey.
61821
61822 2000-01-30  Jim Meyering  <meyering@lucent.com>
61823
61824         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
61825
61826         * m4/prereq.m4 (utmp_includes): Define.
61827         Check for ut_user and ut_name members in both struct utmpx
61828         and struct utmp.
61829
61830 2000-01-30  Jim Meyering  <meyering@lucent.com>
61831
61832         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
61833         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
61834         header files where only utmpx.ut_user is declared.
61835
61836         * lib/readutmp.h (UT_USER): Define.
61837
61838 2000-01-29  Jim Meyering  <meyering@lucent.com>
61839
61840         * m4/lib-check.m4: New file containing library-related checks from
61841         fileutils and sh-utils (textutils had none).
61842
61843 2000-01-28  Jim Meyering  <meyering@lucent.com>
61844
61845         * m4/perl.m4: Change format of warning message to look more like that
61846         from the missing script.  Suggestion from François Pinard.
61847
61848 2000-01-25  Jim Meyering  <meyering@lucent.com>
61849
61850         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
61851         well as time.h in the compile check.
61852         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
61853         Fix typo in cross-compiling case: s/yes/no/.
61854
61855 2000-01-23  Jim Meyering  <meyering@lucent.com>
61856
61857         * m4/jm-macros.m4: Move df-related tests here from
61858         fileutils/configure.in
61859
61860         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
61861         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
61862
61863         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
61864         s/space/ac_fsusage_space/.
61865         (jm_FILE_SYSTEM_USAGE): Take two parameters.
61866
61867         * m4/ftruncate.m4: New file (derived from part of
61868         fileutils/configure.in).
61869         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
61870         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
61871
61872         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
61873         AC_SUBST these here, rather than just in sh-util/configure.in, so
61874         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
61875         all the same.
61876         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
61877         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
61878         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
61879         (AC_SUBST(POW_LIBM)): Likewise.
61880         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
61881
61882 2000-01-23  Jim Meyering  <meyering@lucent.com>
61883
61884         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
61885         obstack.c.
61886
61887 2000-01-22  Jim Meyering  <meyering@lucent.com>
61888
61889         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
61890
61891         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
61892
61893         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
61894         configure.in
61895         (AC_CHECK_HEADERS): Likewise for sh-utils.
61896         (AC_CHECK_HEADERS): Likewise for textutils.
61897         Merge the three lists of headers.
61898
61899         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
61900         from fileutils' configure.in.
61901
61902         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
61903         code. Moved tests into their own function (_jm_DECL_HEADERS) in
61904         check-decl.m4.
61905
61906         * m4/check-decl.m4: Use #if rather than #ifdef.
61907         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
61908         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
61909         (_jm_DECL_HEADERS): Define new function.
61910         (jm_CHECK_DECLARATIONS): Require it.
61911
61912 2000-01-22  Jim Meyering  <meyering@lucent.com>
61913
61914         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
61915         [! HAVE_DECL_STRTOULL]: Declare strtoull.
61916         Required for some AIX systems.  Reported by Christian Krackowizer.
61917         [TESTING] (main): New function.
61918
61919         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
61920         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
61921         letters.
61922
61923         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
61924         iswprint.
61925
61926         * lib/strverscmp.c (ISDIGIT): Define.
61927         (strverscmp): Use ISDIGIT, not isdigit.
61928
61929 2000-01-19  Jim Meyering  <meyering@lucent.com>
61930
61931         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
61932         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
61933         defines `struct timespec' in <sys/time.h>
61934
61935         * m4/c-bs-a.m4: Remove uses of changequote altogether.
61936         Thanks to Akim for explaining.
61937
61938 2000-01-17  Paul Eggert  <eggert@twinsun.com>
61939
61940         * lib/nanosleep.c (nanosleep):
61941         Don't use SA_INTERRUPT to decide whether to call sigaction, as
61942         POSIX.1 doesn't require SA_INTERRUPT and some systems
61943         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
61944         it's been part of POSIX.1 since day 1 (in 1988).
61945
61946 2000-01-17  Jim Meyering  <meyering@lucent.com>
61947
61948         * lib/interlock: Remove unused file.  Reported by François Pinard.
61949
61950 2000-01-16  Paul Eggert  <eggert@twinsun.com>
61951
61952         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
61953         alert, backslash, formfeed, and vertical tab unnecessarily in
61954         shell quoting style.
61955
61956 2000-01-16  Jim Meyering  <meyering@lucent.com>
61957
61958         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
61959         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
61960         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
61961         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
61962
61963 2000-01-16  Jim Meyering  <meyering@lucent.com>
61964
61965         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
61966         because the latter didn't work.
61967
61968 2000-01-15  Jim Meyering  <meyering@lucent.com>
61969
61970         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
61971         (AC_REPLACE_FUNCS): Add memcpy and memset.
61972         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
61973         Add strpbrk.
61974         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
61975
61976 2000-01-12  Jim Meyering  <meyering@lucent.com>
61977
61978         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
61979         (jm_PREREQ): Use it.
61980         (jm_PREREQ_READUTMP): New macro.
61981         (jm_PREREQ): Use it.
61982
61983 2000-01-11  Paul Eggert  <eggert@twinsun.com>
61984
61985         Quote multibyte characters correctly.
61986         * m4/c-bs-a.m4: New file.
61987         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
61988         (jm_PREREQ): Use it.
61989
61990 2000-01-11  Paul Eggert  <eggert@twinsun.com>
61991
61992         * m4/uintmax_t.m4: Port to autoconf 2.13.
61993
61994 2000-01-08  Jim Meyering  <meyering@ascend.com>
61995
61996         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
61997         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
61998
61999 2000-01-04  Jim Meyering  <meyering@ascend.com>
62000
62001         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
62002         jm_STRUCT_DIRENT_D_TYPE.
62003         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
62004         jm_STRUCT_DIRENT_D_INO.
62005         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
62006         jm_STRUCT_UTIMBUF.
62007         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
62008         renamings.
62009         * m4/utime.m4: Likewise.
62010
62011         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
62012         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
62013
62014 2000-01-03  Paul Eggert  <eggert@twinsun.com>
62015
62016         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
62017         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
62018
62019 2000-01-02  Jim Meyering  <meyering@ascend.com>
62020
62021         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
62022         remember if this is necessary.
62023
62024 1999-12-26  Jim Meyering  <meyering@ascend.com>
62025
62026         * m4/jm-macros.m4: Use it here.
62027         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
62028
62029 1999-12-23  Jim Meyering  <meyering@ascend.com>
62030
62031         * m4/jm-macros.m4: Check for clock_gettime (moved from
62032         fileutils/configure.in)
62033         Check for gettimeofday.
62034
62035 1999-12-20  Jim Meyering  <meyering@ascend.com>
62036
62037         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
62038         autoconf-2.14a-1999-12-20.
62039
62040 1999-12-19  Jim Meyering  <meyering@ascend.com>
62041
62042         * m4/lstat-slash.m4: New file.
62043         * m4/jm-macros.m4: Use the new macro:
62044         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62045
62046 1999-12-07  Jim Meyering  <meyering@ascend.com>
62047
62048         * m4/perl.m4: Require that File::Compare be available, too.
62049         Too many systems seem to lack it.
62050
62051         * m4/strftime.m4: Add checks for most of the cpp macros tested in
62052         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
62053
62054 1999-11-18  Paul Eggert  <eggert@twinsun.com>
62055
62056         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
62057         problem with the QNX 4.25 shell, which doesn't propagate exit
62058         status of failed commands inside shell assignments.
62059
62060 1999-11-17  Jim Meyering  <meyering@ascend.com>
62061
62062         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
62063
62064 1999-11-07  Jim Meyering  <meyering@ascend.com>
62065
62066         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
62067
62068 1999-11-06  Jim Meyering  <meyering@ascend.com>
62069
62070         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
62071         * m4/jm-macros.m4 (jm_MACROS): Use it here.
62072
62073 1999-11-05  Jim Meyering  <meyering@ascend.com>
62074
62075         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
62076         configure.in of textutils, fileutils, and sh-utils into this one
62077         (shared between those packages) file.
62078         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
62079         AC_STRUCT_ST_BLKSIZE.
62080
62081 1999-11-03  Jim Meyering  <meyering@ascend.com>
62082
62083         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
62084         of AC_CHECK_TYPE checks includes unistd.h.
62085         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
62086         Suggestion from Akim Demaille.
62087
62088 1999-10-30  Jim Meyering  <meyering@ascend.com>
62089
62090         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
62091         m4-quoted string.
62092         * m4/ls-mntd-fs.m4: Likewise.
62093         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
62094         * m4/jm-winsz1.m4: Likewise.
62095
62096         * m4/const.m4: Remove file, since the fix made it into the experimental
62097         version of autoconf.
62098         * m4/mktime.m4: Likewise.
62099
62100         * m4/check-type.m4: Remove file, now that the latest version of
62101         AC_CHECK_TYPE takes a third arg to specify additional #includes.
62102
62103         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
62104         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
62105         AC_CHECK_TYPE.
62106
62107 1999-10-04  Jim Meyering  <meyering@ascend.com>
62108
62109         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
62110
62111 1999-09-22  Paul Eggert  <eggert@twinsun.com>
62112
62113         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
62114         2.95.1 bug with HP-UX 10.20.
62115
62116 1999-09-17  Jim Meyering  <meyering@ascend.com>
62117
62118         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
62119         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
62120         due to missing strdup (against sh-utils-2.0).
62121
62122 1999-08-29  Jim Meyering  <meyering@ascend.com>
62123
62124         * m4/jm-macros.m4: Require jm_BISON.
62125         * m4/bison.m4: New file.
62126
62127 1999-08-17  Paul Eggert  <eggert@twinsun.com>
62128
62129         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
62130         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
62131
62132 1999-08-05  Jim Meyering  <meyering@ascend.com>
62133
62134         * m4/getline.m4: Rename test file from conftestdata to conftest.data
62135         to avoid conflicts with `conftest' on 8+3 filesystems.
62136         Suggestion from Eli Zaretskii.
62137
62138 1999-08-04  Jim Meyering  <meyering@ascend.com>
62139
62140         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
62141         fileutils and sh-utils (textutils's getline test was inadequate).
62142         (AM_FUNC_GETLINE): Run this test.
62143         (AC_CHECK_FUNCS): Check for getdelim.
62144         Reported by Bob Proulx.
62145
62146 1999-08-02  Jim Meyering  <meyering@ascend.com>
62147
62148         * m4/jm-macros.m4: Add a comment.
62149
62150 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62151
62152         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
62153         <inttypes.h> defines strtoumax as a macro (and not as a
62154         function).
62155
62156 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62157
62158         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
62159         that we can shift, multiply and divide unsigned long long
62160         values; Ultrix cc can't do it.
62161
62162 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62163
62164         * m4/mktime.m4: New file, which is a preview of what should appear
62165         in the next public autoconf release.
62166
62167 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62168
62169         * m4/lfs.m4: Remove this file.
62170         * m4/largefile.m4: New file.  It contains the old contents of
62171         lfs.m4, except that all names with prefix AC_LFS have been
62172         changed to use the prefix AC_SYS_LARGEFILE instead, to be
62173         compatible with future autoconf versions.  Also, some minor m4
62174         quoting problems have been fixed.
62175
62176 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62177
62178         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
62179         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
62180         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
62181         and simplify the shell code.
62182
62183 1999-08-01  Jim Meyering  <meyering@ascend.com>
62184
62185         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
62186         m4.
62187
62188 1999-07-20  Jim Meyering  <meyering@ascend.com>
62189
62190         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
62191
62192 1999-07-15  Jim Meyering  <meyering@ascend.com>
62193
62194         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
62195
62196 1999-05-22  Jim Meyering  <meyering@ascend.com>
62197
62198         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
62199
62200 1999-05-20  Jim Meyering  <meyering@ascend.com>
62201
62202         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
62203         Add a colon after each `then' in case $4 is empty.
62204
62205 1999-05-16  Jim Meyering  <meyering@ascend.com>
62206
62207         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
62208
62209 1999-05-10  Jim Meyering  <meyering@ascend.com>
62210
62211         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
62212
62213         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
62214         AC_FUNC_MKTIME.
62215
62216 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
62217
62218         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
62219
62220 1999-05-04  Paul Eggert  <eggert@twinsun.com>
62221
62222         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
62223         not CPPFLAGS, so that linking works correctly in IRIX.
62224
62225 1999-04-30  Paul Eggert  <eggert@twinsun.com>
62226
62227         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
62228
62229 1999-04-20  Paul Eggert  <eggert@twinsun.com>
62230
62231         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
62232         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
62233         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
62234         jm_AC_TYPE_UNSIGNED_LONG_LONG.
62235         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
62236
62237         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
62238
62239 1999-04-20  Jim Meyering  <meyering@ascend.com>
62240
62241         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
62242         AC_REPLACE xstroull if necessary.  From Paul Eggert.
62243         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
62244
62245 1999-04-18  Jim Meyering  <meyering@ascend.com>
62246
62247         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
62248         * m4/jm-macros.m4: Use it.
62249
62250 1999-04-06  Jim Meyering  <meyering@ascend.com>
62251
62252         * m4/strftime.m4: Remove test for %f.
62253
62254 1999-03-29  Jim Meyering  <meyering@ascend.com>
62255
62256         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
62257         superset of the AC_TYPE_* checks in the textutils, fileutils,
62258         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
62259         AC_TYPE_PID_T.
62260
62261 1999-03-28  Jim Meyering  <meyering@ascend.com>
62262
62263         * m4/jm-macros.m4: Define GNU_PACKAGE here.
62264         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
62265         replaced e.g., in the *.sh files of the sh-utils.
62266
62267 1999-03-20  Jim Meyering  <meyering@ascend.com>
62268
62269         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
62270         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
62271         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
62272
62273 1999-03-19  Jim Meyering  <meyering@ascend.com>
62274
62275         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
62276
62277 1999-03-12  Jim Meyering  <meyering@ascend.com>
62278
62279         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
62280
62281 1999-03-07  Jim Meyering  <meyering@ascend.com>
62282
62283         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
62284         declared.
62285
62286 1999-02-17  Jim Meyering  <meyering@ascend.com>
62287
62288         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
62289         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
62290
62291 1999-02-07  Jim Meyering  <meyering@ascend.com>
62292
62293         * m4/group-member.m4: New file -- extracted from sh-utils'
62294         configure.in.
62295
62296         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
62297         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
62298
62299 1999-02-06  Jim Meyering  <meyering@ascend.com>
62300
62301         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
62302         * m4/fnmatch.m4: Likewise.
62303         * m4/getgroups.m4: Likewise.
62304         * m4/lstat.m4: Likewise.
62305         * m4/malloc.m4: Likewise.
62306         * m4/putenv.m4: Likewise.
62307         * m4/realloc.m4: Likewise.
62308         * m4/regex.m4: Likewise.
62309         * m4/stat.m4: Likewise.
62310         * m4/strftime.m4: Likewise.
62311         Suggestion from Alain Magloire.
62312
62313         * m4/chown.m4: Use `.$ac_objext', not `.o'.
62314         * m4/fnmatch.m4: Likewise.
62315         * m4/getgroups.m4: Likewise.
62316         * m4/getline.m4: Likewise.
62317         * m4/lstat.m4: Likewise.
62318         * m4/malloc.m4: Likewise.
62319         * m4/memcmp.m4: Likewise.
62320         * m4/putenv.m4: Likewise.
62321         * m4/realloc.m4: Likewise.
62322         * m4/regex.m4: Likewise.
62323         * m4/stat.m4: Likewise.
62324         * m4/strftime.m4: Likewise.
62325         Suggestion from Alain Magloire.
62326
62327         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
62328         an argument.
62329
62330         * m4/regex.m4: Add a run-time Test for proper operation of
62331         re_compile_pattern.
62332
62333 1999-01-31  Jim Meyering  <meyering@ascend.com>
62334
62335         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
62336
62337 1999-01-30  Jim Meyering  <meyering@ascend.com>
62338
62339         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
62340
62341         * m4/jm-mktime.m4: Make this a wrapper around the official
62342         AM_FUNC_MKTIME rather than my private copy, now that the official one
62343         is up to date.
62344         * m4/mktime.m4: Remove file.
62345
62346         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
62347         * m4/uptime.m4: Likewise.
62348         * m4/uintmax_t.m4: Likewise.
62349
62350 1999-01-28  Jim Meyering  <meyering@ascend.com>
62351
62352         * m4/jm-macros.m4: Use jm_AFS.
62353         * m4/afs.m4: New file (from fileutils' configure.in).
62354
62355         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
62356         * m4/chown.m4: Likewise.
62357         * m4/d-ino.m4: Likewise.
62358         * m4/d-type.m4: Likewise.
62359         * m4/fnmatch.m4: Likewise.
62360         * m4/getgroups.m4: Likewise.
62361         * m4/gettext.m4: Likewise.
62362         * m4/jm-mktime.m4: Likewise.
62363         * m4/jm-winsz2.m4: Likewise.
62364         * m4/lcmessage.m4: Likewise.
62365         * m4/ls-mntd-fs.m4: Likewise.
62366         * m4/malloc.m4: Likewise.
62367         * m4/memcmp.m4: Likewise.
62368         * m4/putenv.m4: Likewise.
62369         * m4/realloc.m4: Likewise.
62370         * m4/st_mtim.m4: Likewise.
62371         * m4/strftime.m4: Likewise.
62372
62373 1999-01-16  Jim Meyering  <meyering@ascend.com>
62374
62375         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
62376         (ARGMATCH_DIE_DECL): Define.
62377
62378 1999-01-12  Jim Meyering  <meyering@ascend.com>
62379
62380         * m4/Makefile.am.in: Rewrite to avoid using fmt.
62381         Reported by Lars Hecking.
62382
62383 1999-01-10  Jim Meyering  <meyering@ascend.com>
62384
62385         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
62386         gross kludge.
62387         * m4/inttypes_h.m4: Likewise.
62388         * m4/lstat.m4: Likewise.
62389         * m4/malloc.m4: Likewise.
62390         * m4/readdir.m4: Likewise.
62391         * m4/realloc.m4: Likewise.
62392         * m4/st_dm_mode.m4: Likewise.
62393         * m4/stat.m4: Likewise.
62394         * m4/utimbuf.m4: Likewise.
62395         * m4/utimes.m4: Likewise.
62396
62397         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
62398         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
62399         comments in config.h.in are meaningful.
62400
62401         * m4/jm-macros.m4: Require autoconf-2.13 here.
62402
62403         * m4/regex.m4: By default, don't use the included regex.c on systems
62404         with glibc 2.  Suggestion from Uli Drepper.
62405
62406 1999-01-02  Jim Meyering  <meyering@ascend.com>
62407
62408         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
62409
62410 1998-12-18  Jim Meyering  <meyering@ascend.com>
62411
62412         * m4/Makefile.am.in (Makefile.am): Simplify rule.
62413         Based on a suggestion from Lars Hecking.
62414
62415 1998-11-16  Paul Eggert  <eggert@twinsun.com>
62416
62417         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
62418
62419 1998-11-16  Jim Meyering  <meyering@ascend.com>
62420
62421         * m4/lfs.m4: Double-quote the `uname...` expression.
62422
62423 1998-11-14  Jim Meyering  <meyering@ascend.com>
62424
62425         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
62426         * m4/stat.m4: Likewise.
62427
62428 1998-11-03  Jim Meyering  <meyering@ascend.com>
62429
62430         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
62431         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
62432
62433 1998-10-18  Jim Meyering  <meyering@ascend.com>
62434
62435         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
62436
62437 1998-10-17  Jim Meyering  <meyering@ascend.com>
62438
62439         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
62440         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
62441         calls for those previously hard-coded headers.  Instead, take a new
62442         parameter.
62443         (jm_CHECK_DECLARATIONS): Reflect interface change.
62444         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
62445         (jm_CHECK_DECL_LOCALTIME_R): New macro.
62446
62447         * m4/mktime.m4: Test for spring-forward gap before long-running test.
62448
62449 1998-10-14  Jim Meyering  <meyering@ascend.com>
62450
62451         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
62452         instead of "TZ=America/Vancouver".  From Paul Eggert.
62453
62454 1998-10-11  Jim Meyering  <meyering@ascend.com>
62455
62456         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
62457         This adds a test for a recently added compatibility fix for mktime.c.
62458         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
62459
62460 1998-09-27  Jim Meyering  <meyering@ascend.com>
62461
62462         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
62463
62464         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
62465         ../configure.in, including a change from Gordon Matzigkeit to allow
62466         cross-compiling for the Hurd.
62467
62468         * m4/glibc.m4: New file/macro to test for the GNU C Library
62469         versions 1 and 2.  From Gordon Matzigkeit.
62470         Indent.
62471
62472 1998-09-21  Jim Meyering  <meyering@ascend.com>
62473
62474         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
62475
62476 1998-08-18  Paul Eggert  <eggert@twinsun.com>
62477
62478         Port nanosecond-resolution times to UnixWare 2.1.2 and
62479         pedantic Solaris 2.6.
62480
62481         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
62482         AC_STRUCT_ST_MTIM.
62483         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
62484         Generate name of ns member, instead of just 1 or undef.
62485         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
62486
62487 1998-08-15  Jim Meyering  <meyering@ascend.com>
62488
62489         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
62490         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
62491         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
62492         instead of jm_TYPE_SSIZE_T.
62493
62494 1998-08-12  Jim Meyering  <meyering@ascend.com>
62495
62496         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
62497
62498 1998-08-02  Jim Meyering  <meyering@ascend.com>
62499
62500         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
62501         in acconfig.h manually.
62502
62503 1998-07-31  Paul Eggert  <eggert@twinsun.com>
62504
62505         * m4/st_mtim.m4: New file.
62506
62507 1998-07-28  Jim Meyering  <meyering@ascend.com>
62508
62509         * m4/utimes.m4: Undef stat.
62510
62511 1998-07-25  Jim Meyering  <meyering@ascend.com>
62512
62513         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
62514         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
62515
62516 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
62517
62518         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
62519         uid and gid actually remain unchanged.
62520
62521 1998-07-07  Jim Meyering  <meyering@ascend.com>
62522
62523         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
62524
62525 1998-07-04  Jim Meyering  <meyering@ascend.com>
62526
62527         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
62528         to prove that this macro can be used in packages without regex.c.
62529
62530 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
62531
62532         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
62533         is to be used.
62534
62535 1998-07-03  Jim Meyering  <meyering@ascend.com>
62536
62537         * m4/gettext.m4: Add -lintl if it's found to be necessary.
62538
62539         * m4/gettext.m4: New file -- from gettext-0.10.35.
62540         * m4/lcmessage.m4: Likewise.
62541         * m4/progtest.m4: Likewise.
62542
62543         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
62544         * m4/jm-macros.m4: Require the new macro.
62545
62546 1998-06-29  Jim Meyering  <meyering@ascend.com>
62547
62548         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
62549         for the definition of NGROUPS (used in a system header included
62550         by sys/mount.h).
62551
62552 1998-06-28  Jim Meyering  <meyering@ascend.com>
62553
62554         * m4/ls-mntd-fs.m4: New file.
62555         * m4/fstypename.m4: New file.
62556
62557         * m4/jm-macros.m4: Require the new macro.
62558         * m4/jm-glibc-io.m4: New file.
62559
62560 1998-05-19  Jim Meyering  <meyering@ascend.com>
62561
62562         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
62563         * m4/lchown.m4: New file.
62564
62565         * m4/Makefile.am.in: New file.
62566         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
62567
62568 1998-05-14  Jim Meyering  <meyering@ascend.com>
62569
62570         * m4/Makefile.am (EXTRA_DIST): Add them.
62571         * m4/jm-macros.m4: New file.
62572         * m4/utimbuf.m4: New file.
62573
62574 1998-05-12  Jim Meyering  <meyering@ascend.com>
62575
62576         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
62577
62578 1998-05-11  Jim Meyering  <meyering@ascend.com>
62579
62580         * m4/isc-posix.m4: New file.
62581
62582 1998-05-10  Jim Meyering  <meyering@ascend.com>
62583
62584         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
62585
62586 1998-05-09  Jim Meyering  <meyering@ascend.com>
62587
62588         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
62589         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
62590         with automake.
62591
62592         * m4/ssize_t.m4: New file.
62593         * m4/mktime.m4: Remove file -- the new automake has this now.
62594
62595 1998-04-26  Jim Meyering  <meyering@ascend.com>
62596
62597         * m4/assert.m4: New file.
62598         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
62599
62600 1998-04-05  Jim Meyering  <meyering@ascend.com>
62601
62602         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
62603         (jm_PREREQ): Use it here.
62604
62605 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
62606
62607         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
62608         in acconfig.h.
62609
62610 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
62611
62612         * m4/prereq.m4: New file.
62613         * m4/error.m4: New file.
62614         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
62615
62616 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
62617
62618         * m4/getline.m4: Don't set am_cv_func_working_getline before the
62619         cache-check for the same variable -- that defeated the purpose of
62620         the test; the test program was never run.  This was a problem only
62621         on systems with losing getline functions -- HP-UX 10.20 is one.
62622         Reported by Bjorn Helgaas.
62623
62624 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
62625
62626         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
62627
62628 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
62629
62630         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
62631
62632         * m4/const.m4: New file.  Use an initializer in this declaration
62633         typedef int charset[2]; const charset x;
62634         Reported by Bob Glickstein.
62635
62636 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
62637
62638         * m4/chown.m4: Fix reversed types on -1 args to chown.
62639         From Kaveh Ghazi.
62640
62641 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
62642
62643         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
62644         Add lseek and memchr.
62645
62646         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
62647         T.E.Dickey <dickey@clark.net> said that some older preprocessors
62648         have a 20-character limit on names.
62649
62650 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
62651
62652         * m4/inttypes_h.m4: New file.
62653         * m4/uintmax_t.m4: New file.
62654         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
62655
62656
62657         -----
62658
62659         Local Variables:
62660         coding: utf-8
62661         End:
62662
62663         Copyright (C) 1997-2010 Free Software Foundation, Inc.
62664
62665         Copying and distribution of this file, with or without
62666         modification, are permitted provided the copyright notice
62667         and this notice are preserved.