f94e401a92ffff764c918f74b283ac0cc7846008
[gnulib.git] / ChangeLog
1 2010-01-31  Bruno Haible  <bruno@clisp.org>
2
3         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
4
5 2010-01-31  Bruno Haible  <bruno@clisp.org>
6
7         Work around getdelim() bug on FreeBSD 8.0.
8         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
9         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
10         not work.
11         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
12         is 1.
13         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
14         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
16         a non-zero size.
17         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
18
19 2010-01-31  Bruno Haible  <bruno@clisp.org>
20
21         Work around getline() bug on FreeBSD 8.0.
22         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
23         and a non-zero size.
24         * tests/test-getline.c (main): Likewise.
25         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
27
28 2010-01-28  Eric Blake  <ebb9@byu.net>
29
30         regex: fix build failure
31         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
32         platforms.
33
34 2010-01-28  Jim Meyering  <meyering@redhat.com>
35
36         regex: do not ignore memory allocation failure
37         * lib/regex_internal.c (create_cd_newstate): Detect
38         re_node_set_init_copy failure.   Extracted from glibc commit
39         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
40
41         regex: sync more white-space changes from libc
42         * lib/regex_internal.c: White-space only changes.
43         * lib/regexec.c: Likewise.
44
45         regex: add many uses of __attribute_warn_unused_result__
46         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
47         * lib/regexec.c: Likewise.
48         Extracted from a messy glibc commit.
49
50         regcomp.c: spelling and merge-artifact from glibc
51         * lib/regcomp.c: Merge remainder of glibc's
52         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
53
54         regcomp.c: sync white-space changes from glibc
55         * lib/regcomp.c: Merge to accommodate white space
56         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
57
58         regcomp.c: do not ignore internal return values
59         * lib/regcomp.c: Do not ignore internal return values.
60         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
61         but without its white-space changes and spelling fixes.
62
63         regex_internal.h: define __attribute_warn_unused_result__
64         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
65
66         maint: add a syntax-check rule to check for vulnerable Makefile.in
67         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
68
69 2010-01-27  Jim Meyering  <meyering@redhat.com>
70
71         ncftpput-ftp: clean up spaces
72         * build-aux/ncftpput-ftp: Make Copyright line consistent.
73         Remove trailing blanks.
74
75 2010-01-27  Simon Josefsson  <simon@josefsson.org>
76
77         * build-aux/git-version-gen: Fix copyright statement.
78         * build-aux/gnupload: Likewise.
79         * tests/test-arcfour.c: Likewise.
80         * tests/test-arctwo.c: Likewise.
81         * tests/test-count-one-bits.c: Likewise.
82         * tests/test-crc.c: Likewise.
83         * tests/test-des.c: Likewise.
84         * tests/test-gc-arcfour.c: Likewise.
85         * tests/test-gc-arctwo.c: Likewise.
86         * tests/test-gc-des.c: Likewise.
87         * tests/test-gc-hmac-md5.c: Likewise.
88         * tests/test-gc-hmac-sha1.c: Likewise.
89         * tests/test-gc-md2.c: Likewise.
90         * tests/test-gc-md4.c: Likewise.
91         * tests/test-gc-md5.c: Likewise.
92         * tests/test-gc-pbkdf2-sha1.c: Likewise.
93         * tests/test-gc-rijndael.c: Likewise.
94         * tests/test-gc-sha1.c: Likewise.
95         * tests/test-gc.c: Likewise.
96         * tests/test-gethostname.c: Likewise.
97         * tests/test-gettimeofday.c: Likewise.
98         * tests/test-hash.c: Likewise.
99         * tests/test-hmac-md5.c: Likewise.
100         * tests/test-hmac-sha1.c: Likewise.
101         * tests/test-md2.c: Likewise.
102         * tests/test-md4.c: Likewise.
103         * tests/test-md5.c: Likewise.
104         * tests/test-memchr.c: Likewise.
105         * tests/test-memchr2.c: Likewise.
106         * tests/test-memcmp.c: Likewise.
107         * tests/test-memmem.c: Likewise.
108         * tests/test-memrchr.c: Likewise.
109         * tests/test-rawmemchr.c: Likewise.
110         * tests/test-read-file.c: Likewise.
111         * tests/test-rijndael.c: Likewise.
112         * tests/test-sockets.c: Likewise.
113         * tests/test-strchrnul.c: Likewise.
114         * tests/test-strstr.c: Likewise.
115         * tests/test-strtod.c: Likewise.
116         * build-aux/ncftpput-ftp: Likewise.
117
118 2010-01-26  Eric Blake  <ebb9@byu.net>
119
120         ignore-value: update recommended header name
121         * modules/ignore-value (Include): Only use <> for headers that
122         exist in glibc.
123
124 2010-01-26  Jim Meyering  <meyering@redhat.com>
125
126         test-userspec.c: avoid compiler warnings
127         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
128         and "initialization discards qualifiers..." warnings.
129         Put the first "uid" in its own scope, and make char* members "const".
130
131 2010-01-25  Bruno Haible  <bruno@clisp.org>
132
133         gnulib-tool: Make warning diagnostics consistent.
134         * gnulib-tool (func_warning): New function.
135         Use it everywhere where gnulib-tool produces output to stderr and it is
136         not a fatal error.
137
138 2010-01-25  Bruno Haible  <bruno@clisp.org>
139
140         Fix test dependencies.
141         * modules/xstrtol-tests (Depends-on): Add inttypes.
142         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
143
144 2010-01-25 Pádraig Brady <P@draigBrady.com>
145
146         syntax-check: detect incorrect boolean macro values in config.h
147         * modules/maintainer-makefile (configure.ac): Parameterize the location
148         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
149         The logic is from Eric Blake and the location indicated by Jim Meyering.
150         Note the more natural CONFIG_HEADER name is prohibited by automake
151         for backwards compatibility reasons.
152         * top/maint.mk (sc_Wundef_boolean): New rule.
153
154 2010-01-25  Jim Meyering  <meyering@redhat.com>
155
156         bootstrap: detect MacOS 10.6's shasum, too
157         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
158         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
159
160 2010-01-23  Jim Meyering  <meyering@redhat.com>
161
162         xstrtoll: new module
163         * modules/xstrtoll: New file.
164         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
165         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
166         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
167         ./configure fails if you use this module and lack "long long".
168         * modules/xstrtoll-tests: New module.
169         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
170         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
171         new init.sh-based test framework.
172
173 2010-01-24  Bruno Haible  <bruno@clisp.org>
174
175         Tests for module 'yn'.
176         * modules/yn-tests: New file.
177         * tests/test-yn.c: New file.
178
179         Tests for module 'y1'.
180         * modules/y1-tests: New file.
181         * tests/test-y1.c: New file.
182
183         Tests for module 'y0'.
184         * modules/y0-tests: New file.
185         * tests/test-y0.c: New file.
186
187         Tests for module 'tanh'.
188         * modules/tanh-tests: New file.
189         * tests/test-tanh.c: New file.
190
191         Tests for module 'tan'.
192         * modules/tan-tests: New file.
193         * tests/test-tan.c: New file.
194
195         Tests for module 'sqrt'.
196         * modules/sqrt-tests: New file.
197         * tests/test-sqrt.c: New file.
198
199         Tests for module 'sinh'.
200         * modules/sinh-tests: New file.
201         * tests/test-sinh.c: New file.
202
203         Tests for module 'sin'.
204         * modules/sin-tests: New file.
205         * tests/test-sin.c: New file.
206
207         Tests for module 'rint'.
208         * modules/rint-tests: New file.
209         * tests/test-rint.c: New file.
210
211         Tests for module 'remainder'.
212         * modules/remainder-tests: New file.
213         * tests/test-remainder.c: New file.
214
215         Tests for module 'pow'.
216         * modules/pow-tests: New file.
217         * tests/test-pow.c: New file.
218
219         Tests for module 'nextafter'.
220         * modules/nextafter-tests: New file.
221         * tests/test-nextafter.c: New file.
222
223         Tests for module 'modf'.
224         * modules/modf-tests: New file.
225         * tests/test-modf.c: New file.
226
227         Tests for module 'logb'.
228         * modules/logb-tests: New file.
229         * tests/test-logb.c: New file.
230
231         Tests for module 'log1p'.
232         * modules/log1p-tests: New file.
233         * tests/test-log1p.c: New file.
234
235         Tests for module 'log10'.
236         * modules/log10-tests: New file.
237         * tests/test-log10.c: New file.
238
239         Tests for module 'log'.
240         * modules/log-tests: New file.
241         * tests/test-log.c: New file.
242
243         Tests for module 'lgamma'.
244         * modules/lgamma-tests: New file.
245         * tests/test-lgamma.c: New file.
246
247         Tests for module 'ldexp'.
248         * modules/ldexp-tests: New file.
249         * tests/test-ldexp.c: New file.
250
251         Tests for module 'jn'.
252         * modules/jn-tests: New file.
253         * tests/test-jn.c: New file.
254
255         Tests for module 'j1'.
256         * modules/j1-tests: New file.
257         * tests/test-j1.c: New file.
258
259         Tests for module 'j0'.
260         * modules/j0-tests: New file.
261         * tests/test-j0.c: New file.
262
263         Tests for module 'hypot'.
264         * modules/hypot-tests: New file.
265         * tests/test-hypot.c: New file.
266
267         Tests for module 'fmod'.
268         * modules/fmod-tests: New file.
269         * tests/test-fmod.c: New file.
270
271         Tests for module 'fabs'.
272         * modules/fabs-tests: New file.
273         * tests/test-fabs.c: New file.
274
275         Tests for module 'exp'.
276         * modules/exp-tests: New file.
277         * tests/test-exp.c: New file.
278
279         Tests for module 'erfc'.
280         * modules/erfc-tests: New file.
281         * tests/test-erfc.c: New file.
282
283         Tests for module 'erf'.
284         * modules/erf-tests: New file.
285         * tests/test-erf.c: New file.
286
287         Tests for module 'cosh'.
288         * modules/cosh-tests: New file.
289         * tests/test-cosh.c: New file.
290
291         Tests for module 'cos'.
292         * modules/cos-tests: New file.
293         * tests/test-cos.c: New file.
294
295         Tests for module 'copysign'.
296         * modules/copysign-tests: New file.
297         * tests/test-copysign.c: New file.
298
299         Tests for module 'cbrt'.
300         * modules/cbrt-tests: New file.
301         * tests/test-cbrt.c: New file.
302
303         Tests for module 'atan2'.
304         * modules/atan2-tests: New file.
305         * tests/test-atan2.c: New file.
306
307         Tests for module 'atan'.
308         * modules/atan-tests: New file.
309         * tests/test-atan.c: New file.
310
311         Tests for module 'asin'.
312         * modules/asin-tests: New file.
313         * tests/test-asin.c: New file.
314
315         Tests for module 'acos'.
316         * modules/acos-tests: New file.
317         * tests/test-acos.c: New file.
318
319 2010-01-24  Bruno Haible  <bruno@clisp.org>
320
321         Fix tests for common <math.h> functions.
322         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
323         code snippet that references the function pointer, rather than merely
324         calling the function. Substitute the FUNC_LIBM variable.
325         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
326         * modules/acos (configure.ac): Likewise.
327         * modules/asin (configure.ac): Likewise.
328         * modules/atan (configure.ac): Likewise.
329         * modules/atan2 (configure.ac): Likewise.
330         * modules/cbrt (configure.ac): Likewise.
331         * modules/copysign (configure.ac): Likewise.
332         * modules/cos (configure.ac): Likewise.
333         * modules/cosh (configure.ac): Likewise.
334         * modules/erf (configure.ac): Likewise.
335         * modules/erfc (configure.ac): Likewise.
336         * modules/exp (configure.ac): Likewise.
337         * modules/fabs (configure.ac): Likewise.
338         * modules/fmod (configure.ac): Likewise.
339         * modules/hypot (configure.ac): Likewise.
340         * modules/j0 (configure.ac): Likewise.
341         * modules/j1 (configure.ac): Likewise.
342         * modules/jn (configure.ac): Likewise.
343         * modules/ldexp (configure.ac): Likewise.
344         * modules/lgamma (configure.ac): Likewise.
345         * modules/log (configure.ac): Likewise.
346         * modules/log10 (configure.ac): Likewise.
347         * modules/log1p (configure.ac): Likewise.
348         * modules/logb (configure.ac): Likewise.
349         * modules/modf (configure.ac): Likewise.
350         * modules/nextafter (configure.ac): Likewise.
351         * modules/pow (configure.ac): Likewise.
352         * modules/remainder (configure.ac): Likewise.
353         * modules/rint (configure.ac): Likewise.
354         * modules/sin (configure.ac): Likewise.
355         * modules/sinh (configure.ac): Likewise.
356         * modules/tan (configure.ac): Likewise.
357         * modules/tanh (configure.ac): Likewise.
358         * modules/y0 (configure.ac): Likewise.
359         * modules/y1 (configure.ac): Likewise.
360         * modules/yn (configure.ac): Likewise.
361
362 2010-01-24  Bruno Haible  <bruno@clisp.org>
363
364         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
365         * tests/test-acosl.c (x): New variable.
366         (main): Store argument in x and fetch it from x.
367         * tests/test-asinl.c (x): New variable.
368         (main): Store argument in x and fetch it from x.
369         * tests/test-atanl.c (x): New variable.
370         (main): Store argument in x and fetch it from x.
371         * tests/test-cosl.c (x): New variable.
372         (main): Store argument in x and fetch it from x.
373         * tests/test-expl.c (x): New variable.
374         (main): Store argument in x and fetch it from x.
375         * tests/test-logl.c (x): New variable.
376         (main): Store argument in x and fetch it from x.
377         * tests/test-sinl.c (x): New variable.
378         (main): Store argument in x and fetch it from x.
379         * tests/test-sqrtl.c (x): New variable.
380         (main): Store argument in x and fetch it from x.
381         * tests/test-tanl.c (x): New variable.
382         (main): Store argument in x and fetch it from x.
383
384 2010-01-24  Bruno Haible  <bruno@clisp.org>
385
386         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
387         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
388         assignments to the initial TESTS_ENVIRONMENT.
389         * doc/gnulib.texi (Unit test modules): Document it.
390         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
391         TESTS_ENVIRONMENT.
392         * modules/btowc-tests (Makefile.am): Likewise.
393         * modules/c-stack-tests (Makefile.am): Likewise.
394         * modules/c-strcase-tests (Makefile.am): Likewise.
395         * modules/copy-file-tests (Makefile.am): Likewise.
396         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
397         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
398         * modules/mbrtowc-tests (Makefile.am): Likewise.
399         * modules/mbscasecmp-tests (Makefile.am): Likewise.
400         * modules/mbscasestr-tests (Makefile.am): Likewise.
401         * modules/mbschr-tests (Makefile.am): Likewise.
402         * modules/mbscspn-tests (Makefile.am): Likewise.
403         * modules/mbsinit-tests (Makefile.am): Likewise.
404         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
405         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
406         * modules/mbspbrk-tests (Makefile.am): Likewise.
407         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
408         * modules/mbsrchr-tests (Makefile.am): Likewise.
409         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
410         * modules/mbsspn-tests (Makefile.am): Likewise.
411         * modules/mbsstr-tests (Makefile.am): Likewise.
412         * modules/nl_langinfo-tests (Makefile.am): Likewise.
413         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
414         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
415         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
416         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
417         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
418         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
419         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
420         * modules/wcrtomb-tests (Makefile.am): Likewise.
421         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
422         * modules/wcsrtombs-tests (Makefile.am): Likewise.
423         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
424         assignments from TESTS_ENVIRONMENT.
425         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
426         augmentation.
427         * modules/argp-version-etc-tests (Makefile.am): Likewise.
428         * modules/atexit-tests (Makefile.am): Likewise.
429         * modules/binary-io-tests (Makefile.am): Likewise.
430         * modules/closein-tests (Makefile.am): Likewise.
431         * modules/dprintf-posix-tests (Makefile.am): Likewise.
432         * modules/exclude-tests (Makefile.am): Likewise.
433         * modules/fflush-tests (Makefile.am): Likewise.
434         * modules/fpending-tests (Makefile.am): Likewise.
435         * modules/fprintf-posix-tests (Makefile.am): Likewise.
436         * modules/freadahead-tests (Makefile.am): Likewise.
437         * modules/freadptr-tests (Makefile.am): Likewise.
438         * modules/freadseek-tests (Makefile.am): Likewise.
439         * modules/fseek-tests (Makefile.am): Likewise.
440         * modules/fseeko-tests (Makefile.am): Likewise.
441         * modules/ftell-tests (Makefile.am): Likewise.
442         * modules/ftello-tests (Makefile.am): Likewise.
443         * modules/idpriv-drop-tests (Makefile.am): Likewise.
444         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
445         * modules/lseek-tests (Makefile.am): Likewise.
446         * modules/parse-duration-tests (Makefile.am): Likewise.
447         * modules/perror-tests (Makefile.am): Likewise.
448         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
449         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
450         * modules/pipe-tests (Makefile.am): Likewise.
451         * modules/pread-tests (Makefile.am): Likewise.
452         * modules/printf-posix-tests (Makefile.am): Likewise.
453         * modules/select-tests (Makefile.am): Likewise.
454         * modules/sigpipe-tests (Makefile.am): Likewise.
455         * modules/tsearch-tests (Makefile.am): Likewise.
456         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
457         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
458         * modules/uniname/uniname-tests (Makefile.am): Likewise.
459         * modules/uniwidth/width-tests (Makefile.am): Likewise.
460         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
461         * modules/version-etc-tests (Makefile.am): Likewise.
462         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
463         * modules/vprintf-posix-tests (Makefile.am): Likewise.
464         * modules/xalloc-die-tests (Makefile.am): Likewise.
465         * modules/xprintf-posix-tests (Makefile.am): Likewise.
466         * modules/xstrtoimax-tests (Makefile.am): Likewise.
467         * modules/xstrtol-tests (Makefile.am): Likewise.
468         * modules/xstrtoumax-tests (Makefile.am): Likewise.
469         * modules/yesno-tests (Makefile.am): Likewise.
470         Suggested by Jim Meyering.
471
472 2010-01-24  Bruno Haible  <bruno@clisp.org>
473
474         More documentation.
475         * doc/gnulib.texi (Writing modules): New chapter.
476         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
477         the new chapter.
478
479 2010-01-24  Jim Meyering  <meyering@redhat.com>
480
481         maint.mk: do not prepend "./" after filtering
482         * top/maint.mk (_prepend_srcdir_prefix): New variable
483         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
484         "./" when $(srcdir) is ".".
485
486         define STREQ(a,b) consistently, removing useless parentheses
487         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
488         since the only risk is that "a" or "b" contains an unparenthesized
489         comma, but if either did that, STREQ would have 3 or more arguments.
490         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
491         * lib/fts.c (STREQ): Remove unnecessary parentheses.
492         * lib/hash-triple.c (STREQ): Likewise.
493         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
494         * lib/getugroups.c (STREQ): Likewise.
495
496 2010-01-23  Jim Meyering  <meyering@redhat.com>
497
498         maint.mk: fix syntax-check in a non-srcdir build directory
499         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
500         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
501
502 2010-01-22  Jim Meyering  <meyering@redhat.com>
503
504         userspec: add unit tests
505         * tests/test-userspec.c: New file.
506         * modules/userspec-tests: Likewise.
507
508 2010-01-21  Jim Meyering  <meyering@redhat.com>
509
510         maint.mk: handle source file names containing "." robustly
511         * top/maint.mk (_dot_escaped_srcdir): Define.
512         (VC_LIST): Use it in LHS of sed substitution.
513
514 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
515
516         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
517         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
518         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
519         from a non-srcdir build.
520
521 2010-01-20  Eric Blake  <ebb9@byu.net>
522
523         warn-on-use: use instead of link-warning
524         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
525         * modules/unistd (Depends-on, Makefile.am): Likewise.
526         * modules/arpa_inet (Depends-on): Replace link-warning with
527         warn-on-use.
528         (Makefile.am): Update rules accordingly.
529         * modules/ctype (Depends-on, Makefile.am): Likewise.
530         * modules/dirent (Depends-on, Makefile.am): Likewise.
531         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
532         * modules/inttypes (Depends-on, Makefile.am): Likewise.
533         * modules/langinfo (Depends-on, Makefile.am): Likewise.
534         * modules/locale (Depends-on, Makefile.am): Likewise.
535         * modules/math (Depends-on, Makefile.am): Likewise.
536         * modules/search (Depends-on, Makefile.am): Likewise.
537         * modules/signal (Depends-on, Makefile.am): Likewise.
538         * modules/spawn (Depends-on, Makefile.am): Likewise.
539         * modules/stdlib (Depends-on, Makefile.am): Likewise.
540         * modules/string (Depends-on, Makefile.am): Likewise.
541         * modules/strings (Depends-on, Makefile.am): Likewise.
542         * modules/sys_file (Depends-on, Makefile.am): Likewise.
543         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
544         * modules/sys_select (Depends-on, Makefile.am): Likewise.
545         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
546         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
547         * modules/sys_times (Depends-on, Makefile.am): Likewise.
548         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
549         * modules/wchar (Depends-on, Makefile.am): Likewise.
550         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
551         should be poisoned.
552         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
553         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
554         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
555         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
556         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
557         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
558         * m4/math_h.m4 (gl_MATH_H): Likewise.
559         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
560         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
561         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
562         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
563         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
564         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
565         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
566         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
567         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
568         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
569         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
570         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
571         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
572         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
573         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
574         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
575         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
576         GL_LINK_WARNING.
577         * lib/ctype.in.h: Likewise.
578         * lib/dirent.in.h: Likewise.
579         * lib/fcntl.in.h: Likewise.
580         * lib/inttypes.in.h: Likewise.
581         * lib/langinfo.in.h: Likewise.
582         * lib/locale.in.h: Likewise.
583         * lib/math.in.h: Likewise.
584         * lib/search.in.h: Likewise.
585         * lib/signal.in.h: Likewise.
586         * lib/spawn.in.h: Likewise.
587         * lib/stdio.in.h: Likewise.
588         * lib/stdlib.in.h: Likewise.
589         * lib/string.in.h: Likewise.
590         * lib/strings.in.h: Likewise.
591         * lib/sys_file.in.h: Likewise.
592         * lib/sys_ioctl.in.h: Likewise.
593         * lib/sys_select.in.h: Likewise.
594         * lib/sys_socket.in.h: Likewise.
595         * lib/sys_stat.in.h: Likewise.
596         * lib/sys_times.in.h: Likewise.
597         * lib/sys_utsname.in.h: Likewise.
598         * lib/unistd.in.h: Likewise.
599         * lib/wchar.in.h: Likewise.
600
601 2010-01-20  Bruno Haible  <bruno@clisp.org>
602
603         Avoid duplicate -lm.
604         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
605         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
606         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
607         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
608         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
609         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
610         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
611         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
612         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
613         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
614         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
615         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
616         Reported by Paolo Bonzini.
617
618 2010-01-19  Bruno Haible  <bruno@clisp.org>
619
620         langinfo, nl_langinfo: Relicense under LGPLv2+.
621         * modules/langinfo (License): Change to LGPLv2+.
622         * modules/nl_langinfo (License): Likewise.
623         Patch by David Lutterkort <lutter@redhat.com>.
624
625 2010-01-19  Bruno Haible  <bruno@clisp.org>
626
627         Avoid compilation error with cc on OSF/1 5.1.
628         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
629         statement, not before.
630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
631
632 2010-01-18  Bruno Haible  <bruno@clisp.org>
633
634         Avoid a link error due to the __printf__ symbol.
635         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
636         and 2.6.x.
637         (__format__, __printf__): Remove definitions.
638         * lib/argp-fmtstream.h: Likewise.
639         * lib/argp.h: Likewise.
640         * lib/error.h: Likewise.
641         * lib/vasnprintf.h: Likewise.
642         * lib/xprintf.h: Likewise.
643         * lib/xvasprintf.h: Likewise.
644         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
645
646 2010-01-18  Bruno Haible  <bruno@clisp.org>
647
648         Tests for module 'tanl'.
649         * modules/tanl-tests: New file.
650         * tests/test-tanl.c: New file.
651
652         Tests for module 'sqrtl'.
653         * modules/sqrtl-tests: New file.
654         * tests/test-sqrtl.c: New file.
655
656         Tests for module 'sinl'.
657         * modules/sinl-tests: New file.
658         * tests/test-sinl.c: New file.
659
660         Tests for module 'logl'.
661         * modules/logl-tests: New file.
662         * tests/test-logl.c: New file.
663
664         Tests for module 'expl'.
665         * modules/expl-tests: New file.
666         * tests/test-expl.c: New file.
667
668         Tests for module 'cosl'.
669         * modules/cosl-tests: New file.
670         * tests/test-cosl.c: New file.
671
672         Tests for module 'atanl'.
673         * modules/atanl-tests: New file.
674         * tests/test-atanl.c: New file.
675
676         Tests for module 'asinl'.
677         * modules/asinl-tests: New file.
678         * tests/test-asinl.c: New file.
679
680         Tests for module 'acosl'.
681         * modules/acosl-tests: New file.
682         * tests/test-acosl.c: New file.
683
684         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
685         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
686         tanl): Use the standard gnulib idiom.
687         * lib/cosl.c: Don't include trigl.c and sincosl.c.
688         * lib/sinl.c: Likewise.
689         * lib/tanl.c: Don't include trigl.c.
690         (kernel_tanl): Make static.
691         * lib/sincosl.c: Include trigl.h first.
692         * lib/trigl.c: Likewise.
693         * m4/acosl.m4: New file.
694         * m4/asinl.m4: New file.
695         * m4/atanl.m4: New file.
696         * m4/cosl.m4: New file.
697         * m4/expl.m4: New file.
698         * m4/logl.m4: New file.
699         * m4/sinl.m4: New file.
700         * m4/sqrtl.m4: New file.
701         * m4/tanl.m4: New file.
702         * m4/mathl.m4: Remove file.
703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
704         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
705         Don't initialize GNULIB_MATHL.
706         * modules/acosl: New file.
707         * modules/asinl: New file.
708         * modules/atanl: New file.
709         * modules/cosl: New file.
710         * modules/expl: New file.
711         * modules/logl: New file.
712         * modules/sinl: New file.
713         * modules/sqrtl: New file.
714         * modules/tanl: New file.
715         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
716         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
717         substitute GNULIB_MATHL.
718         * modules/mathl: Rewritten.
719         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
720         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
721         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
722         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
723         * doc/posix-functions/expl.texi: Mention the 'expl' module.
724         * doc/posix-functions/logl.texi: Mention the 'logl' module.
725         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
726         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
727         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
728
729 2010-01-18  Bruno Haible  <bruno@clisp.org>
730
731         sqrt: Make gl_FUNC_SQRT requirable.
732         * m4/sqrt.m4: New file.
733         * modules/sqrt (Files): Add it.
734         (configure.ac): Invoke gl_FUNC_SQRT.
735
736 2010-01-18  Bruno Haible  <bruno@clisp.org>
737
738         New modules for common <math.h> functions.
739         * m4/mathfunc.m4: New file.
740         * modules/acos: New file.
741         * modules/asin: New file.
742         * modules/atan: New file.
743         * modules/atan2: New file.
744         * modules/cbrt: New file.
745         * modules/copysign: New file.
746         * modules/cos: New file.
747         * modules/cosh: New file.
748         * modules/erf: New file.
749         * modules/erfc: New file.
750         * modules/exp: New file.
751         * modules/fabs: New file.
752         * modules/fmod: New file.
753         * modules/hypot: New file.
754         * modules/j0: New file.
755         * modules/j1: New file.
756         * modules/jn: New file.
757         * modules/ldexp: New file.
758         * modules/lgamma: New file.
759         * modules/log: New file.
760         * modules/log10: New file.
761         * modules/log1p: New file.
762         * modules/logb: New file.
763         * modules/modf: New file.
764         * modules/nextafter: New file.
765         * modules/pow: New file.
766         * modules/remainder: New file.
767         * modules/rint: New file.
768         * modules/sin: New file.
769         * modules/sinh: New file.
770         * modules/sqrt: New file.
771         * modules/tan: New file.
772         * modules/tanh: New file.
773         * modules/y0: New file.
774         * modules/y1: New file.
775         * modules/yn: New file.
776         * doc/posix-functions/acos.texi: Mention the 'acos' module.
777         * doc/posix-functions/asin.texi: Mention the 'asin' module.
778         * doc/posix-functions/atan.texi: Mention the 'atan' module.
779         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
780         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
781         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
782         * doc/posix-functions/cos.texi: Mention the 'cos' module.
783         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
784         * doc/posix-functions/erf.texi: Mention the 'erf' module.
785         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
786         * doc/posix-functions/exp.texi: Mention the 'exp' module.
787         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
788         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
789         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
790         * doc/posix-functions/j0.texi: Mention the 'j0' module.
791         * doc/posix-functions/j1.texi: Mention the 'j1' module.
792         * doc/posix-functions/jn.texi: Mention the 'jn' module.
793         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
794         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
795         * doc/posix-functions/log.texi: Mention the 'log' module.
796         * doc/posix-functions/log10.texi: Mention the 'log10' module.
797         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
798         * doc/posix-functions/logb.texi: Mention the 'logb' module.
799         * doc/posix-functions/modf.texi: Mention the 'modf' module.
800         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
801         * doc/posix-functions/pow.texi: Mention the 'pow' module.
802         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
803         * doc/posix-functions/rint.texi: Mention the 'rint' module.
804         * doc/posix-functions/sin.texi: Mention the 'sin' module.
805         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
806         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
807         * doc/posix-functions/tan.texi: Mention the 'tan' module.
808         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
809         * doc/posix-functions/y0.texi: Mention the 'y0' module.
810         * doc/posix-functions/y1.texi: Mention the 'y1' module.
811         * doc/posix-functions/yn.texi: Mention the 'yn' module.
812
813 2010-01-18  Jim Meyering  <meyering@redhat.com>
814
815         ignore-value: relax license to LGPLv2+
816         * modules/ignore-value (License): Relax to LGPLv2+.
817
818         getdate: don't leak when TZ contains two or more '"'s
819         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
820         double quote in TZ after the first one.
821
822         readtokens: do not leak internal token_lengths buffer
823         * lib/readtokens.c (readtokens): Free the local, lengths,
824         when the supplied "token_lengths" parameter is NULL.
825
826 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
827
828         Fix a couple of missing LIBTHREAD link failures on AIX.
829         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
830         $(LIBTHREAD).
831         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
832
833         Link test-poll against INET_PTON_LIB.
834         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
835         for inet_pton on Solaris 10.
836
837 2010-01-17  Bruno Haible  <bruno@clisp.org>
838
839         unistdio/*-sprintf: Fix typo in module description.
840         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
841         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
842         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
843         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
844         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
845         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
846         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
847         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
848
849 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
850
851         gnulib-tool: fix filelist for AIX, HP-UX ksh.
852         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
853         variables in shell case patterns, for AIX and HP-UX ksh.
854
855         Split large sed scripts, for HP-UX sed.
856         * modules/stdio: Split sed scripts around 50 sed commands,
857         to avoid HP-UX limit of 99 commands, in the near future.
858         * modules/string: Likewise.
859         * modules/unistd: Likewise.
860
861         gnulib-tool: avoid writing in the current directory.
862         * gnulib-tool (func_emit_lib_Makefile_am)
863         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
864         not in the current directory, so concurrent gnulib-tool
865         instances do not interfere.
866
867 2010-01-16  Jim Meyering  <meyering@redhat.com>
868
869         doc: update users.txt
870         * users.txt: Add grep.
871         (diffutils, gzip): Update URLs.
872
873 2010-01-12  Bruno Haible  <bruno@clisp.org>
874
875         posix_spawn: Avoid test failure on Cygwin.
876         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
877         characters.
878         Reported by Simon Josefsson.
879
880 2010-01-12  Bruno Haible  <bruno@clisp.org>
881
882         * tests/test-cond.c (main): When skipping the test, show the reason.
883
884 2010-01-12  Simon Josefsson  <simon@josefsson.org>
885
886         * lib/striconv.c (str_cd_iconv): Avoid if before free.
887
888 2010-01-12  Simon Josefsson  <simon@josefsson.org>
889
890         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
891         VC_LIST_ALWAYS_EXCLUDE_REGEX.
892
893 2010-01-12  Eric Blake  <ebb9@byu.net>
894
895         build: guarantee AS_VAR_IF
896         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
897         (gl_AS_VAR_IF): Move...
898         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
899         Reported by Simon Josefsson.
900
901 2010-01-12  Simon Josefsson  <simon@josefsson.org>
902
903         * lib/stdio.in.h: Fix typo.
904
905 2010-01-12  Simon Josefsson  <simon@josefsson.org>
906
907         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
908         libgpg-error.
909
910 2010-01-12  Simon Josefsson  <simon@josefsson.org>
911
912         * tests/test-xalloc-die.sh: Use $EXEEXT.
913
914 2010-01-12  Simon Josefsson  <simon@josefsson.org>
915             Bruno Haible  <bruno@clisp.org>
916
917         getlogin, getlogin_r: Avoid test failure.
918         * tests/test-getlogin.c: Include <stdio.h>.
919         (main): Skip the test when the function fails because stdin is not a
920         tty.
921         * tests/test-getlogin_r.c: Include <stdio.h>.
922         (main): Skip the test when the function fails because stdin is not a
923         tty.
924
925 2010-01-11  Eric Blake  <ebb9@byu.net>
926
927         tests: avoid more large file warnings
928         * tests/test-fflush.c: Avoid warning about ftell use.
929         * tests/test-fseek.c: Avoid warning about fseek use.
930
931 2010-01-10  Bruno Haible  <bruno@clisp.org>
932
933         nproc: Work better on Linux when /proc and /sys are not mounted.
934         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
935         as lower bound when, on glibc/Linux systems,
936         sysconf (_SC_NPROCESSORS_CONF) returns 1.
937         Suggested by Pádraig Brady <P@draigbrady.com>.
938         Reported by Dmitry V. Levin <ldv@altlinux.org>.
939
940         nproc: Refactor.
941         * lib/nproc.c (num_processors_via_affinity_mask): New function,
942         extracted from num_processors.
943         (num_processors): Call it.
944
945 2010-01-11  Jim Meyering  <meyering@redhat.com>
946
947         utimecmp: avoid new warning from upcoming gcc-4.5.0
948         * lib/utimecmp.c (BILLION): Define using #define rather than an
949         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
950
951 2010-01-11  Eric Blake  <ebb9@byu.net>
952
953         math: add portability warnings for classification macros
954         * modules/math (Depends-on): Add warn-on-use.
955         (Makefile.am): Provide new substitutions.
956         * m4/math_h.m4 (gl_MATH_H): Require inline.
957         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
958         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
959         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
960         implement warnings.
961
962         unistd: warn on use of environ without module
963         * modules/unistd (Depends-on): Add warn-on-use.
964         (Makefile.am): Provide new substitutions.
965         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
966         * lib/unistd.in.h (environ): Wrap with a warning helper function.
967
968         stdio: warn on suspicious uses
969         * modules/stdio (Depends-on): Add warn-on-use.
970         (Makefile.am): Provide new substitutions.
971         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
972         fseeko.
973         * lib/stdio.in.h (gets): Always warn on use.
974         (fseek, ftell): Adjust when warnings are issued, and honor
975         _GL_NO_LARGE_FILES as a way to silence the warning.
976         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
977         any warning about large file offsets.
978         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
979         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
980         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
981         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
982         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
983         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
984         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
985         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
986
987         warn-on-use: new module
988         * modules/warn-on-use: New file.
989         * build-aux/warn-on-use.h: Likewise.
990         * m4/warn-on-use.m4: Likewise.
991         * MODULES.html.sh (Support for building): Mention it.
992
993 2010-01-10  Bruno Haible  <bruno@clisp.org>
994
995         Tests for module 'unistr/u32-strdup'.
996         * modules/unistr/u32-strdup-tests: New file.
997         * tests/unistr/test-u32-strdup.c: New file.
998
999         Tests for module 'unistr/u16-strdup'.
1000         * modules/unistr/u16-strdup-tests: New file.
1001         * tests/unistr/test-u16-strdup.c: New file.
1002
1003         Tests for module 'unistr/u8-strdup'.
1004         * modules/unistr/u8-strdup-tests: New file.
1005         * tests/unistr/test-u8-strdup.c: New file.
1006         * tests/unistr/test-strdup.h: New file.
1007
1008         Tests for module 'unistr/u32-strncmp'.
1009         * modules/unistr/u32-strncmp-tests: New file.
1010         * tests/unistr/test-u32-strncmp.c: New file.
1011
1012         Tests for module 'unistr/u16-strncmp'.
1013         * modules/unistr/u16-strncmp-tests: New file.
1014         * tests/unistr/test-u16-strncmp.c: New file.
1015
1016         Tests for module 'unistr/u8-strncmp'.
1017         * modules/unistr/u8-strncmp-tests: New file.
1018         * tests/unistr/test-u8-strncmp.c: New file.
1019         * tests/unistr/test-strncmp.h: New file.
1020
1021         Tests for module 'unistr/u32-strcoll'.
1022         * modules/unistr/u32-strcoll-tests: New file.
1023         * tests/unistr/test-u32-strcoll.c: New file.
1024
1025         Tests for module 'unistr/u16-strcoll'.
1026         * modules/unistr/u16-strcoll-tests: New file.
1027         * tests/unistr/test-u16-strcoll.c: New file.
1028
1029         Tests for module 'unistr/u8-strcoll'.
1030         * modules/unistr/u8-strcoll-tests: New file.
1031         * tests/unistr/test-u8-strcoll.c: New file.
1032
1033         Tests for module 'unistr/u32-strcmp'.
1034         * modules/unistr/u32-strcmp-tests: New file.
1035         * tests/unistr/test-u32-strcmp.c: New file.
1036         * tests/unistr/test-u32-strcmp.h: New file.
1037
1038         Tests for module 'unistr/u16-strcmp'.
1039         * modules/unistr/u16-strcmp-tests: New file.
1040         * tests/unistr/test-u16-strcmp.c: New file.
1041         * tests/unistr/test-u16-strcmp.h: New file.
1042
1043         Tests for module 'unistr/u8-strcmp'.
1044         * modules/unistr/u8-strcmp-tests: New file.
1045         * tests/unistr/test-u8-strcmp.c: New file.
1046         * tests/unistr/test-u8-strcmp.h: New file.
1047         * tests/unistr/test-strcmp.h: New file.
1048
1049         Tests for module 'unistr/u32-strncat'.
1050         * modules/unistr/u32-strncat-tests: New file.
1051         * tests/unistr/test-u32-strncat.c: New file.
1052
1053         Tests for module 'unistr/u16-strncat'.
1054         * modules/unistr/u16-strncat-tests: New file.
1055         * tests/unistr/test-u16-strncat.c: New file.
1056
1057         Tests for module 'unistr/u8-strncat'.
1058         * modules/unistr/u8-strncat-tests: New file.
1059         * tests/unistr/test-u8-strncat.c: New file.
1060         * tests/unistr/test-strncat.h: New file.
1061
1062         Tests for module 'unistr/u32-strcat'.
1063         * modules/unistr/u32-strcat-tests: New file.
1064         * tests/unistr/test-u32-strcat.c: New file.
1065
1066         Tests for module 'unistr/u16-strcat'.
1067         * modules/unistr/u16-strcat-tests: New file.
1068         * tests/unistr/test-u16-strcat.c: New file.
1069
1070         Tests for module 'unistr/u8-strcat'.
1071         * modules/unistr/u8-strcat-tests: New file.
1072         * tests/unistr/test-u8-strcat.c: New file.
1073         * tests/unistr/test-strcat.h: New file.
1074
1075         Tests for module 'unistr/u32-stpncpy'.
1076         * modules/unistr/u32-stpncpy-tests: New file.
1077         * tests/unistr/test-u32-stpncpy.c: New file.
1078
1079         Tests for module 'unistr/u16-stpncpy'.
1080         * modules/unistr/u16-stpncpy-tests: New file.
1081         * tests/unistr/test-u16-stpncpy.c: New file.
1082
1083         Tests for module 'unistr/u8-stpncpy'.
1084         * modules/unistr/u8-stpncpy-tests: New file.
1085         * tests/unistr/test-u8-stpncpy.c: New file.
1086         * tests/unistr/test-stpncpy.h: New file.
1087
1088         Tests for module 'unistr/u32-strncpy'.
1089         * modules/unistr/u32-strncpy-tests: New file.
1090         * tests/unistr/test-u32-strncpy.c: New file.
1091
1092         Tests for module 'unistr/u16-strncpy'.
1093         * modules/unistr/u16-strncpy-tests: New file.
1094         * tests/unistr/test-u16-strncpy.c: New file.
1095
1096         Tests for module 'unistr/u8-strncpy'.
1097         * modules/unistr/u8-strncpy-tests: New file.
1098         * tests/unistr/test-u8-strncpy.c: New file.
1099         * tests/unistr/test-strncpy.h: New file.
1100
1101         Tests for module 'unistr/u32-stpcpy'.
1102         * modules/unistr/u32-stpcpy-tests: New file.
1103         * tests/unistr/test-u32-stpcpy.c: New file.
1104
1105         Tests for module 'unistr/u16-stpcpy'.
1106         * modules/unistr/u16-stpcpy-tests: New file.
1107         * tests/unistr/test-u16-stpcpy.c: New file.
1108
1109         Tests for module 'unistr/u8-stpcpy'.
1110         * modules/unistr/u8-stpcpy-tests: New file.
1111         * tests/unistr/test-u8-stpcpy.c: New file.
1112         * tests/unistr/test-stpcpy.h: New file.
1113
1114         Tests for module 'unistr/u32-strcpy'.
1115         * modules/unistr/u32-strcpy-tests: New file.
1116         * tests/unistr/test-u32-strcpy.c: New file.
1117
1118         Tests for module 'unistr/u16-strcpy'.
1119         * modules/unistr/u16-strcpy-tests: New file.
1120         * tests/unistr/test-u16-strcpy.c: New file.
1121
1122         Tests for module 'unistr/u8-strcpy'.
1123         * modules/unistr/u8-strcpy-tests: New file.
1124         * tests/unistr/test-u8-strcpy.c: New file.
1125         * tests/unistr/test-strcpy.h: New file.
1126
1127         Tests for module 'unistr/u32-strnlen'.
1128         * modules/unistr/u32-strnlen-tests: New file.
1129         * tests/unistr/test-u32-strnlen.c: New file.
1130
1131         Tests for module 'unistr/u16-strnlen'.
1132         * modules/unistr/u16-strnlen-tests: New file.
1133         * tests/unistr/test-u16-strnlen.c: New file.
1134
1135         Tests for module 'unistr/u8-strnlen'.
1136         * modules/unistr/u8-strnlen-tests: New file.
1137         * tests/unistr/test-u8-strnlen.c: New file.
1138         * tests/unistr/test-strnlen.h: New file.
1139
1140         Tests for module 'unistr/u32-strlen'.
1141         * modules/unistr/u32-strlen-tests: New file.
1142         * tests/unistr/test-u32-strlen.c: New file.
1143
1144         Tests for module 'unistr/u16-strlen'.
1145         * modules/unistr/u16-strlen-tests: New file.
1146         * tests/unistr/test-u16-strlen.c: New file.
1147
1148         Tests for module 'unistr/u8-strlen'.
1149         * modules/unistr/u8-strlen-tests: New file.
1150         * tests/unistr/test-u8-strlen.c: New file.
1151
1152         Tests for module 'unistr/u32-prev'.
1153         * modules/unistr/u32-prev-tests: New file.
1154         * tests/unistr/test-u32-prev.c: New file.
1155
1156         Tests for module 'unistr/u16-prev'.
1157         * modules/unistr/u16-prev-tests: New file.
1158         * tests/unistr/test-u16-prev.c: New file.
1159
1160         Tests for module 'unistr/u8-prev'.
1161         * modules/unistr/u8-prev-tests: New file.
1162         * tests/unistr/test-u8-prev.c: New file.
1163
1164         Tests for module 'unistr/u32-next'.
1165         * modules/unistr/u32-next-tests: New file.
1166         * tests/unistr/test-u32-next.c: New file.
1167
1168         Tests for module 'unistr/u16-next'.
1169         * modules/unistr/u16-next-tests: New file.
1170         * tests/unistr/test-u16-next.c: New file.
1171
1172         Tests for module 'unistr/u8-next'.
1173         * modules/unistr/u8-next-tests: New file.
1174         * tests/unistr/test-u8-next.c: New file.
1175
1176         Tests for module 'unistr/u32-strmbtouc'.
1177         * modules/unistr/u32-strmbtouc-tests: New file.
1178         * tests/unistr/test-u32-strmbtouc.c: New file.
1179
1180         Tests for module 'unistr/u16-strmbtouc'.
1181         * modules/unistr/u16-strmbtouc-tests: New file.
1182         * tests/unistr/test-u16-strmbtouc.c: New file.
1183
1184         Tests for module 'unistr/u8-strmbtouc'.
1185         * modules/unistr/u8-strmbtouc-tests: New file.
1186         * tests/unistr/test-u8-strmbtouc.c: New file.
1187
1188         Tests for module 'unistr/u32-strmblen'.
1189         * modules/unistr/u32-strmblen-tests: New file.
1190         * tests/unistr/test-u32-strmblen.c: New file.
1191
1192         Tests for module 'unistr/u16-strmblen'.
1193         * modules/unistr/u16-strmblen-tests: New file.
1194         * tests/unistr/test-u16-strmblen.c: New file.
1195
1196         Tests for module 'unistr/u8-strmblen'.
1197         * modules/unistr/u8-strmblen-tests: New file.
1198         * tests/unistr/test-u8-strmblen.c: New file.
1199
1200         Tests for module 'unistr/u32-cpy-alloc'.
1201         * modules/unistr/u32-cpy-alloc-tests: New file.
1202         * tests/unistr/test-u32-cpy-alloc.c: New file.
1203
1204         Tests for module 'unistr/u16-cpy-alloc'.
1205         * modules/unistr/u16-cpy-alloc-tests: New file.
1206         * tests/unistr/test-u16-cpy-alloc.c: New file.
1207
1208         Tests for module 'unistr/u8-cpy-alloc'.
1209         * modules/unistr/u8-cpy-alloc-tests: New file.
1210         * tests/unistr/test-u8-cpy-alloc.c: New file.
1211         * tests/unistr/test-cpy-alloc.h: New file.
1212
1213         Tests for module 'unistr/u32-mbsnlen'.
1214         * modules/unistr/u32-mbsnlen-tests: New file.
1215         * tests/unistr/test-u32-mbsnlen.c: New file.
1216
1217         Tests for module 'unistr/u16-mbsnlen'.
1218         * modules/unistr/u16-mbsnlen-tests: New file.
1219         * tests/unistr/test-u16-mbsnlen.c: New file.
1220
1221         Tests for module 'unistr/u8-mbsnlen'.
1222         * modules/unistr/u8-mbsnlen-tests: New file.
1223         * tests/unistr/test-u8-mbsnlen.c: New file.
1224
1225         Tests for module 'unistr/u32-chr'.
1226         * modules/unistr/u32-chr-tests: New file.
1227         * tests/unistr/test-u32-chr.c: New file.
1228
1229         Tests for module 'unistr/u16-chr'.
1230         * modules/unistr/u16-chr-tests: New file.
1231         * tests/unistr/test-u16-chr.c: New file.
1232
1233         Tests for module 'unistr/u8-chr'.
1234         * modules/unistr/u8-chr-tests: New file.
1235         * tests/unistr/test-u8-chr.c: New file.
1236         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
1237
1238         Tests for module 'unistr/u32-cmp2'.
1239         * modules/unistr/u32-cmp2-tests: New file.
1240         * tests/unistr/test-u32-cmp2.c: New file.
1241
1242         Tests for module 'unistr/u16-cmp2'.
1243         * modules/unistr/u16-cmp2-tests: New file.
1244         * tests/unistr/test-u16-cmp2.c: New file.
1245
1246         Tests for module 'unistr/u8-cmp2'.
1247         * modules/unistr/u8-cmp2-tests: New file.
1248         * tests/unistr/test-u8-cmp2.c: New file.
1249         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
1250
1251         Tests for module 'unistr/u32-cmp'.
1252         * modules/unistr/u32-cmp-tests: New file.
1253         * tests/unistr/test-u32-cmp.c: New file.
1254
1255         Tests for module 'unistr/u16-cmp'.
1256         * modules/unistr/u16-cmp-tests: New file.
1257         * tests/unistr/test-u16-cmp.c: New file.
1258
1259         Tests for module 'unistr/u8-cmp'.
1260         * modules/unistr/u8-cmp-tests: New file.
1261         * tests/unistr/test-u8-cmp.c: New file.
1262         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
1263
1264         Tests for module 'unistr/u32-set'.
1265         * modules/unistr/u32-set-tests: New file.
1266         * tests/unistr/test-u32-set.c: New file.
1267
1268         Tests for module 'unistr/u16-set'.
1269         * modules/unistr/u16-set-tests: New file.
1270         * tests/unistr/test-u16-set.c: New file.
1271
1272         Tests for module 'unistr/u8-set'.
1273         * modules/unistr/u8-set-tests: New file.
1274         * tests/unistr/test-u8-set.c: New file.
1275         * tests/unistr/test-set.h: New file.
1276
1277         Tests for module 'unistr/u32-move'.
1278         * modules/unistr/u32-move-tests: New file.
1279         * tests/unistr/test-u32-move.c: New file.
1280
1281         Tests for module 'unistr/u16-move'.
1282         * modules/unistr/u16-move-tests: New file.
1283         * tests/unistr/test-u16-move.c: New file.
1284
1285         Tests for module 'unistr/u8-move'.
1286         * modules/unistr/u8-move-tests: New file.
1287         * tests/unistr/test-u8-move.c: New file.
1288         * tests/unistr/test-move.h: New file.
1289
1290         Tests for module 'unistr/u32-cpy'.
1291         * modules/unistr/u32-cpy-tests: New file.
1292         * tests/unistr/test-u32-cpy.c: New file.
1293
1294         Tests for module 'unistr/u16-cpy'.
1295         * modules/unistr/u16-cpy-tests: New file.
1296         * tests/unistr/test-u16-cpy.c: New file.
1297
1298         Tests for module 'unistr/u8-cpy'.
1299         * modules/unistr/u8-cpy-tests: New file.
1300         * tests/unistr/test-u8-cpy.c: New file.
1301         * tests/unistr/test-cpy.h: New file.
1302
1303 2010-01-09  Bruno Haible  <bruno@clisp.org>
1304
1305         Tests for module 'unistr/u32-uctomb'.
1306         * modules/unistr/u32-uctomb-tests: New file.
1307         * tests/unistr/test-u32-uctomb.c: New file.
1308
1309         Tests for module 'unistr/u16-uctomb'.
1310         * modules/unistr/u16-uctomb-tests: New file.
1311         * tests/unistr/test-u16-uctomb.c: New file.
1312
1313         Tests for module 'unistr/u8-uctomb'.
1314         * modules/unistr/u8-uctomb-tests: New file.
1315         * tests/unistr/test-u8-uctomb.c: New file.
1316
1317         Tests for module 'unistr/u32-mbtoucr'.
1318         * modules/unistr/u32-mbtoucr-tests: New file.
1319         * tests/unistr/test-u32-mbtoucr.c: New file.
1320
1321         Tests for module 'unistr/u16-mbtoucr'.
1322         * modules/unistr/u16-mbtoucr-tests: New file.
1323         * tests/unistr/test-u16-mbtoucr.c: New file.
1324
1325         Tests for module 'unistr/u8-mbtoucr'.
1326         * modules/unistr/u8-mbtoucr-tests: New file.
1327         * tests/unistr/test-u8-mbtoucr.c: New file.
1328
1329         Tests for module 'unistr/u32-mbtouc'.
1330         * modules/unistr/u32-mbtouc-tests: New file.
1331         * tests/unistr/test-u32-mbtouc.c: New file.
1332
1333         Tests for module 'unistr/u16-mbtouc'.
1334         * modules/unistr/u16-mbtouc-tests: New file.
1335         * tests/unistr/test-u16-mbtouc.c: New file.
1336
1337         Tests for module 'unistr/u8-mbtouc'.
1338         * modules/unistr/u8-mbtouc-tests: New file.
1339         * tests/unistr/test-u8-mbtouc.c: New file.
1340
1341         Tests for module 'unistr/u32-mbtouc-unsafe'.
1342         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
1343         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
1344         * tests/unistr/test-u32-mbtouc.h: New file.
1345
1346         Tests for module 'unistr/u16-mbtouc-unsafe'.
1347         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
1348         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
1349         * tests/unistr/test-u16-mbtouc.h: New file.
1350
1351         Tests for module 'unistr/u8-mbtouc-unsafe'.
1352         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
1353         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
1354         * tests/unistr/test-u8-mbtouc.h: New file.
1355
1356         Tests for module 'unistr/u32-mblen'.
1357         * modules/unistr/u32-mblen-tests: New file.
1358         * tests/unistr/test-u32-mblen.c: New file.
1359
1360         Tests for module 'unistr/u16-mblen'.
1361         * modules/unistr/u16-mblen-tests: New file.
1362         * tests/unistr/test-u16-mblen.c: New file.
1363
1364         Tests for module 'unistr/u8-mblen'.
1365         * modules/unistr/u8-mblen-tests: New file.
1366         * tests/unistr/test-u8-mblen.c: New file.
1367
1368         Tests for module 'unistr/u32-to-u16'.
1369         * modules/unistr/u32-to-u16-tests: New file.
1370         * tests/unistr/test-u32-to-u16.c: New file.
1371
1372         Tests for module 'unistr/u32-to-u8'.
1373         * modules/unistr/u32-to-u8-tests: New file.
1374         * tests/unistr/test-u32-to-u8.c: New file.
1375
1376         Tests for module 'unistr/u16-to-u32'.
1377         * modules/unistr/u16-to-u32-tests: New file.
1378         * tests/unistr/test-u16-to-u32.c: New file.
1379
1380         Tests for module 'unistr/u16-to-u8'.
1381         * modules/unistr/u16-to-u8-tests: New file.
1382         * tests/unistr/test-u16-to-u8.c: New file.
1383
1384         Tests for module 'unistr/u8-to-u32'.
1385         * modules/unistr/u8-to-u32-tests: New file.
1386         * tests/unistr/test-u8-to-u32.c: New file.
1387
1388         Tests for module 'unistr/u8-to-u16'.
1389         * modules/unistr/u8-to-u16-tests: New file.
1390         * tests/unistr/test-u8-to-u16.c: New file.
1391
1392         Tests for module 'unistr/u32-check'.
1393         * modules/unistr/u32-check-tests: New file.
1394         * tests/unistr/test-u32-check.c: New file.
1395
1396         Tests for module 'unistr/u16-check'.
1397         * modules/unistr/u16-check-tests: New file.
1398         * tests/unistr/test-u16-check.c: New file.
1399
1400         Tests for module 'unistr/u8-check'.
1401         * modules/unistr/u8-check-tests: New file.
1402         * tests/unistr/test-u8-check.c: New file.
1403
1404         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
1405         (category_equals): New function.
1406         (main): Add more tests.
1407         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
1408
1409         * tests/unictype/test-bidi_byname.c (main): Add more tests.
1410
1411 2010-01-10  Bruno Haible  <bruno@clisp.org>
1412
1413         unistr/u*-strcoll: Try harder to distinguish different strings.
1414         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
1415         compare s1 and s2 to see if they are different.
1416
1417 2010-01-10  Bruno Haible  <bruno@clisp.org>
1418
1419         unistr/u*-stpncpy: Fix the return value.
1420         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
1421         description of the return value consistent with stpncpy in glibc.
1422         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
1423         written non-NUL unit.
1424
1425 2010-01-10  Bruno Haible  <bruno@clisp.org>
1426
1427         unistr/u*-next: Add missing dependencies.
1428         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
1429         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
1430         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
1431
1432 2010-01-10  Bruno Haible  <bruno@clisp.org>
1433
1434         unistr/u8-mbsnlen: Fix return value for incomplete character.
1435         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
1436         u8_mblen.
1437         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
1438         Remove unistr/u8-mblen.
1439         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
1440         u16_mblen.
1441         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
1442         Remove unistr/u16-mblen.
1443
1444 2010-01-10  Bruno Haible  <bruno@clisp.org>
1445
1446         wchar: Fix compilation error when <wchar.h> is used from coreutils.
1447         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
1448         Reported by Brian Gough <bjg@gnu.org> and
1449         Chris Clayton <chris2553@googlemail.com> via
1450         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
1451
1452 2010-01-09  Bruno Haible  <bruno@clisp.org>
1453
1454         unistr/u16-to-u32: Reject invalid input.
1455         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
1456         u16_mbtouc.
1457         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
1458         Remove unistr/u16-mbtouc.
1459
1460         unistr/u16-to-u8: Reject invalid input.
1461         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
1462         u16_mbtouc.
1463         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
1464         Remove unistr/u16-mbtouc.
1465
1466         unistr/u8-to-u32: Reject invalid input.
1467         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
1468         u8_mbtouc.
1469         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
1470         Remove unistr/u8-mbtouc.
1471
1472         unistr/u8-to-u16: Reject invalid input.
1473         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
1474         u8_mbtouc.
1475         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
1476         Remove unistr/u8-mbtouc.
1477
1478 2010-01-09  Bruno Haible  <bruno@clisp.org>
1479
1480         Tests for module 'getlogin'.
1481         * modules/getlogin-tests: New file.
1482         * tests/test-getlogin.c: New file.
1483
1484         New module 'getlogin'.
1485         * lib/unistd.in.h (getlogin): New declaration.
1486         * lib/getlogin.c: New file.
1487         * m4/getlogin.m4: New file.
1488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
1489         HAVE_GETLOGIN.
1490         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
1491         HAVE_GETLOGIN.
1492         * modules/getlogin: New file.
1493         * doc/posix-functions/getlogin.texi: Mention the new module.
1494         Reported by John W. Eaton <jwe@gnu.org>.
1495
1496 2010-01-09  Bruno Haible  <bruno@clisp.org>
1497
1498         getlogin_r: Support for native Windows.
1499         * lib/getlogin_r.c: Include <windows.h>
1500         (getlogin_r): Implement for native Windows.
1501         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
1502         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
1503         via John W. Eaton <jwe@gnu.org>.
1504
1505 2010-01-09  Bruno Haible  <bruno@clisp.org>
1506
1507         getlogin_r: Small fixes.
1508         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
1509         succeeds.
1510         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
1511         before testing whether getlogin_r is declared. No need to set
1512         HAVE_DECL_GETLOGIN_R to 1.
1513         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
1514
1515 2010-01-09  Bruno Haible  <bruno@clisp.org>
1516
1517         * lib/unistd.in.h (getlogin_r): Add comment.
1518
1519 2010-01-09  Bruno Haible  <bruno@clisp.org>
1520
1521         Tests for module 'getlogin_r'.
1522         * modules/getlogin_r-tests: New file.
1523         * tests/test-getlogin_r.c: New file.
1524
1525 2010-01-09  Jim Meyering  <meyering@redhat.com>
1526
1527         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
1528         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
1529         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
1530
1531 2010-01-08  Simon Josefsson  <simon@josefsson.org>
1532
1533         * lib/dup2.c (rpl_dup2): Improve comment.
1534
1535 2010-01-08  Eric Blake  <ebb9@byu.net>
1536
1537         maint.mk: allow packages to add makefile @@ exceptions
1538         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
1539         (sc_makefile_check): Rename...
1540         (sc_makefile_at_at_check): ...to this, and use hook.
1541
1542         dup2: work around mingw bug
1543         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
1544         Reported by Simon Josefsson.
1545
1546 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
1547
1548         glob: Fix C++ compilation.
1549         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
1550         C++.
1551
1552 2010-01-07  Bruno Haible  <bruno@clisp.org>
1553
1554         Fix indentation of wctype.in.h, broken since 2007-01-06.
1555         * lib/wctype.in.h: Fix indentation of preprocessor directives.
1556
1557 2010-01-07  Bruno Haible  <bruno@clisp.org>
1558
1559         mbslen: Avoid collision with system function.
1560         * lib/string.in.h [MirBSD]: Include <wchar.h>.
1561         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
1562         * m4/mbslen.m4: New file.
1563         * modules/mbslen (Files): Add it.
1564         (configure.ac): Invoke gl_MBSLEN.
1565         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
1566         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
1567         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
1568         via Ian Beckwith <ianb@erislabs.net>.
1569
1570 2010-01-07  Bruno Haible  <bruno@clisp.org>
1571
1572         dirent: Document the last fix.
1573         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
1574
1575 2010-01-07  Bruno Haible  <bruno@clisp.org>
1576
1577         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
1578         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
1579         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
1580         va_list are defined.
1581         * doc/posix-headers/stdio.texi: Document the bug of missing types.
1582         Reported by Eric Blake.
1583
1584 2010-01-07  Bruno Haible  <bruno@clisp.org>
1585
1586         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
1587         * modules/xlist (Depends-on): Add 'list',
1588         * modules/xoset (Depends-on): Add 'oset'.
1589         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1590
1591 2010-01-07  Bruno Haible  <bruno@clisp.org>
1592
1593         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
1594         * doc/posix-functions/strncasecmp.texi: Likewise.
1595
1596 2010-01-07  Bruno Haible  <bruno@clisp.org>
1597
1598         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
1599
1600 2010-01-07  John W. Eaton  <jwe@octave.org>
1601
1602         wctype: allow C++ use
1603         * lib/wctype.in.h: Add extern "C" block for C++.
1604
1605 2010-01-06  Eric Blake  <ebb9@byu.net>
1606
1607         maint.mk: detect incorrect GFDL usage
1608         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
1609
1610 2010-01-06  Jim Meyering  <meyering@redhat.com>
1611         and Eric Blake  <ebb9@byu.net>
1612
1613         maint.mk: ignore multi-line copyright in NEWS
1614         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
1615
1616 2010-01-06  Eric Blake  <ebb9@byu.net>
1617
1618         select: add missing dependency
1619         * modules/select-tests (Depends-on): Move sockets dependency...
1620         * modules/select (Depends-on): ...here.
1621         Reported by Ian Beckwith.
1622
1623         doc: regenerate INSTALL
1624         * doc/INSTALL: Reflect recent autoconf update.
1625         * doc/INSTALL.ISO: Likewise.
1626         * doc/INSTALL.UTF-8: Likewise.
1627
1628         pread: fix compilation on glibc
1629         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
1630         Reported by Ralf Wildenhues.
1631
1632         dirent: fix test failure
1633         * lib/dirent.in.h (includes): Guarantee ino_t.
1634         Reported by Ralf Wildenhues.
1635
1636 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
1637
1638         linkat, renameat: avoid bad free
1639         * lib/at-func2.c (at_func2): Fix typo.
1640         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
1641
1642 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1643
1644         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
1645         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
1646         to avoid failure of symlink test later.
1647
1648 2010-01-06  Eric Blake  <ebb9@byu.net>
1649
1650         stdio, unistd: guarantee ssize_t
1651         * lib/unistd.in.h (includes): Ensure that types required by POSIX
1652         2008 are exposed when needed.
1653         * lib/stdio.in.h (includes): Likewise.
1654         Reported by Ralf Wildenhues.
1655
1656 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
1657
1658         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
1659         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
1660         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
1661
1662 2010-01-06  Jim Meyering  <meyering@redhat.com>
1663
1664         readtokens: this module *does* require xalloc.h
1665         It uses only functions that were omitted by the old syntax-check rule.
1666         * lib/readtokens.c: Include "xalloc.h" once again.
1667         * modules/readtokens (Depends-on): Add xalloc.
1668         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
1669
1670 2010-01-05  Eric Blake  <ebb9@byu.net>
1671
1672         maint: support 'make announcement' from a VPATH build
1673         * top/maint.mk (announcement): Look for correct NEWS file.
1674
1675 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
1676
1677         utimens (fdutimens): ignore a negative FD, per contract
1678         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
1679         when we have a valid file descriptor.  Otherwise, using a brand
1680         new glibc (with just-patched futimens that now fails with EBADF)
1681         would cause this function to fail with ENOSYS.
1682         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
1683         See also http://bugzilla.redhat.com/552320.
1684
1685 2010-01-05  Eric Blake  <ebb9@byu.net>
1686
1687         strcase: document what it provides
1688         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
1689         gnulib module.
1690         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
1691         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
1692
1693 2010-01-05  Jim Meyering  <meyering@redhat.com>
1694
1695         maint: remove useless inclusions of "xalloc.h"
1696         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
1697         * lib/readtokens.c: Likewise.
1698         * lib/same.c: Likewise.
1699         * modules/getloadavg (Depends-on): Remove xalloc.
1700         * modules/readtokens: Likewise.
1701         * modules/same: Likewise.
1702
1703         maint.mk: include 4 more function names in alloca.h-checking regexp
1704         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
1705         regexp.  Before, we would give a false-positive (saying alloca.h
1706         is included unnecessarily) when the only uses involved omitted symbols.
1707
1708         xalloc.h: use consistent formatting
1709         * lib/xalloc.h: Move declarations to start in the first column.
1710
1711 2010-01-05  Eric Blake  <ebb9@byu.net>
1712
1713         mkdir: avoid xalloc
1714         * lib/mkdir.c (includes): Drop unused header.
1715         Reported by John W. Eaton.
1716
1717 2010-01-04  Jim Meyering  <meyering@redhat.com>
1718
1719         nl_langinfo: avoid configure-time syntax error
1720         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
1721         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
1722         the empty string.  Don't let that provoke a shell syntax error.
1723
1724         regcomp, regexec, fnmatch: avoid array bounds read error
1725         * lib/regcomp.c (build_equiv_class): From glibc:
1726         Use only the low 24 bits of a findidx return value as an index
1727         into the weights array.  Patch by Ulrich Drepper:
1728         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
1729         * lib/regexec.c (check_node_accept_bytes): Likewise.
1730         * lib/fnmatch_loop.c (FCT): Likewise.
1731
1732         regcomp: skip collseq lookup when there are no rules
1733         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
1734         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
1735
1736         regcomp: recognize ill-formed { } expressions
1737         * lib/regcomp.c (parse_dup_op): From glibc:
1738         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
1739
1740         regcomp: fix typo in comment
1741         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
1742         s/satisfy/satisfies/.
1743
1744         regcomp: sync from glibc: remove dead store
1745         * lib/regcomp.c (duplicate_node_closure): Remove useless
1746         search_duplicated_node call and dead store.
1747
1748         regcomp: sync from glibc; always use nl_langinfo
1749         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
1750         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
1751         * modules/regex (Depends-on): Add nl_langinfo.
1752
1753 2010-01-04  Eric Blake  <ebb9@byu.net>
1754
1755         fdopendir: fix configure test
1756         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
1757
1758 2010-01-01  Bruno Haible  <bruno@clisp.org>
1759
1760         wchar: Remove unused configure check.
1761         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
1762
1763 2010-01-01  Eric Blake  <ebb9@byu.net>
1764
1765         headers: make check of system header explicit
1766         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
1767         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
1768         ourselves.
1769         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1770         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1771         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
1772         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
1773         internals.
1774         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
1775         missing.
1776         Suggested by Bruno Haible.
1777
1778 2010-01-01  Jim Meyering  <meyering@redhat.com>
1779
1780         ChangeLog: tweak to eliminate unnecessary copyright line
1781         * ChangeLog: Remove a copyright line that was mistakenly updated
1782         by today's update-copyright run.  Reported by Eric Blake.
1783
1784         test-update-copyright: don't let envvar setting cause test failure
1785         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
1786
1787 2010-01-01  Bruno Haible  <bruno@clisp.org>
1788
1789         localename: Avoid gcc warning.
1790         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
1791         function if it is not used.
1792
1793 2010-01-01  Jim Meyering  <meyering@redhat.com>
1794
1795         update nearly all FSF copyright year lists to include 2010
1796         Use the same procedure as for 2009, outlined in
1797         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
1798
1799         version-etc: set COPYRIGHT_YEAR to 2010
1800         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
1801
1802 2009-12-31  Eric Blake  <ebb9@byu.net>
1803
1804         doc: correct availability of cygwin 1.5.x getopt
1805         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
1806         variables.
1807         * doc/posix-functions/opterr.texi (opterr): Likewise.
1808         * doc/posix-functions/optind.texi (optind): Likewise.
1809         * doc/posix-functions/optopt.texi (optopt): Likewise.
1810         * doc/posix-functions/tzname.texi (tzname): Likewise.
1811
1812         openat: update maintainer
1813         * modules/openat (Maintainer): Add myself.
1814
1815         utimens: avoid shadowing warning
1816         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
1817         buffers into one, to avoid shadowing, as well as avoiding a
1818         redundant stat.
1819         Reported by Jim Meyering.
1820
1821         test-dup2: avoid compiler warning
1822         * tests/test-dup2.c (is_inheritable): Only define if used.
1823
1824 2010-01-01  Bruno Haible  <bruno@clisp.org>
1825
1826         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
1827         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
1828         defined, use wctomb instead of wcrtomb.
1829
1830 2010-01-01  Bruno Haible  <bruno@clisp.org>
1831
1832         iconv: Reject native Solaris iconv.
1833         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
1834         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
1835
1836 2009-12-31  Bruno Haible  <bruno@clisp.org>
1837
1838         * tests/test-signal.c (main): Remove test of 'SIG'.
1839
1840 2009-12-31  Bruno Haible  <bruno@clisp.org>
1841
1842         spawn: Fix incomplete fix.
1843         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
1844         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
1845         warnings for GNULIB_POSIXCHECK again.
1846         Reported by Eric Blake.
1847
1848 2009-12-31  Bruno Haible  <bruno@clisp.org>
1849
1850         Avoid namespace pollution on glibc systems.
1851         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
1852         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
1853         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
1854         glibc systems.
1855
1856 2009-12-31  Bruno Haible  <bruno@clisp.org>
1857
1858         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
1859         (gl_REPLACE_WCHAR_H): Turn into a no-op.
1860         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
1861         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1862         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1863         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1864         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1865
1866 2009-12-31  Bruno Haible  <bruno@clisp.org>
1867
1868         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
1869         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
1870         afterwards.
1871
1872 2009-12-31  Bruno Haible  <bruno@clisp.org>
1873
1874         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
1875         SYS_UTSNAME_H.
1876
1877 2009-12-31  Bruno Haible  <bruno@clisp.org>
1878
1879         spawn: Fix misapplied patch.
1880         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
1881         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
1882         warnings for GNULIB_POSIXCHECK.
1883
1884 2009-12-31  Bruno Haible  <bruno@clisp.org>
1885
1886         times: Update after sys_times changed.
1887         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
1888         * modules/times (Files): Add it.
1889         (configure.ac): Invoke gl_FUNC_TIMES.
1890
1891 2009-12-31  Bruno Haible  <bruno@clisp.org>
1892
1893         Use AC_C_INLINE where necessary.
1894         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
1895         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
1896         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
1897         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
1898         * m4/mbfile.m4 (gl_MBFILE): Likewise.
1899         * m4/mbiter.m4 (gl_MBITER): Likewise.
1900         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1901         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1902         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
1903         * modules/u64 (configure.ac): Likewise.
1904
1905 2009-12-31  Bruno Haible  <bruno@clisp.org>
1906
1907         Use AC_C_INLINE instead of module 'inline' where possible.
1908         * modules/inline (Description): Clarify purpose.
1909         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
1910         * modules/count-one-bits (Depends-on): Remove inline.
1911         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
1912         * modules/openat (Depends-on): Remove inline.
1913         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
1914         instead of depending on module 'inline'.
1915         * modules/filevercmp (Depends-on, configure.ac): Likewise.
1916         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
1917         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
1918         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
1919         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
1920         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
1921         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
1922         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
1923         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
1924         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
1925         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
1926         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
1927         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
1928         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
1929         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
1930         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
1931         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
1932         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
1933         Likewise.
1934         * modules/unictype/property-ascii-hex-digit (Depends-on,
1935         configure.ac): Likewise.
1936         * modules/unictype/property-bidi-arabic-digit (Depends-on,
1937         configure.ac): Likewise.
1938         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
1939         configure.ac): Likewise.
1940         * modules/unictype/property-bidi-block-separator (Depends-on,
1941         configure.ac): Likewise.
1942         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
1943         configure.ac): Likewise.
1944         * modules/unictype/property-bidi-common-separator (Depends-on,
1945         configure.ac): Likewise.
1946         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
1947         Likewise.
1948         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
1949         configure.ac): Likewise.
1950         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
1951         configure.ac): Likewise.
1952         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
1953         configure.ac): Likewise.
1954         * modules/unictype/property-bidi-european-digit (Depends-on,
1955         configure.ac): Likewise.
1956         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
1957         configure.ac): Likewise.
1958         * modules/unictype/property-bidi-left-to-right (Depends-on,
1959         configure.ac): Likewise.
1960         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
1961         configure.ac): Likewise.
1962         * modules/unictype/property-bidi-other-neutral (Depends-on,
1963         configure.ac): Likewise.
1964         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
1965         Likewise.
1966         * modules/unictype/property-bidi-segment-separator (Depends-on,
1967         configure.ac): Likewise.
1968         * modules/unictype/property-bidi-whitespace (Depends-on,
1969         configure.ac): Likewise.
1970         * modules/unictype/property-combining (Depends-on, configure.ac):
1971         Likewise.
1972         * modules/unictype/property-composite (Depends-on, configure.ac):
1973         Likewise.
1974         * modules/unictype/property-currency-symbol (Depends-on,
1975         configure.ac): Likewise.
1976         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
1977         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
1978         Likewise.
1979         * modules/unictype/property-default-ignorable-code-point (Depends-on,
1980         configure.ac): Likewise.
1981         * modules/unictype/property-deprecated (Depends-on, configure.ac):
1982         Likewise.
1983         * modules/unictype/property-diacritic (Depends-on, configure.ac):
1984         Likewise.
1985         * modules/unictype/property-extender (Depends-on, configure.ac):
1986         Likewise.
1987         * modules/unictype/property-format-control (Depends-on, configure.ac):
1988         Likewise.
1989         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
1990         Likewise.
1991         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
1992         Likewise.
1993         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
1994         Likewise.
1995         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
1996         Likewise.
1997         * modules/unictype/property-hyphen (Depends-on, configure.ac):
1998         Likewise.
1999         * modules/unictype/property-id-continue (Depends-on, configure.ac):
2000         Likewise.
2001         * modules/unictype/property-id-start (Depends-on, configure.ac):
2002         Likewise.
2003         * modules/unictype/property-ideographic (Depends-on, configure.ac):
2004         Likewise.
2005         * modules/unictype/property-ids-binary-operator (Depends-on,
2006         configure.ac): Likewise.
2007         * modules/unictype/property-ids-trinary-operator (Depends-on,
2008         configure.ac): Likewise.
2009         * modules/unictype/property-ignorable-control (Depends-on,
2010         configure.ac): Likewise.
2011         * modules/unictype/property-iso-control (Depends-on, configure.ac):
2012         Likewise.
2013         * modules/unictype/property-join-control (Depends-on, configure.ac):
2014         Likewise.
2015         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
2016         Likewise.
2017         * modules/unictype/property-line-separator (Depends-on, configure.ac):
2018         Likewise.
2019         * modules/unictype/property-logical-order-exception (Depends-on,
2020         configure.ac): Likewise.
2021         * modules/unictype/property-lowercase (Depends-on, configure.ac):
2022         Likewise.
2023         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
2024         * modules/unictype/property-non-break (Depends-on, configure.ac):
2025         Likewise.
2026         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
2027         Likewise.
2028         * modules/unictype/property-numeric (Depends-on, configure.ac):
2029         Likewise.
2030         * modules/unictype/property-other-alphabetic (Depends-on,
2031         configure.ac): Likewise.
2032         * modules/unictype/property-other-default-ignorable-code-point
2033         (Depends-on, configure.ac): Likewise.
2034         * modules/unictype/property-other-grapheme-extend (Depends-on,
2035         configure.ac): Likewise.
2036         * modules/unictype/property-other-id-continue (Depends-on,
2037         configure.ac): Likewise.
2038         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
2039         Likewise.
2040         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
2041         Likewise.
2042         * modules/unictype/property-other-math (Depends-on, configure.ac):
2043         Likewise.
2044         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
2045         Likewise.
2046         * modules/unictype/property-paired-punctuation (Depends-on,
2047         configure.ac): Likewise.
2048         * modules/unictype/property-paragraph-separator (Depends-on,
2049         configure.ac): Likewise.
2050         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
2051         Likewise.
2052         * modules/unictype/property-pattern-white-space (Depends-on,
2053         configure.ac): Likewise.
2054         * modules/unictype/property-private-use (Depends-on, configure.ac):
2055         Likewise.
2056         * modules/unictype/property-punctuation (Depends-on, configure.ac):
2057         Likewise.
2058         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
2059         Likewise.
2060         * modules/unictype/property-radical (Depends-on, configure.ac):
2061         Likewise.
2062         * modules/unictype/property-sentence-terminal (Depends-on,
2063         configure.ac): Likewise.
2064         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
2065         Likewise.
2066         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
2067         * modules/unictype/property-terminal-punctuation (Depends-on,
2068         configure.ac): Likewise.
2069         * modules/unictype/property-titlecase (Depends-on, configure.ac):
2070         Likewise.
2071         * modules/unictype/property-unassigned-code-value (Depends-on,
2072         configure.ac): Likewise.
2073         * modules/unictype/property-unified-ideograph (Depends-on,
2074         configure.ac): Likewise.
2075         * modules/unictype/property-uppercase (Depends-on, configure.ac):
2076         Likewise.
2077         * modules/unictype/property-variation-selector (Depends-on,
2078         configure.ac): Likewise.
2079         * modules/unictype/property-white-space (Depends-on, configure.ac):
2080         Likewise.
2081         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
2082         Likewise.
2083         * modules/unictype/property-xid-start (Depends-on, configure.ac):
2084         Likewise.
2085         * modules/unictype/property-zero-width (Depends-on, configure.ac):
2086         Likewise.
2087         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
2088         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
2089         Likewise.
2090
2091 2009-12-31  Bruno Haible  <bruno@clisp.org>
2092
2093         Remove unnecessary AC_C_INLINE invocation.
2094         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
2095         since 2009-08-21.
2096
2097 2009-12-31  Jim Meyering  <meyering@redhat.com>
2098
2099         maint.mk: don't require explicit gpg_key_ID in cfg.mk
2100         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
2101         With this change, we can all remove the gpg_key_ID = ... definition
2102         from our respective cfg.mk files.
2103
2104         maint.mk: create announcement template in ~/, not in /tmp
2105         * top/maint.mk (emit_upload_commands): Adjust.
2106         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
2107         Remove temporary file, .ci-msg.
2108
2109 2009-12-31  Eric Blake  <ebb9@byu.net>
2110
2111         link-warning: always build headers with link warnings
2112         * modules/arpa_inet (Makefile.am): Always build replacement
2113         header.
2114         * modules/ctype (Makefile.am): Likewise.
2115         * modules/dirent (Makefile.am): Likewise.
2116         * modules/inttypes (Makefile.am): Likewise.
2117         * modules/langinfo (Makefile.am): Likewise.
2118         * modules/locale (Makefile.am): Likewise.
2119         * modules/spawn (Makefile.am): Likewise.
2120         * modules/sys_file (Makefile.am): Likewise.
2121         * modules/sys_ioctl (Makefile.am): Likewise.
2122         * modules/sys_select (Makefile.am): Likewise.
2123         * modules/sys_socket (Makefile.am): Likewise.
2124         * modules/sys_times (Makefile.am): Likewise.
2125         * modules/sys_utsname (Makefile.am): Likewise.
2126         * modules/sys_wait (Makefile.am): Likewise.
2127         * modules/wchar (Makefile.am): Likewise.
2128         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
2129         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
2130         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
2131         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
2132         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
2133         Likewise.
2134         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
2135         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2136         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
2137         Likewise.
2138         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
2139         Likewise.
2140         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2141         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
2142         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
2143         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2144         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2145         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2146         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2147         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
2148         (gl_WCHAR_H_DEFAULTS): Likewise.
2149
2150 2009-12-31  Eric Blake  <ebb9@byu.net>
2151
2152         signal, spawn: use link warnings
2153         * lib/signal.in.h (sigset_t): Make unconditional.
2154         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
2155         (sigpending, sigprocmask, sigaction): Add link warnings.
2156         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
2157         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
2158         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
2159         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
2160         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
2161         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
2162         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
2163         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
2164         (posix_spawn_file_actions_destroy)
2165         (posix_spawn_file_actions_addopen)
2166         (posix_spawn_file_actions_addclose)
2167         (posix_spawwn_file_actions_adddup2): Likewise.
2168         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
2169         * tests/test-signal.c (main): Enhance test.
2170
2171         spawn: improve wrapper support
2172         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
2173         (gl_SPAWN_H_DEFAULTS): New defaults.
2174         * modules/spawn (Makefile.am): Substitute them.
2175         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
2176         Only declare if missing or broken.
2177
2178         sys_times, sys_utsname: use include_next
2179         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
2180         header.
2181         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
2182         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2183         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2184         * modules/sys_times (Depends-on): Add include_next.
2185         (Makefile.am): Substitute additional values.
2186         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
2187         * lib/sys_times.in.h (includes): Include native header, if
2188         available.
2189         * lib/sys_utsname.in.h (includes): Likewise.
2190         * tests/test-sys_times.c (main): Enhance test.
2191
2192         fdutimensat: revert prior patch
2193         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
2194         utimens.h.
2195         Reported by Bruno Haible.
2196
2197 2009-12-30  Eric Blake  <ebb9@byu.net>
2198
2199         sys_wait: drop link-warning dependency
2200         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
2201         link-warning efforts.
2202         * lib/sys_wait.in.h: Likewise.
2203
2204         fdutimensat: remove bogus dependency
2205         * modules/fdutimensat (Depends-on): Drop inline.
2206
2207         unistd: fix typo
2208         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
2209
2210 2009-12-30  Bruno Haible  <bruno@clisp.org>
2211
2212         Fix compilation error with Solaris cc.
2213         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
2214         * lib/unicase/u16-is-invariant.c: Likewise.
2215         * lib/unicase/u32-is-invariant.c: Likewise.
2216         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2217
2218 2009-12-30  Bruno Haible  <bruno@clisp.org>
2219
2220         Fix test crash.
2221         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
2222         locales.
2223         Reported by Simon Josefsson <simon@josefsson.org>.
2224
2225 2009-12-30  Bruno Haible  <bruno@clisp.org>
2226
2227         Fix compilation error on most platforms.
2228         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
2229         Reported by Simon Josefsson <simon@josefsson.org>
2230         and Nelson H. F. Beebe <beebe@math.utah.edu>.
2231
2232 2009-12-30  Eric Blake  <ebb9@byu.net>
2233
2234         futimens, utimensat: work around ntfs-3g bug
2235         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
2236         a ctime bug is present, and expand workaround to cover ntfs-3g.
2237         * lib/utimens.c (fdutimens, lutimens): Likewise.
2238         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
2239         (validate_timespec): Adjust return value.
2240         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
2241         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2242         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
2243
2244 2009-12-29  Eric Blake  <ebb9@byu.net>
2245
2246         link-warning: make usage consistent
2247         * modules/ctype (Depends-on): Add link-warning.
2248         (Makefile.am): Update rules accordingly.
2249         * modules/langinfo (Depends-on, Makefile.am): Likewise.
2250         * modules/locale (Depends-on, Makefile.am): Likewise.
2251         * modules/sys_file (Makefile.am): Likewise.
2252         * modules/getopt-posix (Makefile.am): Delete unused link warning
2253         efforts.
2254         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
2255         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
2256         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
2257         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
2258
2259         stdio: remove unused variables
2260         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
2261         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
2262         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2263
2264         tests: test more substitute headers
2265         * modules/ctype-tests: New file.
2266         * modules/dirent-tests: Likewise.
2267         * modules/spawn-tests: Likewise.
2268         * modules/sys_file-tests: Likewise.
2269         * modules/sys_ioctl-tests: Likewise.
2270         * modules/sys_wait-tests: Likewise.
2271         * tests/test-ctype.c: Likewise.
2272         * tests/test-dirent.c: Likewise.
2273         * tests/test-spawn.c: Likewise.
2274         * tests/test-sys_file.c: Likewise.
2275         * tests/test-sys_ioctl.c: Likewise.
2276         * tests/test-sys_wait.c: Likewise.
2277         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
2278         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
2279         whether or not flock is in use.
2280
2281         tests: remove License section from module
2282         * modules/arpa_inet-tests: Remove unneeded section.
2283         * modules/byteswap-tests: Likewise.
2284         * modules/ceilf-tests: Likewise.
2285         * modules/ceill-tests: Likewise.
2286         * modules/crypto/des-tests: Likewise.
2287         * modules/crypto/gc-arcfour-tests: Likewise.
2288         * modules/crypto/gc-arctwo-tests: Likewise.
2289         * modules/crypto/gc-des-tests: Likewise.
2290         * modules/crypto/gc-hmac-md5-tests: Likewise.
2291         * modules/crypto/gc-hmac-sha1-tests: Likewise.
2292         * modules/crypto/gc-md2-tests: Likewise.
2293         * modules/crypto/gc-md4-tests: Likewise.
2294         * modules/crypto/gc-md5-tests: Likewise.
2295         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
2296         * modules/crypto/gc-rijndael-tests: Likewise.
2297         * modules/crypto/gc-sha1-tests: Likewise.
2298         * modules/crypto/gc-tests: Likewise.
2299         * modules/crypto/md2-tests: Likewise.
2300         * modules/crypto/md4-tests: Likewise.
2301         * modules/fcntl-h-tests: Likewise.
2302         * modules/floorf-tests: Likewise.
2303         * modules/floorl-tests: Likewise.
2304         * modules/frexp-nolibm-tests: Likewise.
2305         * modules/frexp-tests: Likewise.
2306         * modules/frexpl-nolibm-tests: Likewise.
2307         * modules/frexpl-tests: Likewise.
2308         * modules/getaddrinfo-tests: Likewise.
2309         * modules/inttypes-tests: Likewise.
2310         * modules/isfinite-tests: Likewise.
2311         * modules/isinf-tests: Likewise.
2312         * modules/ldexpl-tests: Likewise.
2313         * modules/locale-tests: Likewise.
2314         * modules/math-tests: Likewise.
2315         * modules/netdb-tests: Likewise.
2316         * modules/netinet_in-tests: Likewise.
2317         * modules/printf-frexp-tests: Likewise.
2318         * modules/printf-frexpl-tests: Likewise.
2319         * modules/priv-set-tests: Likewise.
2320         * modules/random_r-tests: Likewise.
2321         * modules/round-tests: Likewise.
2322         * modules/roundf-tests: Likewise.
2323         * modules/roundl-tests: Likewise.
2324         * modules/search-tests: Likewise.
2325         * modules/select-tests: Likewise.
2326         * modules/signal-tests: Likewise.
2327         * modules/stdbool-tests: Likewise.
2328         * modules/stddef-tests: Likewise.
2329         * modules/stdint-tests: Likewise.
2330         * modules/stdio-tests: Likewise.
2331         * modules/stdlib-tests: Likewise.
2332         * modules/string-tests: Likewise.
2333         * modules/strings-tests: Likewise.
2334         * modules/sys_select-tests: Likewise.
2335         * modules/sys_socket-tests: Likewise.
2336         * modules/sys_stat-tests: Likewise.
2337         * modules/sys_time-tests: Likewise.
2338         * modules/sys_utsname-tests: Likewise.
2339         * modules/sysexits-tests: Likewise.
2340         * modules/time-tests: Likewise.
2341         * modules/trunc-tests: Likewise.
2342         * modules/truncf-tests: Likewise.
2343         * modules/truncl-tests: Likewise.
2344         * modules/tsearch-tests: Likewise.
2345         * modules/unistd-tests: Likewise.
2346         * modules/wchar-tests: Likewise.
2347         * modules/wctype-tests: Likewise.
2348
2349         tests: fix license on several tests
2350         * tests/test-des.c: Update to GPLv3+.
2351         * tests/test-flock.c: Likewise.
2352         * tests/test-fsync.c: Likewise.
2353         * tests/test-futimens.h: Likewise.
2354         * tests/test-gc-arcfour.c: Likewise.
2355         * tests/test-gc-arctwo.c: Likewise.
2356         * tests/test-gc-des.c: Likewise.
2357         * tests/test-gc-hmac-md5.c: Likewise.
2358         * tests/test-gc-hmac-sha1.c: Likewise.
2359         * tests/test-gc-md2.c: Likewise.
2360         * tests/test-gc-md4.c: Likewise.
2361         * tests/test-gc-md5.c: Likewise.
2362         * tests/test-gc-pbkdf2-sha1.c: Likewise.
2363         * tests/test-gc-rijndael.c: Likewise.
2364         * tests/test-gc-sha1.c: Likewise.
2365         * tests/test-gc.c: Likewise.
2366         * tests/test-getcwd.c: Likewise.
2367         * tests/test-link.c: Likewise.
2368         * tests/test-link.h: Likewise.
2369         * tests/test-lutimens.h: Likewise.
2370         * tests/test-md2.c: Likewise.
2371         * tests/test-md4.c: Likewise.
2372         * tests/test-mkdir.h: Likewise.
2373         * tests/test-rename.c: Likewise.
2374         * tests/test-rename.h: Likewise.
2375         * tests/test-safe-alloc.c: Likewise.
2376         * tests/test-utimens-common.h: Likewise.
2377         * tests/test-utimens.h: Likewise.
2378
2379         maint: sync license texts
2380         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
2381         * doc/gpl-3.0.texi: Revert copyright year update.
2382         * doc/lgpl-3.0.texi: Likewise.
2383
2384 2009-12-29  Jim Meyering  <meyering@redhat.com>
2385
2386         update nearly all FSF copyright year lists to include 2009
2387         The files named by the following are exempted:
2388             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
2389               test -f "$dst" && { echo "$dst"; continue; }
2390               test -d "$dst" || continue
2391               echo "$dst"/$(basename "$src")
2392             done > exempt
2393             git ls-files tests/unictype >> exempt
2394         In the remaining files, convert to all-interval notation if
2395         - there is already at least one year interval like 2000-2003
2396         - the file is maintained by me
2397         - the file is in lib/uni*/, where that style already prevails
2398         Otherwise, use update-copyright's default.
2399
2400 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2401         and Eric Blake  <ebb9@byu.net>
2402
2403         tests: don't require debug system() to pass
2404         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
2405         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2406         * tests/test-unlink.h (test_unlink_func): Likewise.
2407         * tests/test-fstatat.c (main): ...into callers.
2408         * tests/test-lstat.c (main): Likewise.
2409         * tests/test-rmdir.c (main): Likewise.
2410         * tests/test-unlink.c (main): Likewise.
2411         * tests/test-unlinkat.c (main): Likewise.
2412         * tests/test-areadlink-with-size.c (main): Don't require a
2413         debug-only system call to pass, aiding cross-testing to mingw.
2414         * tests/test-areadlink.c (main): Likewise.
2415         * tests/test-areadlinkat-with-size.c (main): Likewise.
2416         * tests/test-areadlinkat.c (main): Likewise.
2417         * tests/test-canonicalize-lgpl.c (main): Likewise.
2418         * tests/test-canonicalize.c (main): Likewise.
2419         * tests/test-chown.c (main): Likewise.
2420         * tests/test-fchownat.c (main): Likewise.
2421         * tests/test-lchown.c (main): Likewise.
2422         * tests/test-fdutimensat.c (main): Likewise.
2423         * tests/test-futimens.c (main): Likewise.
2424         * tests/test-link.c (main): Likewise.
2425         * tests/test-linkat.c (main): Likewise.
2426         * tests/test-mkdir.c (main): Likewise.
2427         * tests/test-mkdirat.c (main): Likewise.
2428         * tests/test-mkfifo.c (main): Likewise.
2429         * tests/test-mkfifoat.c (main): Likewise.
2430         * tests/test-mknod.c (main): Likewise.
2431         * tests/test-readlink.c (main): Likewise.
2432         * tests/test-remove.c (main): Likewise.
2433         * tests/test-rename.c (main): Likewise.
2434         * tests/test-renameat.c (main): Likewise.
2435         * tests/test-symlink.c (main): Likewise.
2436         * tests/test-symlinkat.c (main): Likewise.
2437         * tests/test-utimens.c (main): Likewise.
2438         * tests/test-utimensat.c (main): Likewise.
2439
2440 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2441
2442         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
2443         on $(UNUSED_PARAMETER_H) to avoid build failure.
2444
2445 2009-12-28  Jim Meyering  <meyering@redhat.com>
2446
2447         update-copyright: you may specify a max. line length other than 72
2448         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2449
2450         maint: use consistent FSF copyright line syntax
2451         * lib/posixtm.c: Add missing comma in FSF copyright line.
2452         * lib/posixtm.h: Likewise.
2453         * lib/getugroups.c: Add missing ", Inc.".
2454
2455         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
2456         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
2457         FSF copyright line.  Remove trailing blanks.
2458
2459 2009-12-28  Eric Blake  <ebb9@byu.net>
2460
2461         test-dup2: reduce dependencies
2462         * modules/cloexec (Configure.ac): Set witness.
2463         * modules/dup2-tests (Depends-on): Drop cloexec.
2464         * tests/test-dup2.c (main): Skip portion of test if cloexec module
2465         not present.
2466         Suggested by Bruno Haible.
2467
2468 2009-12-26  Bruno Haible  <bruno@clisp.org>
2469
2470         Remove an unneeded dependency.
2471         * modules/fseterr (Depends-on): Remove dup2.
2472
2473 2009-12-26  Eric Blake  <ebb9@byu.net>
2474
2475         tests: use macros.h in more places
2476         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
2477         (ASSERT_STREAM): Provide default of stderr.
2478         * tests/test-dirent-safer.c: Include macros.h, using alternate
2479         stream for assertions.
2480         * tests/test-dup-safer.c: Likewise.
2481         * tests/test-freopen-safer.c: Likewise.
2482         * tests/test-getopt.c: Likewise.
2483         * tests/test-openat-safer.c: Likewise.
2484         * tests/test-pipe.c: Likewise.
2485         * tests/test-popen-safer.c: Likewise.
2486         * modules/dirent-safer-tests (Files): Include macros.h.
2487         * modules/unistd-safer-tests (Files): Likewise.
2488         * modules/freopen-safer-tests (Files): Likewise.
2489         * modules/getopt-posix-tests (Files): Likewise.
2490         * modules/openat-safer-tests (Files): Likewise.
2491         * modules/pipe-tests (Files): Likewise.
2492
2493 2009-12-26  Bruno Haible  <bruno@clisp.org>
2494
2495         javacomp: Portability fix.
2496         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
2497         that it also works on Solaris.
2498
2499 2009-12-26  Bruno Haible  <bruno@clisp.org>
2500
2501         localename: Fix storage allocation of gl_locale_name_thread's result.
2502         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
2503         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
2504         all platforms that have 'uselocale'.
2505         (gl_locale_name_thread_unsafe): New function, extracted from
2506         gl_locale_name_thread.
2507         (gl_locale_name_thread): Call struniq on all platforms that have
2508         'uselocale'.
2509         * tests/test-localename.c (test_locale_name_thread): Check that the
2510         resulting strings are permanently allocated.
2511         * modules/localename-tests (Depends-on): Add strdup.
2512
2513 2009-12-26  Bruno Haible  <bruno@clisp.org>
2514
2515         * tests/test-localename.c (categories): Fill in the strings.
2516
2517 2009-12-26  Jim Meyering  <meyering@redhat.com>
2518
2519         isdir: complete the removal of m4/isdir.m4
2520         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
2521
2522         isdir: clean up, since at least grep still uses it
2523         * lib/isdir.c: Include "isdir.h".
2524         (S_ISDIR): Remove now-unneeded definition.
2525         * modules/isdir (Files): Add lib/isdir.h.
2526         * lib/isdir.h: New file, with declaration.
2527         * m4/isdir.m4: Remove file -- unneeded.
2528
2529 2009-12-25  Bruno Haible  <bruno@clisp.org>
2530
2531         selinux-h: Make generated .h files standalone.
2532         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
2533         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
2534         * lib/se-selinux.in.h: Likewise.
2535         * modules/selinux-h (Depends-on): Add unused-parameter.
2536         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
2537         selinux/selinux.h and selinux/context.h.
2538         Suggested by Eric Blake.
2539
2540 2009-12-25  Bruno Haible  <bruno@clisp.org>
2541
2542         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
2543         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
2544         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
2545         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
2546         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
2547
2548 2009-12-24  Bruno Haible  <bruno@clisp.org>
2549
2550         openat: Fix warning.
2551         * lib/openat-proc.c: Include <unistd.h>.
2552
2553 2009-12-24  Bruno Haible  <bruno@clisp.org>
2554
2555         New module 'unused-parameter'.
2556         * build-aux/unused-parameter.h: New file, extracted from earlier
2557         gnulib-common.m4.
2558         * modules/unused-parameter: New file.
2559         * lib/unistr.h: Include unused-parameter.h.
2560         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
2561         _GL_UNUSED.
2562         * modules/unistr/base (Depends-on): Add unused-parameter.
2563
2564 2009-12-24  Bruno Haible  <bruno@clisp.org>
2565
2566         Add missing dependencies to 'extensions' module.
2567         * m4/extensions.m4: Add comment.
2568         * modules/accept4 (Depends-on): Add extensions.
2569         * modules/dup3 (Depends-on): Likewise.
2570         * modules/fcntl (Depends-on): Likewise.
2571         * modules/futimens (Depends-on): Likewise.
2572         * modules/mknod (Depends-on): Likewise.
2573         * modules/pipe2 (Depends-on): Likewise.
2574         * modules/stat-time (Depends-on): Likewise.
2575         * modules/strcasestr-simple (Depends-on): Likewise.
2576         * modules/strsignal (Depends-on): Likewise.
2577         * modules/utimensat (Depends-on): Likewise.
2578         * modules/localcharset (Depends-on): Likewise. Needed because of
2579         gl_FCNTL_O_FLAGS.
2580         * modules/wcrtomb (Depends-on): Likewise. Needed because of
2581         AC_TYPE_MBSTATE_T.
2582         * modules/wcsnrtombs (Depends-on): Likewise.
2583         * modules/wcsrtombs (Depends-on): Likewise.
2584
2585 2009-12-24  Bruno Haible  <bruno@clisp.org>
2586
2587         binary-io: Avoid gcc warning due to SET_BINARY.
2588         * lib/binary-io.h (SET_BINARY): Cast the result to void.
2589         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
2590
2591 2009-12-24  Bruno Haible  <bruno@clisp.org>
2592
2593         Avoid future namespace pollution on glibc systems.
2594         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
2595         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
2596         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
2597         glibc systems.
2598
2599 2009-12-24  Bruno Haible  <bruno@clisp.org>
2600
2601         Refactor common macros used in tests.
2602         * tests/macros.h: New file.
2603         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
2604         and/or <stdlib.h>, if appropriate.
2605         (ASSERT, SIZEOF): Remove macros.
2606         * tests/test-areadlink-with-size.c: Likewise.
2607         * tests/test-areadlinkat.c: Likewise.
2608         * tests/test-areadlinkat-with-size.c: Likewise.
2609         * tests/test-argmatch.c: Likewise.
2610         * tests/test-argv-iter.c: Likewise.
2611         * tests/test-array-mergesort.c: Likewise.
2612         * tests/test-array_list.c: Likewise.
2613         * tests/test-array_oset.c: Likewise.
2614         * tests/test-avltree_list.c: Likewise.
2615         * tests/test-avltree_oset.c: Likewise.
2616         * tests/test-avltreehash_list.c: Likewise.
2617         * tests/test-base64.c: Likewise.
2618         * tests/test-binary-io.c: Likewise.
2619         * tests/test-bitrotate.c: Likewise.
2620         * tests/test-btowc.c: Likewise.
2621         * tests/test-byteswap.c: Likewise.
2622         * tests/test-c-ctype.c: Likewise.
2623         * tests/test-c-stack.c: Likewise.
2624         * tests/test-c-strcasecmp.c: Likewise.
2625         * tests/test-c-strcasestr.c: Likewise.
2626         * tests/test-c-strncasecmp.c: Likewise.
2627         * tests/test-c-strstr.c: Likewise.
2628         * tests/test-canonicalize-lgpl.c: Likewise.
2629         * tests/test-canonicalize.c: Likewise.
2630         * tests/test-carray_list.c: Likewise.
2631         * tests/test-ceilf1.c: Likewise.
2632         * tests/test-ceilf2.c: Likewise.
2633         * tests/test-ceill.c: Likewise.
2634         * tests/test-chown.c: Likewise.
2635         * tests/test-cloexec.c: Likewise.
2636         * tests/test-copy-acl.c: Likewise.
2637         * tests/test-copy-file.c: Likewise.
2638         * tests/test-count-one-bits.c: Likewise.
2639         * tests/test-dprintf-posix.c: Likewise.
2640         * tests/test-dup2.c: Likewise.
2641         * tests/test-dup3.c: Likewise.
2642         * tests/test-duplocale.c: Likewise.
2643         * tests/test-fbufmode.c: Likewise.
2644         * tests/test-fchdir.c: Likewise.
2645         * tests/test-fchownat.c: Likewise.
2646         * tests/test-fcntl-safer.c: Likewise.
2647         * tests/test-fcntl.c: Likewise.
2648         * tests/test-fdopendir.c: Likewise.
2649         * tests/test-fdutimensat.c: Likewise.
2650         * tests/test-fflush2.c: Likewise.
2651         * tests/test-file-has-acl.c: Likewise.
2652         * tests/test-filevercmp.c: Likewise.
2653         * tests/test-flock.c: Likewise.
2654         * tests/test-floorf1.c: Likewise.
2655         * tests/test-floorf2.c: Likewise.
2656         * tests/test-floorl.c: Likewise.
2657         * tests/test-fnmatch.c: Likewise.
2658         * tests/test-fopen.h: Likewise.
2659         * tests/test-fpending.c: Likewise.
2660         * tests/test-fprintf-posix.c: Likewise.
2661         * tests/test-fpurge.c: Likewise.
2662         * tests/test-freadable.c: Likewise.
2663         * tests/test-freadahead.c: Likewise.
2664         * tests/test-freading.c: Likewise.
2665         * tests/test-freadptr.c: Likewise.
2666         * tests/test-freadptr2.c: Likewise.
2667         * tests/test-freadseek.c: Likewise.
2668         * tests/test-freopen.c: Likewise.
2669         * tests/test-frexp.c: Likewise.
2670         * tests/test-frexpl.c: Likewise.
2671         * tests/test-fseek.c: Likewise.
2672         * tests/test-fseeko.c: Likewise.
2673         * tests/test-fstatat.c: Likewise.
2674         * tests/test-fstrcmp.c: Likewise.
2675         * tests/test-fsync.c: Likewise.
2676         * tests/test-ftell.c: Likewise.
2677         * tests/test-ftello.c: Likewise.
2678         * tests/test-func.c: Likewise.
2679         * tests/test-futimens.c: Likewise.
2680         * tests/test-fwritable.c: Likewise.
2681         * tests/test-fwriting.c: Likewise.
2682         * tests/test-getcwd.c: Likewise.
2683         * tests/test-getdate.c: Likewise.
2684         * tests/test-getdelim.c: Likewise.
2685         * tests/test-getdtablesize.c: Likewise.
2686         * tests/test-getgroups.c: Likewise.
2687         * tests/test-getline.c: Likewise.
2688         * tests/test-getndelim2.c: Likewise.
2689         * tests/test-glob.c: Likewise.
2690         * tests/test-hash.c: Likewise.
2691         * tests/test-i-ring.c: Likewise.
2692         * tests/test-iconv-utf.c: Likewise.
2693         * tests/test-iconv.c: Likewise.
2694         * tests/test-idpriv-drop.c: Likewise.
2695         * tests/test-idpriv-droptemp.c: Likewise.
2696         * tests/test-inet_ntop.c: Likewise.
2697         * tests/test-inet_pton.c: Likewise.
2698         * tests/test-isblank.c: Likewise.
2699         * tests/test-isfinite.c: Likewise.
2700         * tests/test-isinf.c: Likewise.
2701         * tests/test-isnan.c: Likewise.
2702         * tests/test-isnand.h: Likewise.
2703         * tests/test-isnanf.h: Likewise.
2704         * tests/test-isnanl.h: Likewise.
2705         * tests/test-lchown.c: Likewise.
2706         * tests/test-ldexpl.c: Likewise.
2707         * tests/test-link.c: Likewise.
2708         * tests/test-linkat.c: Likewise.
2709         * tests/test-linked_list.c: Likewise.
2710         * tests/test-linkedhash_list.c: Likewise.
2711         * tests/test-localename.c: Likewise.
2712         * tests/test-lseek.c: Likewise.
2713         * tests/test-lstat.c: Likewise.
2714         * tests/test-mbmemcasecmp.c: Likewise.
2715         * tests/test-mbmemcasecoll.c: Likewise.
2716         * tests/test-mbrtowc.c: Likewise.
2717         * tests/test-mbscasecmp.c: Likewise.
2718         * tests/test-mbscasestr1.c: Likewise.
2719         * tests/test-mbscasestr2.c: Likewise.
2720         * tests/test-mbscasestr3.c: Likewise.
2721         * tests/test-mbscasestr4.c: Likewise.
2722         * tests/test-mbschr.c: Likewise.
2723         * tests/test-mbscspn.c: Likewise.
2724         * tests/test-mbsinit.c: Likewise.
2725         * tests/test-mbsncasecmp.c: Likewise.
2726         * tests/test-mbsnrtowcs.c: Likewise.
2727         * tests/test-mbspbrk.c: Likewise.
2728         * tests/test-mbspcasecmp.c: Likewise.
2729         * tests/test-mbsrchr.c: Likewise.
2730         * tests/test-mbsrtowcs.c: Likewise.
2731         * tests/test-mbsspn.c: Likewise.
2732         * tests/test-mbsstr1.c: Likewise.
2733         * tests/test-mbsstr2.c: Likewise.
2734         * tests/test-mbsstr3.c: Likewise.
2735         * tests/test-memchr.c: Likewise.
2736         * tests/test-memchr2.c: Likewise.
2737         * tests/test-memcmp.c: Likewise.
2738         * tests/test-memmem.c: Likewise.
2739         * tests/test-memrchr.c: Likewise.
2740         * tests/test-mkdir.c: Likewise.
2741         * tests/test-mkdirat.c: Likewise.
2742         * tests/test-mkfifo.c: Likewise.
2743         * tests/test-mkfifoat.c: Likewise.
2744         * tests/test-mknod.c: Likewise.
2745         * tests/test-nanosleep.c: Likewise.
2746         * tests/test-nl_langinfo.c: Likewise.
2747         * tests/test-obstack-printf.c: Likewise.
2748         * tests/test-open.c: Likewise.
2749         * tests/test-openat.c: Likewise.
2750         * tests/test-pipe-filter-gi1.c: Likewise.
2751         * tests/test-pipe-filter-gi2-main.c: Likewise.
2752         * tests/test-pipe-filter-ii1.c: Likewise.
2753         * tests/test-pipe-filter-ii2-main.c: Likewise.
2754         * tests/test-pipe2.c: Likewise.
2755         * tests/test-popen.h: Likewise.
2756         * tests/test-posixtm.c: Likewise.
2757         * tests/test-pread.c: Likewise.
2758         * tests/test-printf-frexp.c: Likewise.
2759         * tests/test-printf-frexpl.c: Likewise.
2760         * tests/test-printf-posix.c: Likewise.
2761         * tests/test-priv-set.c: Likewise.
2762         * tests/test-quotearg.c: Likewise.
2763         * tests/test-random_r.c: Likewise.
2764         * tests/test-rawmemchr.c: Likewise.
2765         * tests/test-rbtree_list.c: Likewise.
2766         * tests/test-rbtree_oset.c: Likewise.
2767         * tests/test-rbtreehash_list.c: Likewise.
2768         * tests/test-readlink.c: Likewise.
2769         * tests/test-remove.c: Likewise.
2770         * tests/test-rename.c: Likewise.
2771         * tests/test-renameat.c: Likewise.
2772         * tests/test-rmdir.c: Likewise.
2773         * tests/test-round1.c: Likewise.
2774         * tests/test-roundf1.c: Likewise.
2775         * tests/test-roundl.c: Likewise.
2776         * tests/test-safe-alloc.c: Likewise.
2777         * tests/test-sameacls.c: Likewise.
2778         * tests/test-set-mode-acl.c: Likewise.
2779         * tests/test-setenv.c: Likewise.
2780         * tests/test-sigaction.c: Likewise.
2781         * tests/test-signbit.c: Likewise.
2782         * tests/test-sleep.c: Likewise.
2783         * tests/test-snprintf-posix.c: Likewise.
2784         * tests/test-snprintf.c: Likewise.
2785         * tests/test-sprintf-posix.c: Likewise.
2786         * tests/test-stat-time.c: Likewise.
2787         * tests/test-stat.c: Likewise.
2788         * tests/test-strcasestr.c: Likewise.
2789         * tests/test-strchrnul.c: Likewise.
2790         * tests/test-strerror.c: Likewise.
2791         * tests/test-striconv.c: Likewise.
2792         * tests/test-striconveh.c: Likewise.
2793         * tests/test-striconveha.c: Likewise.
2794         * tests/test-strsignal.c: Likewise.
2795         * tests/test-strstr.c: Likewise.
2796         * tests/test-strtod.c: Likewise.
2797         * tests/test-strverscmp.c: Likewise.
2798         * tests/test-symlink.c: Likewise.
2799         * tests/test-symlinkat.c: Likewise.
2800         * tests/test-trunc1.c: Likewise.
2801         * tests/test-trunc2.c: Likewise.
2802         * tests/test-truncf1.c: Likewise.
2803         * tests/test-truncf2.c: Likewise.
2804         * tests/test-truncl.c: Likewise.
2805         * tests/test-uname.c: Likewise.
2806         * tests/test-unlink.c: Likewise.
2807         * tests/test-unlinkat.c: Likewise.
2808         * tests/test-unsetenv.c: Likewise.
2809         * tests/test-usleep.c: Likewise.
2810         * tests/test-utimens.c: Likewise.
2811         * tests/test-utimensat.c: Likewise.
2812         * tests/test-vasnprintf-posix.c: Likewise.
2813         * tests/test-vasnprintf-posix2.c: Likewise.
2814         * tests/test-vasnprintf.c: Likewise.
2815         * tests/test-vasprintf-posix.c: Likewise.
2816         * tests/test-vasprintf.c: Likewise.
2817         * tests/test-vdprintf-posix.c: Likewise.
2818         * tests/test-vfprintf-posix.c: Likewise.
2819         * tests/test-vprintf-posix.c: Likewise.
2820         * tests/test-vsnprintf-posix.c: Likewise.
2821         * tests/test-vsnprintf.c: Likewise.
2822         * tests/test-vsprintf-posix.c: Likewise.
2823         * tests/test-wcrtomb.c: Likewise.
2824         * tests/test-wcsnrtombs.c: Likewise.
2825         * tests/test-wcsrtombs.c: Likewise.
2826         * tests/test-wctype.c: Likewise.
2827         * tests/test-wcwidth.c: Likewise.
2828         * tests/test-xfprintf-posix.c: Likewise.
2829         * tests/test-xmemdup0.c: Likewise.
2830         * tests/test-xprintf-posix.c: Likewise.
2831         * tests/test-xvasprintf.c: Likewise.
2832         * tests/unicase/test-locale-language.c: Likewise.
2833         * tests/unicase/test-mapping-part1.h: Likewise.
2834         * tests/unicase/test-predicate-part1.h: Likewise.
2835         * tests/unicase/test-u8-casecmp.c: Likewise.
2836         * tests/unicase/test-u8-casecoll.c: Likewise.
2837         * tests/unicase/test-u8-casefold.c: Likewise.
2838         * tests/unicase/test-u8-is-cased.c: Likewise.
2839         * tests/unicase/test-u8-is-casefolded.c: Likewise.
2840         * tests/unicase/test-u8-is-lowercase.c: Likewise.
2841         * tests/unicase/test-u8-is-titlecase.c: Likewise.
2842         * tests/unicase/test-u8-is-uppercase.c: Likewise.
2843         * tests/unicase/test-u8-tolower.c: Likewise.
2844         * tests/unicase/test-u8-totitle.c: Likewise.
2845         * tests/unicase/test-u8-toupper.c: Likewise.
2846         * tests/unicase/test-u16-casecmp.c: Likewise.
2847         * tests/unicase/test-u16-casecoll.c: Likewise.
2848         * tests/unicase/test-u16-casefold.c: Likewise.
2849         * tests/unicase/test-u16-is-cased.c: Likewise.
2850         * tests/unicase/test-u16-is-casefolded.c: Likewise.
2851         * tests/unicase/test-u16-is-lowercase.c: Likewise.
2852         * tests/unicase/test-u16-is-titlecase.c: Likewise.
2853         * tests/unicase/test-u16-is-uppercase.c: Likewise.
2854         * tests/unicase/test-u16-tolower.c: Likewise.
2855         * tests/unicase/test-u16-totitle.c: Likewise.
2856         * tests/unicase/test-u16-toupper.c: Likewise.
2857         * tests/unicase/test-u32-casecmp.c: Likewise.
2858         * tests/unicase/test-u32-casecoll.c: Likewise.
2859         * tests/unicase/test-u32-casefold.c: Likewise.
2860         * tests/unicase/test-u32-is-cased.c: Likewise.
2861         * tests/unicase/test-u32-is-casefolded.c: Likewise.
2862         * tests/unicase/test-u32-is-lowercase.c: Likewise.
2863         * tests/unicase/test-u32-is-titlecase.c: Likewise.
2864         * tests/unicase/test-u32-is-uppercase.c: Likewise.
2865         * tests/unicase/test-u32-tolower.c: Likewise.
2866         * tests/unicase/test-u32-totitle.c: Likewise.
2867         * tests/unicase/test-u32-toupper.c: Likewise.
2868         * tests/unicase/test-ulc-casecmp.c: Likewise.
2869         * tests/unicase/test-ulc-casecoll.c: Likewise.
2870         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
2871         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
2872         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
2873         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
2874         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
2875         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
2876         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
2877         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
2878         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
2879         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
2880         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
2881         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
2882         * tests/unictype/test-bidi_byname.c: Likewise.
2883         * tests/unictype/test-bidi_name.c: Likewise.
2884         * tests/unictype/test-bidi_of.c: Likewise.
2885         * tests/unictype/test-bidi_test.c: Likewise.
2886         * tests/unictype/test-block_list.c: Likewise.
2887         * tests/unictype/test-block_of.c: Likewise.
2888         * tests/unictype/test-block_test.c: Likewise.
2889         * tests/unictype/test-categ_and.c: Likewise.
2890         * tests/unictype/test-categ_and_not.c: Likewise.
2891         * tests/unictype/test-categ_byname.c: Likewise.
2892         * tests/unictype/test-categ_name.c: Likewise.
2893         * tests/unictype/test-categ_none.c: Likewise.
2894         * tests/unictype/test-categ_of.c: Likewise.
2895         * tests/unictype/test-categ_or.c: Likewise.
2896         * tests/unictype/test-categ_test_withtable.c: Likewise.
2897         * tests/unictype/test-combining.c: Likewise.
2898         * tests/unictype/test-decdigit.c: Likewise.
2899         * tests/unictype/test-digit.c: Likewise.
2900         * tests/unictype/test-mirror.c: Likewise.
2901         * tests/unictype/test-numeric.c: Likewise.
2902         * tests/unictype/test-pr_byname.c: Likewise.
2903         * tests/unictype/test-pr_test.c: Likewise.
2904         * tests/unictype/test-predicate-part1.h: Likewise.
2905         * tests/unictype/test-scripts.c: Likewise.
2906         * tests/unictype/test-sy_c_ident.c: Likewise.
2907         * tests/unictype/test-sy_java_ident.c: Likewise.
2908         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
2909         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
2910         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
2911         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
2912         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
2913         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
2914         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
2915         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
2916         * tests/uninorm/test-canonical-decomposition.c: Likewise.
2917         * tests/uninorm/test-compat-decomposition.c: Likewise.
2918         * tests/uninorm/test-composition.c: Likewise.
2919         * tests/uninorm/test-decomposing-form.c: Likewise.
2920         * tests/uninorm/test-decomposition.c: Likewise.
2921         * tests/uninorm/test-u8-nfc.c: Likewise.
2922         * tests/uninorm/test-u8-nfd.c: Likewise.
2923         * tests/uninorm/test-u8-nfkc.c: Likewise.
2924         * tests/uninorm/test-u8-nfkd.c: Likewise.
2925         * tests/uninorm/test-u8-normcmp.c: Likewise.
2926         * tests/uninorm/test-u8-normcoll.c: Likewise.
2927         * tests/uninorm/test-u16-nfc.c: Likewise.
2928         * tests/uninorm/test-u16-nfd.c: Likewise.
2929         * tests/uninorm/test-u16-nfkc.c: Likewise.
2930         * tests/uninorm/test-u16-nfkd.c: Likewise.
2931         * tests/uninorm/test-u16-normcmp.c: Likewise.
2932         * tests/uninorm/test-u16-normcoll.c: Likewise.
2933         * tests/uninorm/test-u32-nfc.c: Likewise.
2934         * tests/uninorm/test-u32-nfd.c: Likewise.
2935         * tests/uninorm/test-u32-nfkc.c: Likewise.
2936         * tests/uninorm/test-u32-nfkd.c: Likewise.
2937         * tests/uninorm/test-u32-normalize-big.c: Likewise.
2938         * tests/uninorm/test-u32-normcmp.c: Likewise.
2939         * tests/uninorm/test-u32-normcoll.c: Likewise.
2940         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
2941         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
2942         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
2943         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
2944         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
2945         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
2946         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
2947         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
2948         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
2949         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
2950         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
2951         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
2952         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
2953         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
2954         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
2955         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
2956         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
2957         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
2958         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
2959         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
2960         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
2961         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
2962         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
2963         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
2964         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
2965         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
2966         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
2967         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
2968         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
2969         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
2970         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
2971         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
2972         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
2973         * tests/uniwidth/test-u8-strwidth.c: Likewise.
2974         * tests/uniwidth/test-u8-width.c: Likewise.
2975         * tests/uniwidth/test-u16-strwidth.c: Likewise.
2976         * tests/uniwidth/test-u16-width.c: Likewise.
2977         * tests/uniwidth/test-u32-strwidth.c: Likewise.
2978         * tests/uniwidth/test-u32-width.c: Likewise.
2979         * tests/uniwidth/test-uc_width.c: Likewise.
2980         * tests/uniwidth/test-uc_width2.c: Likewise.
2981         * modules/acl-tests (Files): Add tests/macros.h.
2982         * modules/areadlink-tests (Files): Likewise.
2983         * modules/areadlink-with-size-tests (Files): Likewise.
2984         * modules/areadlinkat-tests (Files): Likewise.
2985         * modules/areadlinkat-with-size-tests (Files): Likewise.
2986         * modules/argmatch-tests (Files): Likewise.
2987         * modules/argv-iter-tests (Files): Likewise.
2988         * modules/array-list-tests (Files): Likewise.
2989         * modules/array-mergesort-tests (Files): Likewise.
2990         * modules/array-oset-tests (Files): Likewise.
2991         * modules/avltree-list-tests (Files): Likewise.
2992         * modules/avltree-oset-tests (Files): Likewise.
2993         * modules/avltreehash-list-tests (Files): Likewise.
2994         * modules/base64-tests (Files): Likewise.
2995         * modules/binary-io-tests (Files): Likewise.
2996         * modules/bitrotate-tests (Files): Likewise.
2997         * modules/btowc-tests (Files): Likewise.
2998         * modules/byteswap-tests (Files): Likewise.
2999         * modules/c-ctype-tests (Files): Likewise.
3000         * modules/c-stack-tests (Files): Likewise.
3001         * modules/c-strcase-tests (Files): Likewise.
3002         * modules/c-strcasestr-tests (Files): Likewise.
3003         * modules/c-strstr-tests (Files): Likewise.
3004         * modules/canonicalize-lgpl-tests (Files): Likewise.
3005         * modules/canonicalize-tests (Files): Likewise.
3006         * modules/carray-list-tests (Files): Likewise.
3007         * modules/ceilf-tests (Files): Likewise.
3008         * modules/ceill-tests (Files): Likewise.
3009         * modules/chown-tests (Files): Likewise.
3010         * modules/cloexec-tests (Files): Likewise.
3011         * modules/copy-file-tests (Files): Likewise.
3012         * modules/count-one-bits-tests (Files): Likewise.
3013         * modules/dprintf-posix-tests (Files): Likewise.
3014         * modules/dup2-tests (Files): Likewise.
3015         * modules/dup3-tests (Files): Likewise.
3016         * modules/duplocale-tests (Files): Likewise.
3017         * modules/fbufmode-tests (Files): Likewise.
3018         * modules/fchdir-tests (Files): Likewise.
3019         * modules/fcntl-safer-tests (Files): Likewise.
3020         * modules/fcntl-tests (Files): Likewise.
3021         * modules/fdopendir-tests (Files): Likewise.
3022         * modules/fdutimensat-tests (Files): Likewise.
3023         * modules/fflush-tests (Files): Likewise.
3024         * modules/filevercmp-tests (Files): Likewise.
3025         * modules/flock-tests (Files): Likewise.
3026         * modules/floorf-tests (Files): Likewise.
3027         * modules/floorl-tests (Files): Likewise.
3028         * modules/fnmatch-tests (Files): Likewise.
3029         * modules/fopen-safer-tests (Files): Likewise.
3030         * modules/fopen-tests (Files): Likewise.
3031         * modules/fpending-tests (Files): Likewise.
3032         * modules/fprintf-posix-tests (Files): Likewise.
3033         * modules/fpurge-tests (Files): Likewise.
3034         * modules/freadable-tests (Files): Likewise.
3035         * modules/freadahead-tests (Files): Likewise.
3036         * modules/freading-tests (Files): Likewise.
3037         * modules/freadptr-tests (Files): Likewise.
3038         * modules/freadseek-tests (Files): Likewise.
3039         * modules/freopen-tests (Files): Likewise.
3040         * modules/frexp-nolibm-tests (Files): Likewise.
3041         * modules/frexp-tests (Files): Likewise.
3042         * modules/frexpl-nolibm-tests (Files): Likewise.
3043         * modules/frexpl-tests (Files): Likewise.
3044         * modules/fseek-tests (Files): Likewise.
3045         * modules/fseeko-tests (Files): Likewise.
3046         * modules/fstrcmp-tests (Files): Likewise.
3047         * modules/fsync-tests (Files): Likewise.
3048         * modules/ftell-tests (Files): Likewise.
3049         * modules/ftello-tests (Files): Likewise.
3050         * modules/func-tests (Files): Likewise.
3051         * modules/futimens-tests (Files): Likewise.
3052         * modules/fwritable-tests (Files): Likewise.
3053         * modules/fwriting-tests (Files): Likewise.
3054         * modules/getcwd-tests (Files): Likewise.
3055         * modules/getdate-tests (Files): Likewise.
3056         * modules/getdelim-tests (Files): Likewise.
3057         * modules/getdtablesize-tests (Files): Likewise.
3058         * modules/getgroups-tests (Files): Likewise.
3059         * modules/getline-tests (Files): Likewise.
3060         * modules/getndelim2-tests (Files): Likewise.
3061         * modules/glob-tests (Files): Likewise.
3062         * modules/hash-tests (Files): Likewise.
3063         * modules/i-ring-tests (Files): Likewise.
3064         * modules/iconv-tests (Files): Likewise.
3065         * modules/iconv_open-utf-tests (Files): Likewise.
3066         * modules/idpriv-drop-tests (Files): Likewise.
3067         * modules/idpriv-droptemp-tests (Files): Likewise.
3068         * modules/inet_ntop-tests (Files): Likewise.
3069         * modules/inet_pton-tests (Files): Likewise.
3070         * modules/isblank-tests (Files): Likewise.
3071         * modules/isfinite-tests (Files): Likewise.
3072         * modules/isinf-tests (Files): Likewise.
3073         * modules/isnan-tests (Files): Likewise.
3074         * modules/isnand-nolibm-tests (Files): Likewise.
3075         * modules/isnand-tests (Files): Likewise.
3076         * modules/isnanf-nolibm-tests (Files): Likewise.
3077         * modules/isnanf-tests (Files): Likewise.
3078         * modules/isnanl-nolibm-tests (Files): Likewise.
3079         * modules/isnanl-tests (Files): Likewise.
3080         * modules/lchown-tests (Files): Likewise.
3081         * modules/ldexpl-tests (Files): Likewise.
3082         * modules/link-tests (Files): Likewise.
3083         * modules/linkat-tests (Files): Likewise.
3084         * modules/linked-list-tests (Files): Likewise.
3085         * modules/linkedhash-list-tests (Files): Likewise.
3086         * modules/localename-tests (Files): Likewise.
3087         * modules/lseek-tests (Files): Likewise.
3088         * modules/lstat-tests (Files): Likewise.
3089         * modules/mbmemcasecmp-tests (Files): Likewise.
3090         * modules/mbmemcasecoll-tests (Files): Likewise.
3091         * modules/mbrtowc-tests (Files): Likewise.
3092         * modules/mbscasecmp-tests (Files): Likewise.
3093         * modules/mbscasestr-tests (Files): Likewise.
3094         * modules/mbschr-tests (Files): Likewise.
3095         * modules/mbscspn-tests (Files): Likewise.
3096         * modules/mbsinit-tests (Files): Likewise.
3097         * modules/mbsncasecmp-tests (Files): Likewise.
3098         * modules/mbsnrtowcs-tests (Files): Likewise.
3099         * modules/mbspbrk-tests (Files): Likewise.
3100         * modules/mbspcasecmp-tests (Files): Likewise.
3101         * modules/mbsrchr-tests (Files): Likewise.
3102         * modules/mbsrtowcs-tests (Files): Likewise.
3103         * modules/mbsspn-tests (Files): Likewise.
3104         * modules/mbsstr-tests (Files): Likewise.
3105         * modules/memchr-tests (Files): Likewise.
3106         * modules/memchr2-tests (Files): Likewise.
3107         * modules/memcmp-tests (Files): Likewise.
3108         * modules/memmem-tests (Files): Likewise.
3109         * modules/memrchr-tests (Files): Likewise.
3110         * modules/mkdir-tests (Files): Likewise.
3111         * modules/mkfifo-tests (Files): Likewise.
3112         * modules/mkfifoat-tests (Files): Likewise.
3113         * modules/mknod-tests (Files): Likewise.
3114         * modules/nanosleep-tests (Files): Likewise.
3115         * modules/nl_langinfo-tests (Files): Likewise.
3116         * modules/obstack-printf-tests (Files): Likewise.
3117         * modules/open-tests (Files): Likewise.
3118         * modules/openat-tests (Files): Likewise.
3119         * modules/pipe-filter-gi-tests (Files): Likewise.
3120         * modules/pipe-filter-ii-tests (Files): Likewise.
3121         * modules/pipe2-tests (Files): Likewise.
3122         * modules/popen-safer-tests (Files): Likewise.
3123         * modules/popen-tests (Files): Likewise.
3124         * modules/posixtm-tests (Files): Likewise.
3125         * modules/pread-tests (Files): Likewise.
3126         * modules/printf-frexp-tests (Files): Likewise.
3127         * modules/printf-frexpl-tests (Files): Likewise.
3128         * modules/printf-posix-tests (Files): Likewise.
3129         * modules/priv-set-tests (Files): Likewise.
3130         * modules/quotearg-tests (Files): Likewise.
3131         * modules/random_r-tests (Files): Likewise.
3132         * modules/rawmemchr-tests (Files): Likewise.
3133         * modules/rbtree-list-tests (Files): Likewise.
3134         * modules/rbtree-oset-tests (Files): Likewise.
3135         * modules/rbtreehash-list-tests (Files): Likewise.
3136         * modules/readlink-tests (Files): Likewise.
3137         * modules/remove-tests (Files): Likewise.
3138         * modules/rename-tests (Files): Likewise.
3139         * modules/renameat-tests (Files): Likewise.
3140         * modules/rmdir-tests (Files): Likewise.
3141         * modules/round-tests (Files): Likewise.
3142         * modules/roundf-tests (Files): Likewise.
3143         * modules/roundl-tests (Files): Likewise.
3144         * modules/safe-alloc-tests (Files): Likewise.
3145         * modules/setenv-tests (Files): Likewise.
3146         * modules/sigaction-tests (Files): Likewise.
3147         * modules/signbit-tests (Files): Likewise.
3148         * modules/sleep-tests (Files): Likewise.
3149         * modules/snprintf-posix-tests (Files): Likewise.
3150         * modules/snprintf-tests (Files): Likewise.
3151         * modules/sprintf-posix-tests (Files): Likewise.
3152         * modules/stat-tests (Files): Likewise.
3153         * modules/stat-time-tests (Files): Likewise.
3154         * modules/strcasestr-tests (Files): Likewise.
3155         * modules/strchrnul-tests (Files): Likewise.
3156         * modules/strerror-tests (Files): Likewise.
3157         * modules/striconv-tests (Files): Likewise.
3158         * modules/striconveh-tests (Files): Likewise.
3159         * modules/striconveha-tests (Files): Likewise.
3160         * modules/strsignal-tests (Files): Likewise.
3161         * modules/strstr-tests (Files): Likewise.
3162         * modules/strtod-tests (Files): Likewise.
3163         * modules/strverscmp-tests (Files): Likewise.
3164         * modules/symlink-tests (Files): Likewise.
3165         * modules/symlinkat-tests (Files): Likewise.
3166         * modules/trunc-tests (Files): Likewise.
3167         * modules/truncf-tests (Files): Likewise.
3168         * modules/truncl-tests (Files): Likewise.
3169         * modules/uname-tests (Files): Likewise.
3170         * modules/unicase/cased-tests (Files): Likewise.
3171         * modules/unicase/ignorable-tests (Files): Likewise.
3172         * modules/unicase/locale-language-tests (Files): Likewise.
3173         * modules/unicase/tolower-tests (Files): Likewise.
3174         * modules/unicase/totitle-tests (Files): Likewise.
3175         * modules/unicase/toupper-tests (Files): Likewise.
3176         * modules/unicase/u8-casecmp-tests (Files): Likewise.
3177         * modules/unicase/u8-casecoll-tests (Files): Likewise.
3178         * modules/unicase/u8-casefold-tests (Files): Likewise.
3179         * modules/unicase/u8-is-cased-tests (Files): Likewise.
3180         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
3181         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
3182         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
3183         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
3184         * modules/unicase/u8-tolower-tests (Files): Likewise.
3185         * modules/unicase/u8-totitle-tests (Files): Likewise.
3186         * modules/unicase/u8-toupper-tests (Files): Likewise.
3187         * modules/unicase/u16-casecmp-tests (Files): Likewise.
3188         * modules/unicase/u16-casecoll-tests (Files): Likewise.
3189         * modules/unicase/u16-casefold-tests (Files): Likewise.
3190         * modules/unicase/u16-is-cased-tests (Files): Likewise.
3191         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
3192         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
3193         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
3194         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
3195         * modules/unicase/u16-tolower-tests (Files): Likewise.
3196         * modules/unicase/u16-totitle-tests (Files): Likewise.
3197         * modules/unicase/u16-toupper-tests (Files): Likewise.
3198         * modules/unicase/u32-casecmp-tests (Files): Likewise.
3199         * modules/unicase/u32-casecoll-tests (Files): Likewise.
3200         * modules/unicase/u32-casefold-tests (Files): Likewise.
3201         * modules/unicase/u32-is-cased-tests (Files): Likewise.
3202         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
3203         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
3204         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
3205         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
3206         * modules/unicase/u32-tolower-tests (Files): Likewise.
3207         * modules/unicase/u32-totitle-tests (Files): Likewise.
3208         * modules/unicase/u32-toupper-tests (Files): Likewise.
3209         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
3210         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
3211         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
3212         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
3213         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
3214         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
3215         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
3216         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
3217         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
3218         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
3219         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
3220         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
3221         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
3222         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
3223         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
3224         * modules/unictype/bidicategory-name-tests (Files): Likewise.
3225         * modules/unictype/bidicategory-of-tests (Files): Likewise.
3226         * modules/unictype/bidicategory-test-tests (Files): Likewise.
3227         * modules/unictype/block-list-tests (Files): Likewise.
3228         * modules/unictype/block-of-tests (Files): Likewise.
3229         * modules/unictype/block-test-tests (Files): Likewise.
3230         * modules/unictype/category-C-tests (Files): Likewise.
3231         * modules/unictype/category-Cc-tests (Files): Likewise.
3232         * modules/unictype/category-Cf-tests (Files): Likewise.
3233         * modules/unictype/category-Cn-tests (Files): Likewise.
3234         * modules/unictype/category-Co-tests (Files): Likewise.
3235         * modules/unictype/category-Cs-tests (Files): Likewise.
3236         * modules/unictype/category-L-tests (Files): Likewise.
3237         * modules/unictype/category-Ll-tests (Files): Likewise.
3238         * modules/unictype/category-Lm-tests (Files): Likewise.
3239         * modules/unictype/category-Lo-tests (Files): Likewise.
3240         * modules/unictype/category-Lt-tests (Files): Likewise.
3241         * modules/unictype/category-Lu-tests (Files): Likewise.
3242         * modules/unictype/category-M-tests (Files): Likewise.
3243         * modules/unictype/category-Mc-tests (Files): Likewise.
3244         * modules/unictype/category-Me-tests (Files): Likewise.
3245         * modules/unictype/category-Mn-tests (Files): Likewise.
3246         * modules/unictype/category-N-tests (Files): Likewise.
3247         * modules/unictype/category-Nd-tests (Files): Likewise.
3248         * modules/unictype/category-Nl-tests (Files): Likewise.
3249         * modules/unictype/category-No-tests (Files): Likewise.
3250         * modules/unictype/category-P-tests (Files): Likewise.
3251         * modules/unictype/category-Pc-tests (Files): Likewise.
3252         * modules/unictype/category-Pd-tests (Files): Likewise.
3253         * modules/unictype/category-Pe-tests (Files): Likewise.
3254         * modules/unictype/category-Pf-tests (Files): Likewise.
3255         * modules/unictype/category-Pi-tests (Files): Likewise.
3256         * modules/unictype/category-Po-tests (Files): Likewise.
3257         * modules/unictype/category-Ps-tests (Files): Likewise.
3258         * modules/unictype/category-S-tests (Files): Likewise.
3259         * modules/unictype/category-Sc-tests (Files): Likewise.
3260         * modules/unictype/category-Sk-tests (Files): Likewise.
3261         * modules/unictype/category-Sm-tests (Files): Likewise.
3262         * modules/unictype/category-So-tests (Files): Likewise.
3263         * modules/unictype/category-Z-tests (Files): Likewise.
3264         * modules/unictype/category-Zl-tests (Files): Likewise.
3265         * modules/unictype/category-Zp-tests (Files): Likewise.
3266         * modules/unictype/category-Zs-tests (Files): Likewise.
3267         * modules/unictype/category-and-not-tests (Files): Likewise.
3268         * modules/unictype/category-and-tests (Files): Likewise.
3269         * modules/unictype/category-byname-tests (Files): Likewise.
3270         * modules/unictype/category-name-tests (Files): Likewise.
3271         * modules/unictype/category-none-tests (Files): Likewise.
3272         * modules/unictype/category-of-tests (Files): Likewise.
3273         * modules/unictype/category-or-tests (Files): Likewise.
3274         * modules/unictype/category-test-withtable-tests (Files): Likewise.
3275         * modules/unictype/combining-class-tests (Files): Likewise.
3276         * modules/unictype/ctype-alnum-tests (Files): Likewise.
3277         * modules/unictype/ctype-alpha-tests (Files): Likewise.
3278         * modules/unictype/ctype-blank-tests (Files): Likewise.
3279         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
3280         * modules/unictype/ctype-digit-tests (Files): Likewise.
3281         * modules/unictype/ctype-graph-tests (Files): Likewise.
3282         * modules/unictype/ctype-lower-tests (Files): Likewise.
3283         * modules/unictype/ctype-print-tests (Files): Likewise.
3284         * modules/unictype/ctype-punct-tests (Files): Likewise.
3285         * modules/unictype/ctype-space-tests (Files): Likewise.
3286         * modules/unictype/ctype-upper-tests (Files): Likewise.
3287         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
3288         * modules/unictype/decimal-digit-tests (Files): Likewise.
3289         * modules/unictype/digit-tests (Files): Likewise.
3290         * modules/unictype/mirror-tests (Files): Likewise.
3291         * modules/unictype/numeric-tests (Files): Likewise.
3292         * modules/unictype/property-alphabetic-tests (Files): Likewise.
3293         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
3294         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
3295         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
3296         Likewise.
3297         * modules/unictype/property-bidi-block-separator-tests (Files):
3298         Likewise.
3299         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
3300         Likewise.
3301         * modules/unictype/property-bidi-common-separator-tests (Files):
3302         Likewise.
3303         * modules/unictype/property-bidi-control-tests (Files): Likewise.
3304         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
3305         Likewise.
3306         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
3307         Likewise.
3308         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
3309         Likewise.
3310         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
3311         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
3312         Likewise.
3313         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
3314         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
3315         Likewise.
3316         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
3317         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
3318         * modules/unictype/property-bidi-segment-separator-tests (Files):
3319         Likewise.
3320         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
3321         * modules/unictype/property-byname-tests (Files): Likewise.
3322         * modules/unictype/property-combining-tests (Files): Likewise.
3323         * modules/unictype/property-composite-tests (Files): Likewise.
3324         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
3325         * modules/unictype/property-dash-tests (Files): Likewise.
3326         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
3327         * modules/unictype/property-default-ignorable-code-point-tests (Files):
3328         Likewise.
3329         * modules/unictype/property-deprecated-tests (Files): Likewise.
3330         * modules/unictype/property-diacritic-tests (Files): Likewise.
3331         * modules/unictype/property-extender-tests (Files): Likewise.
3332         * modules/unictype/property-format-control-tests (Files): Likewise.
3333         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
3334         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
3335         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
3336         * modules/unictype/property-hex-digit-tests (Files): Likewise.
3337         * modules/unictype/property-hyphen-tests (Files): Likewise.
3338         * modules/unictype/property-id-continue-tests (Files): Likewise.
3339         * modules/unictype/property-id-start-tests (Files): Likewise.
3340         * modules/unictype/property-ideographic-tests (Files): Likewise.
3341         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
3342         * modules/unictype/property-ids-trinary-operator-tests (Files):
3343         Likewise.
3344         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
3345         * modules/unictype/property-iso-control-tests (Files): Likewise.
3346         * modules/unictype/property-join-control-tests (Files): Likewise.
3347         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
3348         * modules/unictype/property-line-separator-tests (Files): Likewise.
3349         * modules/unictype/property-logical-order-exception-tests (Files):
3350         Likewise.
3351         * modules/unictype/property-lowercase-tests (Files): Likewise.
3352         * modules/unictype/property-math-tests (Files): Likewise.
3353         * modules/unictype/property-non-break-tests (Files): Likewise.
3354         * modules/unictype/property-not-a-character-tests (Files): Likewise.
3355         * modules/unictype/property-numeric-tests (Files): Likewise.
3356         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
3357         * modules/unictype/property-other-default-ignorable-code-point-tests
3358         (Files): Likewise.
3359         * modules/unictype/property-other-grapheme-extend-tests (Files):
3360         Likewise.
3361         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
3362         * modules/unictype/property-other-id-start-tests (Files): Likewise.
3363         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
3364         * modules/unictype/property-other-math-tests (Files): Likewise.
3365         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
3366         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
3367         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
3368         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
3369         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
3370         * modules/unictype/property-private-use-tests (Files): Likewise.
3371         * modules/unictype/property-punctuation-tests (Files): Likewise.
3372         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
3373         * modules/unictype/property-radical-tests (Files): Likewise.
3374         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
3375         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
3376         * modules/unictype/property-space-tests (Files): Likewise.
3377         * modules/unictype/property-terminal-punctuation-tests (Files):
3378         Likewise.
3379         * modules/unictype/property-test-tests (Files): Likewise.
3380         * modules/unictype/property-titlecase-tests (Files): Likewise.
3381         * modules/unictype/property-unassigned-code-value-tests (Files):
3382         Likewise.
3383         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
3384         * modules/unictype/property-uppercase-tests (Files): Likewise.
3385         * modules/unictype/property-variation-selector-tests (Files): Likewise.
3386         * modules/unictype/property-white-space-tests (Files): Likewise.
3387         * modules/unictype/property-xid-continue-tests (Files): Likewise.
3388         * modules/unictype/property-xid-start-tests (Files): Likewise.
3389         * modules/unictype/property-zero-width-tests (Files): Likewise.
3390         * modules/unictype/scripts-tests (Files): Likewise.
3391         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
3392         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
3393         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
3394         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
3395         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
3396         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
3397         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
3398         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
3399         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
3400         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
3401         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
3402         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
3403         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
3404         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
3405         * modules/uninorm/composition-tests (Files): Likewise.
3406         * modules/uninorm/decomposing-form-tests (Files): Likewise.
3407         * modules/uninorm/decomposition-tests (Files): Likewise.
3408         * modules/uninorm/filter-tests (Files): Likewise.
3409         * modules/uninorm/nfc-tests (Files): Likewise.
3410         * modules/uninorm/nfd-tests (Files): Likewise.
3411         * modules/uninorm/nfkc-tests (Files): Likewise.
3412         * modules/uninorm/nfkd-tests (Files): Likewise.
3413         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
3414         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
3415         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
3416         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
3417         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
3418         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
3419         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
3420         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
3421         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
3422         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
3423         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
3424         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
3425         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
3426         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
3427         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
3428         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
3429         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
3430         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
3431         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
3432         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
3433         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
3434         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
3435         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
3436         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
3437         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
3438         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
3439         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
3440         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
3441         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
3442         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
3443         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
3444         * modules/uniwidth/u8-width-tests (Files): Likewise.
3445         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
3446         * modules/uniwidth/u16-width-tests (Files): Likewise.
3447         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
3448         * modules/uniwidth/u32-width-tests (Files): Likewise.
3449         * modules/uniwidth/width-tests (Files): Likewise.
3450         * modules/unlink-tests (Files): Likewise.
3451         * modules/unsetenv-tests (Files): Likewise.
3452         * modules/usleep-tests (Files): Likewise.
3453         * modules/utimens-tests (Files): Likewise.
3454         * modules/utimensat-tests (Files): Likewise.
3455         * modules/vasnprintf-posix-tests (Files): Likewise.
3456         * modules/vasnprintf-tests (Files): Likewise.
3457         * modules/vasprintf-posix-tests (Files): Likewise.
3458         * modules/vasprintf-tests (Files): Likewise.
3459         * modules/vdprintf-posix-tests (Files): Likewise.
3460         * modules/vfprintf-posix-tests (Files): Likewise.
3461         * modules/vprintf-posix-tests (Files): Likewise.
3462         * modules/vsnprintf-posix-tests (Files): Likewise.
3463         * modules/vsnprintf-tests (Files): Likewise.
3464         * modules/vsprintf-posix-tests (Files): Likewise.
3465         * modules/wcrtomb-tests (Files): Likewise.
3466         * modules/wcsnrtombs-tests (Files): Likewise.
3467         * modules/wcsrtombs-tests (Files): Likewise.
3468         * modules/wctype-tests (Files): Likewise.
3469         * modules/wcwidth-tests (Files): Likewise.
3470         * modules/xmemdup0-tests (Files): Likewise.
3471         * modules/xprintf-posix-tests (Files): Likewise.
3472         * modules/xvasprintf-tests (Files): Likewise.
3473
3474 2009-12-24  Eric Blake  <ebb9@byu.net>
3475
3476         test-nanosleep: fix typo
3477         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
3478         patch.
3479         Reported by Bruno Haible.
3480
3481 2009-12-24  Bruno Haible  <bruno@clisp.org>
3482
3483         Reduce namespace pollution on glibc systems.
3484         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
3485         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
3486         systems.
3487         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
3488         <getopt.h> on glibc systems.
3489         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
3490         systems.
3491         * lib/fcntl.c: Include <unistd.h> here instead.
3492
3493 2009-12-24  Bruno Haible  <bruno@clisp.org>
3494
3495         * lib/stdlib.in.h (includes): Fix typo in today's commit.
3496
3497 2009-12-24  Eric Blake  <ebb9@byu.net>
3498
3499         tests: add signature checks
3500         * tests/signature.h (SIGNATURE_CHECK): New file.
3501         * modules/atexit-tests (Files): Use it.
3502         * modules/btowc-tests (Files): Likewise.
3503         * modules/canonicalize-lgpl-tests (Files): Likewise.
3504         * modules/ceilf-tests (Files): Likewise.
3505         * modules/ceill-tests (Files): Likewise.
3506         * modules/chown-tests (Files): Likewise.
3507         * modules/dprintf-posix-tests (Files): Likewise.
3508         * modules/dup2-tests (Files): Likewise.
3509         * modules/dup3-tests (Files): Likewise.
3510         * modules/duplocale-tests (Files): Likewise.
3511         * modules/fchdir-tests (Files): Likewise.
3512         * modules/fcntl-tests (Files): Likewise.
3513         * modules/fdopendir-tests (Files): Likewise.
3514         * modules/fflush-tests (Files): Likewise.
3515         * modules/flock-tests (Files): Likewise.
3516         * modules/floorf-tests (Files): Likewise.
3517         * modules/floorl-tests (Files): Likewise.
3518         * modules/fnmatch-tests (Files): Likewise.
3519         * modules/fopen-tests (Files): Likewise.
3520         * modules/fprintf-posix-tests (Files): Likewise.
3521         * modules/freopen-tests (Files): Likewise.
3522         * modules/frexp-nolibm-tests (Files): Likewise.
3523         * modules/frexp-tests (Files): Likewise.
3524         * modules/frexpl-nolibm-tests (Files): Likewise.
3525         * modules/frexpl-tests (Files): Likewise.
3526         * modules/fseek-tests (Files): Likewise.
3527         * modules/fseeko-tests (Files): Likewise.
3528         * modules/fsync-tests (Files): Likewise.
3529         * modules/ftell-tests (Files): Likewise.
3530         * modules/ftello-tests (Files): Likewise.
3531         * modules/futimens-tests (Files): Likewise.
3532         * modules/getaddrinfo-tests (Files): Likewise.
3533         * modules/getcwd-tests (Files): Likewise.
3534         * modules/getdelim-tests (Files): Likewise.
3535         * modules/getdtablesize-tests (Files): Likewise.
3536         * modules/getgroups-tests (Files): Likewise.
3537         * modules/gethostname-tests (Files): Likewise.
3538         * modules/getline-tests (Files): Likewise.
3539         * modules/getopt-posix-tests (Files): Likewise.
3540         * modules/gettimeofday-tests (Files): Likewise.
3541         * modules/glob-tests (Files): Likewise.
3542         * modules/iconv-tests (Files): Likewise.
3543         * modules/inet_ntop-tests (Files): Likewise.
3544         * modules/inet_pton-tests (Files): Likewise.
3545         * modules/isblank-tests (Files): Likewise.
3546         * modules/lchown-tests (Files): Likewise.
3547         * modules/ldexpl-tests (Files): Likewise.
3548         * modules/link-tests (Files): Likewise.
3549         * modules/linkat-tests (Files): Likewise.
3550         * modules/lseek-tests (Files): Likewise.
3551         * modules/lstat-tests (Files): Likewise.
3552         * modules/mbrtowc-tests (Files): Likewise.
3553         * modules/mbsinit-tests (Files): Likewise.
3554         * modules/mbsnrtowcs-tests (Files): Likewise.
3555         * modules/mbsrtowcs-tests (Files): Likewise.
3556         * modules/memchr-tests (Files): Likewise.
3557         * modules/memcmp-tests (Files): Likewise.
3558         * modules/memmem-tests (Files): Likewise.
3559         * modules/memrchr-tests (Files): Likewise.
3560         * modules/mkdir-tests (Files): Likewise.
3561         * modules/mkfifo-tests (Files): Likewise.
3562         * modules/mkfifoat-tests (Files): Likewise.
3563         * modules/mknod-tests (Files): Likewise.
3564         * modules/nanosleep-tests (Files): Likewise.
3565         * modules/nl_langinfo-tests (Files): Likewise.
3566         * modules/obstack-printf-tests (Files): Likewise.
3567         * modules/open-tests (Files): Likewise.
3568         * modules/openat-tests (Files): Likewise.
3569         * modules/perror-tests (Files): Likewise.
3570         * modules/pipe2-tests (Files): Likewise.
3571         * modules/poll-tests (Files): Likewise.
3572         * modules/popen-tests (Files): Likewise.
3573         * modules/posix_spawn-tests (Files): Likewise.
3574         * modules/posix_spawnp-tests (Files): Likewise.
3575         * modules/pread-tests (Files): Likewise.
3576         * modules/printf-posix-tests (Files): Likewise.
3577         * modules/pty-tests (Files): Likewise.
3578         * modules/random_r-tests (Files): Likewise.
3579         * modules/rawmemchr-tests (Files): Likewise.
3580         * modules/readlink-tests (Files): Likewise.
3581         * modules/remove-tests (Files): Likewise.
3582         * modules/rename-tests (Files): Likewise.
3583         * modules/renameat-tests (Files): Likewise.
3584         * modules/rmdir-tests (Files): Likewise.
3585         * modules/round-tests (Files): Likewise.
3586         * modules/roundf-tests (Files): Likewise.
3587         * modules/roundl-tests (Files): Likewise.
3588         * modules/select-tests (Files): Likewise.
3589         * modules/setenv-tests (Files): Likewise.
3590         * modules/sigaction-tests (Files): Likewise.
3591         * modules/sleep-tests (Files): Likewise.
3592         * modules/snprintf-posix-tests (Files): Likewise.
3593         * modules/snprintf-tests (Files): Likewise.
3594         * modules/sprintf-posix-tests (Files): Likewise.
3595         * modules/stat-tests (Files): Likewise.
3596         * modules/strcasestr-tests (Files): Likewise.
3597         * modules/strchrnul-tests (Files): Likewise.
3598         * modules/strerror-tests (Files): Likewise.
3599         * modules/strsignal-tests (Files): Likewise.
3600         * modules/strstr-tests (Files): Likewise.
3601         * modules/strtod-tests (Files): Likewise.
3602         * modules/strverscmp-tests (Files): Likewise.
3603         * modules/symlink-tests (Files): Likewise.
3604         * modules/symlinkat-tests (Files): Likewise.
3605         * modules/times-tests (Files): Likewise.
3606         * modules/trunc-tests (Files): Likewise.
3607         * modules/truncf-tests (Files): Likewise.
3608         * modules/truncl-tests (Files): Likewise.
3609         * modules/tsearch-tests (Files): Likewise.
3610         * modules/uname-tests (Files): Likewise.
3611         * modules/unlink-tests (Files): Likewise.
3612         * modules/unsetenv-tests (Files): Likewise.
3613         * modules/usleep-tests (Files): Likewise.
3614         * modules/utimensat-tests (Files): Likewise.
3615         * modules/vasprintf-tests (Files): Likewise.
3616         * modules/vdprintf-posix-tests (Files): Likewise.
3617         * modules/vfprintf-posix-tests (Files): Likewise.
3618         * modules/vprintf-posix-tests (Files): Likewise.
3619         * modules/vsnprintf-posix-tests (Files): Likewise.
3620         * modules/vsnprintf-tests (Files): Likewise.
3621         * modules/vsprintf-posix-tests (Files): Likewise.
3622         * modules/wcrtomb-tests (Files): Likewise.
3623         * modules/wcsnrtombs-tests (Files): Likewise.
3624         * modules/wcsrtombs-tests (Files): Likewise.
3625         * modules/wcwidth-tests (Files): Likewise.
3626         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
3627         * tests/test-isinf.c (isinf): Likewise.
3628         * tests/test-isnan.c (isnan): Likewise.
3629         * tests/test-signbit.c (signbit): Likewise.
3630         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
3631         declaration, either as macro or with correct signature.
3632         (select): Ensure function under test is declared with correct
3633         signature in correct header.
3634         * tests/test-atexit.c (atexit): Likewise.
3635         * tests/test-btowc.c (btowc): Likewise.
3636         * tests/test-canonicalize-lgpl.c (realpath)
3637         (canonicalize_file_name): Likewise.
3638         * tests/test-ceilf1.c (ceilf): Likewise.
3639         * tests/test-ceill.c (ceill): Likewise.
3640         * tests/test-chown.c (chown): Likewise.
3641         * tests/test-dprintf-posix.c (dprintf): Likewise.
3642         * tests/test-dup2.c (dup2): Likewise.
3643         * tests/test-dup3.c (dup3): Likewise.
3644         * tests/test-duplocale.c (duplocale): Likewise.
3645         * tests/test-fchdir.c (fchdir): Likewise.
3646         * tests/test-fchownat.c (fchownat): Likewise.
3647         * tests/test-fcntl.c (fcntl): Likewise.
3648         * tests/test-fdopendir.c (fdopendir): Likewise.
3649         * tests/test-fflush.c (fflush): Likewise.
3650         * tests/test-flock.c (flock): Likewise.
3651         * tests/test-floorf1.c (floorf): Likewise.
3652         * tests/test-floorl.c (floorl): Likewise.
3653         * tests/test-fnmatch.c (fnmatch): Likewise.
3654         * tests/test-fopen.c (fopen): Likewise.
3655         * tests/test-fprintf-posix.c (fprintf): Likewise.
3656         * tests/test-freopen.c (freopen): Likewise.
3657         * tests/test-frexp.c (frexp): Likewise.
3658         * tests/test-frexpl.c (frexpl): Likewise.
3659         * tests/test-fseek.c (fseek): Likewise.
3660         * tests/test-fseeko.c (fseeko): Likewise.
3661         * tests/test-fstatat.c (fstatat): Likewise.
3662         * tests/test-fsync.c (fsync): Likewise.
3663         * tests/test-ftell.c (ftell): Likewise.
3664         * tests/test-ftello.c (ftello): Likewise.
3665         * tests/test-futimens.c (futimens): Likewise.
3666         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
3667         (gai_strerror): Likewise.
3668         * tests/test-getcwd.c (getcwd): Likewise.
3669         * tests/test-getdelim.c (getdelim): Likewise.
3670         * tests/test-getdtablesize.c (getdtablesize): Likewise.
3671         * tests/test-getgroups.c (getgroups): Likewise.
3672         * tests/test-gethostname.c (gethostname): Likewise.
3673         * tests/test-getline.c (getline): Likewise.
3674         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
3675         Likewise.
3676         * tests/test-gettimeofday.c (gettimeofday): Likewise.
3677         * tests/test-glob.c (glob, globfree): Likewise.
3678         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
3679         * tests/test-inet_ntop.c (inet_ntop): Likewise.
3680         * tests/test-inet_pton.c (inet_pton): Likewise.
3681         * tests/test-isblank.c (isblank): Likewise.
3682         * tests/test-lchown.c (lchown): Likewise.
3683         * tests/test-ldexpl.c (ldexpl): Likewise.
3684         * tests/test-link.c (link): Likewise.
3685         * tests/test-linkat.c (linkat): Likewise.
3686         * tests/test-lseek.c (lseek): Likewise.
3687         * tests/test-lstat.c (lstat): Likewise.
3688         * tests/test-mbrtowc.c (mbrtowc): Likewise.
3689         * tests/test-mbsinit.c (mbsinit): Likewise.
3690         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
3691         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
3692         * tests/test-memchr.c (memchr): Likewise.
3693         * tests/test-memcmp.c (memcmp): Likewise.
3694         * tests/test-memmem.c (memmem): Likewise.
3695         * tests/test-memrchr.c (memrchr): Likewise.
3696         * tests/test-mkdir.c (mkdir): Likewise.
3697         * tests/test-mkdirat.c (mkdirat): Likewise.
3698         * tests/test-mkfifo.c (mkfifo): Likewise.
3699         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
3700         * tests/test-mknod.c (mknod): Likewise.
3701         * tests/test-nanosleep.c (nanosleep): Likewise.
3702         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
3703         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
3704         Likewise.
3705         * tests/test-open.c (open): Likewise.
3706         * tests/test-openat.c (openat): Likewise.
3707         * tests/test-perror.c (perror): Likewise.
3708         * tests/test-pipe2.c (pipe2): Likewise.
3709         * tests/test-poll.c (poll): Likewise.
3710         * tests/test-popen.c (popen, pclose): Likewise.
3711         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
3712         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
3713         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
3714         (posix_spawn_file_actions_destroy)
3715         (posix_spawn_file_actions_addclose)
3716         (posix_spawn_file_actions_addopen)
3717         (posix_spawn_file_actions_adddup2): Likewise.
3718         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
3719         * tests/test-pread.c (pread): Likewise.
3720         * tests/test-printf-posix.c (printf): Likewise.
3721         * tests/test-pty.c (openpty, forkpty): Likewise.
3722         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
3723         (random_r): Likewise.
3724         * tests/test-rawmemchr.c (rawmemchr): Likewise.
3725         * tests/test-readlink.c (readlink): Likewise.
3726         * tests/test-remove.c (remove): Likewise.
3727         * tests/test-rename.c (rename): Likewise.
3728         * tests/test-renameat.c (renameat): Likewise.
3729         * tests/test-rmdir.c (rmdir): Likewise.
3730         * tests/test-round1.c (round): Likewise.
3731         * tests/test-roundf1.c (roundf): Likewise.
3732         * tests/test-roundl.c (roundl): Likewise.
3733         * tests/test-setenv.c (setenv): Likewise.
3734         * tests/test-sigaction.c (sigaction): Likewise.
3735         * tests/test-sleep.c (sleep): Likewise.
3736         * tests/test-snprintf.c (snprintf): Likewise.
3737         * tests/test-sprintf-posix.c (sprintf): Likewise.
3738         * tests/test-stat.c (stat): Likewise.
3739         * tests/test-stpncpy.c (stpncpy): Likewise.
3740         * tests/test-strcasestr.c (strcasestr): Likewise.
3741         * tests/test-strchrnul.c (strchrnul): Likewise.
3742         * tests/test-strerror.c (strerror): Likewise.
3743         * tests/test-strsignal.c (strsignal): Likewise.
3744         * tests/test-strstr.c (strstr): Likewise.
3745         * tests/test-strtod.c (strtod): Likewise.
3746         * tests/test-strverscmp.c (strverscmp): Likewise.
3747         * tests/test-symlink.c (symlink): Likewise.
3748         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
3749         * tests/test-times.c (times): Likewise.
3750         * tests/test-trunc1.c (trunc): Likewise.
3751         * tests/test-truncf1.c (truncf): Likewise.
3752         * tests/test-truncl.c (truncl): Likewise.
3753         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
3754         Likewise.
3755         * tests/test-uname.c (uname): Likewise.
3756         * tests/test-unlink.c (unlink): Likewise.
3757         * tests/test-unlinkat.c (unlinkat): Likewise.
3758         * tests/test-unsetenv.c (unsetenv): Likewise.
3759         * tests/test-usleep.c (usleep): Likewise.
3760         * tests/test-utimensat.c (utimensat): Likewise.
3761         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
3762         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
3763         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
3764         * tests/test-vprintf-posix.c (vprintf): Likewise.
3765         * tests/test-vsnprintf.c (vsnprintf): Likewise.
3766         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
3767         * tests/test-wcrtomb.c (wcrtomb): Likewise.
3768         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
3769         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
3770         * tests/test-wcwidth.c (wcwidth): Likewise.
3771
3772         build: pull in conditional headers during GNULIB_POSIXCHECK
3773         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
3774         definitions from any conditionally-included headers.
3775         * lib/stdlib.in.h (includes): Likewise.
3776         * lib/unistd.in.h (includes): Likewise.
3777
3778 2009-12-24  Bruno Haible  <bruno@clisp.org>
3779
3780         * tests/test-argv-iter.c: Include header file being tested immediately
3781         after config.h.
3782         * tests/test-base64.c: Likewise.
3783         * tests/test-flock.c: Likewise.
3784         * tests/test-fsync.c: Likewise.
3785         * tests/test-getdate.c: Likewise.
3786         * tests/test-getndelim2.c: Likewise.
3787         * tests/test-isfinite.c: Likewise.
3788         * tests/test-isinf.c: Likewise.
3789         * tests/test-strerror.c: Likewise.
3790         * tests/test-strsignal.c: Likewise.
3791
3792 2009-12-23  Eric Blake  <ebb9@byu.net>
3793
3794         unistd: work around cygwin bug
3795         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
3796         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
3797         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
3798
3799 2009-12-23  Bruno Haible  <bruno@clisp.org>
3800
3801         localename: More tests.
3802         * tests/test-localename.c (SIZEOF): New macro.
3803         (categories): New variable.
3804         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
3805         test_locale_name_default): Add test w.r.t. thread locale.
3806         (test_locale_name_thread): New function.
3807         (main): Invoke it.
3808
3809         localename: Make aware of thread locale.
3810         * lib/localename.h (gl_locale_name_thread): New declaration.
3811         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
3812         behaviour with respect to thread locale.
3813         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
3814         <langinfo.h>, glthread/lock.h.
3815         (SIZE_BITS): New macro.
3816         (string_hash): New function.
3817         (struct hash_node): New type.
3818         (HASH_TABLE_SIZE): New macro.
3819         (struniq_hash_table, struniq_lock): New variables.
3820         (struniq): New function.
3821         (gl_locale_name_thread): New function.
3822         (gl_locale_name): Invoke it.
3823         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
3824         * modules/localename (Depends-on): Add lock.
3825         Reported by Mike Gran <spk121@yahoo.com>.
3826
3827 2009-12-23  Eric Blake  <ebb9@byu.net>
3828
3829         va-args: new module
3830         * modules/va-args: New file.
3831         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
3832         * MODULES.html.sh (Core language properties): Mention it.
3833
3834         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
3835         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
3836         named alias for __attribute__((__unused__)).
3837         * lib/chown.c: Update client.
3838         * lib/fchmodat.c: Likewise.
3839         * lib/fts.c: Likewise.
3840         * lib/getdate.y: Likewise.
3841         * lib/getgroups.c: Likewise.
3842         * lib/getopt.c: Likewise.
3843         * lib/getugroups.c: Likewise.
3844         * lib/mkdir.c: Likewise.
3845         * lib/mkfifo.c: Likewise.
3846         * lib/mkfifoat.c: Likewise.
3847         * lib/mknod.c: Likewise.
3848         * lib/mknodat.c: Likewise.
3849         * lib/readlink.c: Likewise.
3850         * lib/se-context.in.h: Likewise.
3851         * lib/se-selinux.in.h: Likewise.
3852         * lib/sockets.c: Likewise.
3853         * lib/symlink.c: Likewise.
3854         * lib/symlinkat.c: Likewise.
3855         * lib/unicodeio.c: Likewise.
3856         * lib/unistr.h: Likewise.
3857         * tests/test-areadlink.c: Likewise.
3858         * tests/test-areadlinkat.c: Likewise.
3859         * tests/test-filenamecat.c: Likewise.
3860         * tests/test-fseeko.c: Likewise.
3861         * tests/test-ftello.c: Likewise.
3862         * tests/test-getdate.c: Likewise.
3863         * tests/test-getgroups.c: Likewise.
3864         * tests/test-gethostname.c: Likewise.
3865         * tests/test-quotearg.c: Likewise.
3866         * tests/test-version-etc.c: Likewise.
3867         * tests/test-xalloc-die.c: Likewise.
3868         * tests/test-xfprintf-posix.c: Likewise.
3869         * tests/test-xprintf-posix.c: Likewise.
3870         * tests/test-xvasprintf.c: Likewise.
3871
3872         tests: avoid compiler warnings
3873         * tests/test-fcntl.c (main): Delete unused parameters.
3874         * tests/test-freopen-safer.c (main): Likewise.
3875         * tests/test-xalloc-die.c (main): Mark unused parameters.
3876         * tests/test-fseeko.c (main): Likewise.
3877         * tests/test-ftello.c (main): Likewise.
3878         * tests/test-nanosleep.c (main): Avoid declaration warning.
3879         * tests/test-sleep.c (main): Likewise.
3880         * tests/test-unsetenv.c (main): Silence warning about string
3881         literal.
3882         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3883
3884 2009-12-23  Bruno Haible  <bruno@clisp.org>
3885
3886         * tests/test-localename.c (test_locale_name): New function, extracted
3887         from main. Also test mixed situations.
3888         (test_locale_name_posix, test_locale_name_environ,
3889         test_locale_name_default): New functions.
3890         (main): Invoke them all.
3891         * modules/localename-tests (configure.ac): Test for newlocale.
3892
3893 2009-12-23  Bruno Haible  <bruno@clisp.org>
3894
3895         unistd: Ensure getcwd gets declared before being overridden.
3896         * lib/unistd.in.h: Conditionally include <io.h>.
3897
3898 2009-12-22  Bruno Haible  <bruno@clisp.org>
3899
3900         wchar: Diagnose broken combination of glibc and gcc versions and flags.
3901         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
3902         (gl_WCHAR_H): Invoke it.
3903         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
3904         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
3905         Reported by Karl Berry <karl@freefriends.org>.
3906
3907 2009-12-22  Eric Blake  <ebb9@byu.net>
3908
3909         math, unistd: avoid redundant includes
3910         * lib/math.in.h (isnan): No need to re-include <math.h>.
3911         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
3912
3913         getsubopt: work around cygwin bug
3914         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
3915         avoid conflicting with system getsubopt.
3916         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
3917         bug.
3918
3919         getopt: synchronize from glibc
3920         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
3921         parameter order.  Adjust all callers.
3922         (_getopt_internal_r, main): Adjust quoting in error messages.
3923         Drop considerations for outdated POSIX 1003.2 error message.
3924         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
3925         callers.
3926         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
3927
3928         test-getopt: test stderr behavior
3929         * modules/getopt-posix-tests (Depends-on): Add dup2.
3930         * tests/test-getopt.c (ASSERT): Avoid stderr.
3931         (main): Move stderr to a temporary file.
3932         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
3933         Instead, add parameter to inform caller if output occurred.
3934         (test_getopt): Adjust all existing tests to expect silence, and
3935         add new tests of leading ":".
3936         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
3937         glibc shortcomings with leading "-:" or "+:" in optstring.
3938         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3939         Likewise.
3940         * doc/posix-functions/getopt.texi (getopt): Likewise.
3941
3942         test-getopt: enhance test
3943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
3944         supports optind=0.
3945         * tests/test-getopt.c (OPTIND_MIN): Move...
3946         * tests/test-getopt.h (OPTIND_MIN): ...here.
3947         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
3948         Require that optind=0 works, since modern BSD supports it in
3949         addition to optreset, and since coreutils expects it.
3950         (test_getopt_long_only): New test.
3951         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
3952         glibc shortcomings with 'W;', and enforcement of optind=0.
3953         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3954         Likewise.
3955
3956 2009-12-21  Bruno Haible  <bruno@clisp.org>
3957
3958         localename: Improvements for MacOS X and Cygwin.
3959         * lib/localename.h (gl_locale_name_environ): New declaration.
3960         * lib/localename.c (gl_locale_name_environ): New function, extracted from
3961         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
3962         (gl_locale_name_posix): Invoke it.
3963         (gl_locale_name_default): Add comments. Use Windows native API also on
3964         Cygwin.
3965
3966 2009-12-21  Bruno Haible  <bruno@clisp.org>
3967
3968         Update list of Win32 locale ids.
3969         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
3970         (LANG_SAMI): Renamed from LANG_SAAMI.
3971         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
3972         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
3973         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
3974         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
3975         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
3976         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
3977         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
3978         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
3979         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
3980         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
3981         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
3982         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
3983         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
3984         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
3985         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
3986         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
3987         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
3988         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
3989         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
3990         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
3991         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
3992         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
3993         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
3994         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
3995         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
3996         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
3997         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
3998         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
3999         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
4000         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
4001         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
4002         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
4003         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
4004         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
4005         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
4006         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
4007         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
4008         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
4009         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
4010         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
4011         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
4012         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
4013         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
4014         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
4015         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
4016         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
4017         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
4018         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
4019         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
4020         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
4021         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
4022         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
4023         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
4024         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
4025         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
4026         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
4027         Add more languages and countries for Sami, Sorbian. Add more countries
4028         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
4029         for Pashto. Change country for Syriac, Tswana.
4030
4031 2009-12-21  Eric Blake  <ebb9@byu.net>
4032
4033         test-utimens: avoid spurious failure
4034         * tests/test-chown.h (nap): Factor...
4035         * tests/nap.h: ...into new file.
4036         * tests/test-lchown.h (nap): Avoid duplication.
4037         * tests/test-utimens-common.h (nap): Use shared implementation,
4038         necessary on file systems with 1-second resolution.
4039         * modules/chown-tests (Files): Include new file.
4040         * modules/fdutimensat-tests (Files): Likewise.
4041         * modules/futimens-tests (Files): Likewise.
4042         * modules/lchown-tests (Files): Likewise.
4043         * modules/openat-tests (Files): Likewise.
4044         * modules/utimens-tests (Files): Likewise.
4045         * modules/utimensat-tests (Files): Likewise.
4046
4047 2009-12-19  Eric Blake  <ebb9@byu.net>
4048
4049         futimens, utimensat: work around Linux bug
4050         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
4051         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4052         * lib/utimensat.c (rpl_utimensat): Work around it.
4053         * lib/futimens.c (rpl_futimens): Adjust comment.
4054
4055         utimens: work around Linux ctime bug
4056         * lib/utimens.c (detect_ctime_bug): New helper function.
4057         (update_timespec): Differentiate between workaround needed for
4058         this bug vs. what is needed for systems that lack utimensat.
4059         (fdutimens, lutimens): Work around bug.
4060
4061         utimens: check for ctime update
4062         * tests/test-utimens-common.h (check_ctime): Define.
4063         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
4064         * tests/test-futimens.h (test_futimens): Likewise.
4065         * tests/test-lutimens.h (test_lutimens): Likewise.
4066         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4067         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4068
4069 2009-12-19  Bruno Haible  <bruno@clisp.org>
4070
4071         dprintf-posix: Check against memory leak fixed on 2009-12-15.
4072         * tests/test-dprintf-posix2.sh: New file.
4073         * tests/test-dprintf-posix2.c: New file.
4074         * modules/dprintf-posix-tests (Files): Add them.
4075         (configure.ac): Check for getrlimit and setrlimit.
4076         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4077
4078 2009-12-19  Bruno Haible  <bruno@clisp.org>
4079
4080         fprintf-posix: Check against memory leak fixed on 2009-12-15.
4081         * tests/test-fprintf-posix3.sh: New file.
4082         * tests/test-fprintf-posix3.c: New file.
4083         * modules/fprintf-posix-tests (Files): Add them.
4084         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4085
4086 2009-12-19  Eric Blake  <ebb9@byu.net>
4087
4088         dirfd: fix prototype
4089         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
4090         * lib/dirfd.c (dirfd): Likewise.
4091
4092         canonicalize: reduce memory usage
4093         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
4094         allocation to size.
4095         Reported by Solar Designer <solar@openwall.com>.
4096
4097 2009-12-19  Bruno Haible  <bruno@clisp.org>
4098
4099         New module attribute 'Applicability'.
4100         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
4101         * gnulib-tool: New option --extract-applicability.
4102         (func_usage): Document it.
4103         (sed_extract_prog): Recognize it.
4104         (func_get_applicability): New function.
4105         (func_import): Generalize handling of 'link-warning' module.
4106         * modules/link-warning (Applicability): New section.
4107         * modules/arg-nonnull (Applicability): New section.
4108         Repoted by Simon Josefsson <simon@josefsson.org>.
4109
4110 2009-12-19  Bruno Haible  <bruno@clisp.org>
4111
4112         fflush: tweak
4113         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
4114         * lib/fseeko.c (rpl_fseeko): Likewise.
4115
4116 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
4117
4118         * lib/gl_list.h: Fix typo in comment.
4119
4120 2009-12-16  Eric Blake  <ebb9@byu.net>
4121
4122         fcntl: use to simplify other modules
4123         * modules/cloexec (Depends-on): Add fcntl.
4124         * modules/fchdir (Depends-on): Likewise.
4125         * modules/fd-safer-flag (Depends-on): Likewise.
4126         * modules/unistd-safer (Depends-on): Likewise.
4127         * modules/dup3 (configure.ac): Set module indicator.
4128         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
4129         missing.
4130         * lib/fchdir.c (_gl_register_dup): Fix comment.
4131         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
4132         * lib/dup-safer.c (dup_safer): Likewise.
4133         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
4134         * lib/dup3.c (dup3): Likewise.
4135         * tests/test-fchdir.c (main): Enhance test.
4136         Fixes a dup_cloexec bug reported by Ondřej Vašík.
4137
4138         fcntl: port portions of fcntl to mingw
4139         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
4140         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
4141         replacement for mingw.
4142         * modules/fcntl (Description): Update.
4143         (Depends-on): Add dup2.
4144         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
4145         * modules/fcntl-h (Makefile.am): Substitute it.
4146         * lib/fcntl.in.h (fcntl): Update declaration.
4147         (F_DUPFD, F_GETFD): New macros, when needed.
4148         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4149         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
4150         * tests/test-fcntl.c (check_flags, main): Enhance test for items
4151         we now guarantee.
4152
4153         fcntl: work around cygwin bug in F_DUPFD
4154         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
4155         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
4156         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
4157         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
4158         * doc/posix-functions/fcntl.texi (fcntl): Document it.
4159
4160         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
4161         * modules/fcntl (Files): List new files.
4162         (configure.ac): Run a test.
4163         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
4164         * lib/fcntl.c (rpl_fcntl): Likewise.
4165         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
4166         (gl_FCNTL_H): Always replace fcntl.h.
4167         * modules/fcntl-h (Makefile.am): Substitute witnesses.
4168         * lib/fcntl.in.h (fcntl): Declare replacement.
4169         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
4170         needed, plus a witness.
4171         * doc/posix-functions/fcntl.texi (fcntl): Document this.
4172         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
4173         * tests/test-fcntl.c: New file.
4174         * modules/fcntl-tests: Likewise.
4175
4176         binary-io: avoid potential compilation warning
4177         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
4178         directives.
4179
4180         fflush: avoid compilation error on NetBSD
4181         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
4182         between off_t and fpos_t, since the latter is sometimes a struct.
4183         * lib/fseeko.c (rpl_fseeko): Likewise.
4184         Reported by Alexander Nasonov <alnsn@yandex.ru>.
4185
4186 2009-12-15  Eric Blake  <ebb9@byu.net>
4187
4188         fcntl-h, stdio, sys_ioctl: fix declarations
4189         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
4190         function must not take arguments.
4191         * lib/sys_ioctl.in.h (ioctl): Likewise.
4192         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
4193         (open): Add a link warning.
4194
4195 2009-12-15  Jim Meyering  <meyering@redhat.com>
4196
4197         areadlink, areadlink-with-size: relax license to LGPLv2+
4198         * modules/areadlink (License): Relax to LGPLv2+.
4199         * modules/areadlink-with-size (License): Likewise.
4200
4201 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
4202             Bruno Haible  <bruno@clisp.org>
4203
4204         *printf: Fix memory leak.
4205         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
4206         * lib/vfprintf.c (vfprintf): Likewise.
4207         * lib/dprintf.c (dprintf): Likewise.
4208         * lib/vdprintf.c (vdprintf): Likewise.
4209
4210 2009-12-14  Eric Blake  <ebb9@byu.net>
4211
4212         accept4: adjust module dependencies
4213         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
4214
4215         utimens: one more try at avoiding compiler warning
4216         * lib/utimens.c (lutimens): Lower scope of result.
4217
4218 2009-12-13  Bruno Haible  <bruno@clisp.org>
4219
4220         Move the malloc checking from module 'list' to new module 'xlist'.
4221         * modules/xlist: New file.
4222         * lib/gl_xlist.h: New file.
4223         * lib/gl_xlist.c: New file.
4224         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
4225         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
4226         gl_list_add_last, gl_list_add_before, gl_list_add_after,
4227         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
4228         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
4229         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
4230         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
4231         gl_sortedlist_nx_add): New declarations.
4232         (struct gl_list_implementation): Rename and change methods accordingly.
4233         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
4234         (gl_list_nx_create): Renamed from gl_list_create.
4235         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4236         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4237         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4238         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4239         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4240         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4241         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4242         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4243         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
4244         gl_list_create_empty.
4245         (gl_list_nx_create): Renamed from gl_list_create.
4246         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4247         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4248         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4249         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4250         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4251         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4252         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4253         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4254         * lib/gl_array_list.c: Don't include xalloc.h.
4255         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
4256         NULL upon out-of-memory.
4257         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
4258         out-of-memory.
4259         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
4260         Change return type to 'int'.
4261         (gl_array_nx_set_at): Renamed from gl_array_set_at.
4262         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4263         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
4264         upon out-of-memory.
4265         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
4266         upon out-of-memory.
4267         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
4268         upon out-of-memory.
4269         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
4270         upon out-of-memory.
4271         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
4272         out-of-memory.
4273         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
4274         Update.
4275         (gl_array_list_implementation): Update.
4276         * lib/gl_carray_list.c: Don't include xalloc.h.
4277         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
4278         Return NULL upon out-of-memory.
4279         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
4280         out-of-memory.
4281         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
4282         Change return type to 'int'.
4283         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
4284         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4285         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
4286         upon out-of-memory.
4287         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
4288         upon out-of-memory.
4289         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
4290         out-of-memory.
4291         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
4292         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
4293         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
4294         Update.
4295         (gl_carray_list_implementation): Update.
4296         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
4297         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
4298         gl_linked_create_empty. Return NULL upon out-of-memory.
4299         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
4300         out-of-memory.
4301         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
4302         Change return type to 'int'. Return -1 upon out-of-memory.
4303         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
4304         out-of-memory.
4305         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
4306         upon out-of-memory.
4307         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
4308         upon out-of-memory.
4309         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
4310         NULL upon out-of-memory.
4311         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
4312         upon out-of-memory.
4313         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
4314         out-of-memory.
4315         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
4316         Update.
4317         * lib/gl_linked_list.c: Don't include xalloc.h.
4318         (gl_linked_list_implementation): Update.
4319         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
4320         (add_to_bucket): Change return type to 'int'.
4321         (gl_linkedhash_list_implementation): Update.
4322         * lib/gl_anytree_list1.h (free_subtree): New function.
4323         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
4324         gl_tree_create_empty. Return NULL upon out-of-memory.
4325         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
4326         Change return type to 'int'. Return -1 upon out-of-memory.
4327         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
4328         out-of-memory.
4329         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
4330         (gl_tree_remove_node): New function, moved here from
4331         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
4332         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
4333         Update.
4334         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
4335         malloc, not xmalloc. Return NULL upon out-of-memory.
4336         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4337         out-of-memory.
4338         (gl_tree_remove_node_from_tree): New function, extracted from
4339         gl_tree_remove_node.
4340         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4341         upon out-of-memory.
4342         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4343         out-of-memory.
4344         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4345         upon out-of-memory.
4346         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4347         upon out-of-memory.
4348         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4349         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
4350         not xmalloc. Return NULL upon out-of-memory.
4351         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4352         out-of-memory.
4353         (gl_tree_remove_node_from_tree): New function, extracted from
4354         gl_tree_remove_node.
4355         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4356         upon out-of-memory.
4357         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4358         out-of-memory.
4359         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4360         upon out-of-memory.
4361         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4362         upon out-of-memory.
4363         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4364         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
4365         gl_anytree_list1.h before gl_anyavltree_list2.h.
4366         (gl_avltree_list_implementation): Update.
4367         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
4368         gl_anytree_list1.h before gl_anyavltree_list2.h.
4369         (gl_rbtree_list_implementation): Update.
4370         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
4371         Change return type to 'int'. Return -1 upon out-of-memory. Use
4372         __builtin_expect.
4373         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
4374         (gl_avltreehash_list_implementation): Update.
4375         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
4376         (gl_rbtreehash_list_implementation): Update.
4377         * modules/array-list (Depends-on): Remove xalloc.
4378         * modules/carray-list (Depends-on): Likewise.
4379         * modules/linked-list (Depends-on): Likewise.
4380         * modules/linkedhash-list (Depends-on): Likewise.
4381         * modules/avltree-list (Depends-on): Likewise.
4382         * modules/rbtree-list (Depends-on): Likewise.
4383         * modules/avltreehash-list (Depends-on): Likewise.
4384         * modules/rbtreehash-list (Depends-on): Likewise.
4385
4386         * modules/xsublist: New file.
4387         * lib/gl_xsublist.h: New file.
4388         * lib/gl_xsublist.c: New file.
4389         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
4390         (gl_sublist_nx_create): New declaration.
4391         * lib/gl_sublist.c: Don't include xalloc.h.
4392         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
4393         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
4394         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
4395         Change return type to 'int'. Return -1 upon out-of-memory.
4396         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
4397         upon out-of-memory.
4398         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
4399         NULL upon out-of-memory.
4400         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
4401         upon out-of-memory.
4402         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
4403         NULL upon out-of-memory.
4404         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
4405         NULL upon out-of-memory.
4406         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
4407         upon out-of-memory.
4408         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
4409         (gl_sublist_list_implementation): Update.
4410         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
4411         upon out-of-memory.
4412         * modules/sublist (Depends-on): Remove xalloc.
4413
4414         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
4415         * tests/test-carray_list.c: Likewise.
4416         * tests/test-linked_list.c: Likewise.
4417         * tests/test-linkedhash_list.c: Likewise.
4418         * tests/test-avltree_list.c: Likewise.
4419         * tests/test-rbtree_list.c: Likewise.
4420         * tests/test-avltreehash_list.c: Likewise.
4421         * tests/test-rbtreehash_list.c: Likewise.
4422         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
4423         * modules/carray-list-tests (Makefile.am): Likewise.
4424         * modules/linked-list-tests (Makefile.am): Likewise.
4425         * modules/linkedhash-list-tests (Makefile.am): Likewise.
4426         * modules/avltree-list-tests (Makefile.am): Likewise.
4427         * modules/rbtree-list-tests (Makefile.am): Likewise.
4428         * modules/avltreehash-list-tests (Makefile.am): Likewise.
4429         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
4430
4431         * NEWS: Mention the changes.
4432
4433         * lib/clean-temp.c: Include gl_xlist.h.
4434         * modules/clean-temp (Depends-on): Add xlist.
4435
4436         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
4437         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
4438
4439         * tests/test-array_oset.c: Include gl_xlist.h.
4440         * modules/array-oset-tests (Depends-on): Add xlist.
4441
4442         Reported by José E. Marchesi <jemarch@gnu.org>.
4443
4444 2009-12-13  Bruno Haible  <bruno@clisp.org>
4445
4446         Move the malloc checking from module 'oset' to new module 'xoset'.
4447         * modules/xoset: New file.
4448         * lib/gl_xoset.h: New file.
4449         * lib/gl_xoset.c: New file.
4450         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
4451         declarations.
4452         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
4453         (struct gl_oset_implementation): Rename and change methods accordingly.
4454         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
4455         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4456         'int'. Mark as __warn_unused_result__.
4457         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
4458         gl_oset_create_empty.
4459         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4460         'int'.
4461         * lib/gl_array_oset.c: Don't include xalloc.h.
4462         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
4463         malloc, not xmalloc.
4464         (grow): Change return type to 'int'. Don't call xalloc_die.
4465         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
4466         to 'int'.
4467         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
4468         'int'.
4469         (gl_array_oset_implementation): Update.
4470         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
4471         gl_tree_create_empty.
4472         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
4473         'int'.
4474         * lib/gl_avltree_oset.c: Don't include xalloc.h.
4475         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4476         xmalloc.
4477         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4478         not xmalloc.
4479         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4480         xmalloc.
4481         (gl_avltree_oset_implementation): Update.
4482         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
4483         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4484         xmalloc.
4485         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4486         not xmalloc.
4487         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4488         xmalloc.
4489         (gl_rbtree_oset_implementation): Update.
4490         * modules/array-oset (Depends-on): Remove xalloc.
4491         * modules/avltree-oset (Depends-on): Likewise.
4492         * modules/rbtree-oset (Depends-on): Likewise.
4493         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
4494         * tests/test-avltree_oset.c: Likewise.
4495         * tests/test-rbtree_oset.c: Likewise.
4496         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
4497         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
4498         * modules/rbtree-oset-tests (Makefile.am): Likewise.
4499         * NEWS: Mention the change.
4500
4501 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
4502
4503         maint.mk: allow a project to override release-prep commands
4504         * top/maint.mk (alpha, beta, stable): Move release-preparatory
4505         commands into a new rule.
4506         (release-prep): New rule.
4507         (release-prep-hook): New overridable variable.
4508
4509 2009-12-13  Bruno Haible  <bruno@clisp.org>
4510
4511         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
4512
4513 2009-12-13  Jim Meyering  <meyering@redhat.com>
4514
4515         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
4516         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
4517
4518 2009-12-12  Bruno Haible  <bruno@clisp.org>
4519
4520         duplocale: Tweak.
4521         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
4522
4523 2009-12-12  Karl Berry  <karl@gnu.org>
4524
4525         * config/srclist.txt (strtoll.c): tab changes, no more sync.
4526
4527 2009-12-12  Bruno Haible  <bruno@clisp.org>
4528
4529         * m4/po.m4: Undo incorrect untabification.
4530
4531 2009-12-12  Bruno Haible  <bruno@clisp.org>
4532
4533         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
4534         * modules/c-strtod (Depends-on): Add locale.
4535         * modules/c-strtold (Depends-on): Likewise.
4536
4537 2009-12-12  Bruno Haible  <bruno@clisp.org>
4538
4539         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
4540
4541 2009-12-11  Eric Blake  <ebb9@byu.net>
4542
4543         setenv: relax requirement in light of POSIX ruling
4544         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
4545         not NULL.
4546         * tests/test-setenv.c (main): Relax test.
4547         * tests/test-unsetenv.c (main): Likewise.
4548         * doc/posix-functions/setenv.texi (setenv): Document this.
4549         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
4550
4551 2009-12-11  Bruno Haible  <bruno@clisp.org>
4552
4553         New module 'fd-safer-flag'.
4554         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
4555         * lib/dup-safer.c (dup_safer_flag): Remove function.
4556         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
4557         * lib/fd-safer.c (fd_safer_flag): Remove function.
4558         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
4559         * modules/cloexec (configure.ac): Drop indicator macro.
4560         * modules/fd-safer-flag: New file.
4561         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
4562         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
4563         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
4564
4565 2009-12-11  Bruno Haible  <bruno@clisp.org>
4566
4567         Tests for module 'nl_langinfo'.
4568         * modules/nl_langinfo-tests: New file.
4569         * tests/test-nl_langinfo.sh: New file.
4570         * tests/test-nl_langinfo.c: New file.
4571
4572         New module 'nl_langinfo'.
4573         * lib/nl_langinfo.c: New file.
4574         * m4/nl_langinfo.m4: New file.
4575         * modules/nl_langinfo: New file.
4576         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
4577
4578 2009-12-11  Bruno Haible  <bruno@clisp.org>
4579
4580         Tests for module 'langinfo'.
4581         * modules/langinfo-tests: New file.
4582         * tests/test-langinfo.c: New file.
4583
4584         New module 'langinfo'.
4585         * lib/langinfo.in.h: New file.
4586         * m4/langinfo_h.m4: New file.
4587         * modules/langinfo: New file.
4588         * doc/posix-headers/langinfo.texi: Mention the new module.
4589
4590 2009-12-11  Bruno Haible  <bruno@clisp.org>
4591
4592         * lib/config.charset: Untabify.
4593
4594 2009-12-11  Bruno Haible  <bruno@clisp.org>
4595
4596         * modules/unistd-safer (configure.ac): Drop indicator macro.
4597
4598 2009-12-11  Bruno Haible  <bruno@clisp.org>
4599
4600         Move pipe2-safer code to its own file.
4601         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
4602         * lib/pipe-safer.c (pipe2_safer): Remove function.
4603         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
4604         (Makefile.am): Add it to lib_SOURCES.
4605
4606 2009-12-10  Bruno Haible  <bruno@clisp.org>
4607
4608         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
4609
4610 2009-12-10  Bruno Haible  <bruno@clisp.org>
4611
4612         Declare which arguments expect non-NULL values, for GCC and clang.
4613         * build-aux/arg-nonnull.h: New file.
4614         * modules/arg-nonnull: New file.
4615         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
4616         (inet_ntop, inet_pton): Use it.
4617         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
4618         (closedir, dirfd, opendir, scandir, alphasort): Use it.
4619         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
4620         (open, openat): Use it.
4621         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
4622         (fnmatch): Use it.
4623         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
4624         (getopt, getopt_long, getopt_long_only): Use it.
4625         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
4626         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
4627         Use it.
4628         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
4629         (iconv_open): Use it.
4630         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
4631         (strtoimax, strtoumax): Use it.
4632         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
4633         (duplocale): Use it.
4634         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
4635         (frexp, frexpl): Use it.
4636         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
4637         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
4638         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
4639         (tsearch, tfind, tdelete, twalk): Use it.
4640         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
4641         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
4642         sigpending): Use it.
4643         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
4644         (posix_spawn, posix_spawnp, posix_spawnattr_init,
4645         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
4646         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
4647         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
4648         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
4649         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
4650         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
4651         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
4652         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
4653         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
4654         Use it.
4655         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
4656         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
4657         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
4658         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
4659         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
4660         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
4661         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
4662         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
4663         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
4664         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
4665         strtoull, unsetenv): Use it.
4666         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
4667         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
4668         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
4669         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4670         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4671         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
4672         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
4673         (strcasecmp, strncasecmp): Use it.
4674         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
4675         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
4676         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
4677         rpl_setsockopt): Use it.
4678         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
4679         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
4680         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
4681         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
4682         (gettimeofday): Use it.
4683         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
4684         (times): Use it.
4685         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
4686         (uname): Use it.
4687         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
4688         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
4689         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
4690         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
4691         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
4692         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
4693         unlinkat, write): Use it.
4694         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
4695         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
4696         * lib/argv-iter.h: Include arg-nonnull.h.
4697         (_ATTRIBUTE_NONNULL_): Remove macro.
4698         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
4699         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
4700         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
4701         optimization.
4702         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
4703         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
4704         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
4705         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
4706         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
4707         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
4708         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
4709         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
4710         * modules/arpa_inet (Depends-on): Add arg-nonnull.
4711         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
4712         * modules/dirent (Depends-on): Add arg-nonnull.
4713         (Makefile.am): Insert arg-nonnull.h into dirent.h.
4714         * modules/fcntl-h (Depends-on): Add arg-nonnull.
4715         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
4716         * modules/fnmatch (Depends-on): Add arg-nonnull.
4717         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
4718         * modules/getopt-posix (Depends-on): Add arg-nonnull.
4719         (Makefile.am): Insert arg-nonnull.h into getopt.h.
4720         * modules/glob (Depends-on): Add arg-nonnull.
4721         (Makefile.am): Insert arg-nonnull.h into glob.h.
4722         * modules/iconv_open (Depends-on): Add arg-nonnull.
4723         (Makefile.am): Insert arg-nonnull.h into iconv.h.
4724         * modules/inttypes (Depends-on): Add arg-nonnull.
4725         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
4726         * modules/locale (Depends-on): Add arg-nonnull.
4727         (Makefile.am): Insert arg-nonnull.h into locale.h.
4728         * modules/math (Depends-on): Add arg-nonnull.
4729         (Makefile.am): Insert arg-nonnull.h into math.h.
4730         * modules/netdb (Depends-on): Add arg-nonnull.
4731         (Makefile.am): Insert arg-nonnull.h into netdb.h.
4732         * modules/search (Depends-on): Add arg-nonnull.
4733         (Makefile.am): Insert arg-nonnull.h into search.h.
4734         * modules/signal (Depends-on): Add arg-nonnull.
4735         (Makefile.am): Insert arg-nonnull.h into signal.h.
4736         * modules/spawn (Depends-on): Add arg-nonnull.
4737         (Makefile.am): Insert arg-nonnull.h into spawn.h.
4738         * modules/stdio (Depends-on): Add arg-nonnull.
4739         (Makefile.am): Insert arg-nonnull.h into stdio.h.
4740         * modules/stdlib (Depends-on): Add arg-nonnull.
4741         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
4742         * modules/string (Depends-on): Add arg-nonnull.
4743         (Makefile.am): Insert arg-nonnull.h into string.h.
4744         * modules/strings (Depends-on): Add arg-nonnull.
4745         (Makefile.am): Insert arg-nonnull.h into strings.h.
4746         * modules/sys_socket (Depends-on): Add arg-nonnull.
4747         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
4748         * modules/sys_stat (Depends-on): Add arg-nonnull.
4749         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
4750         * modules/sys_time (Depends-on): Add arg-nonnull.
4751         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
4752         * modules/sys_times (Depends-on): Add arg-nonnull.
4753         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
4754         * modules/sys_utsname (Depends-on): Add arg-nonnull.
4755         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
4756         * modules/time (Depends-on): Add arg-nonnull.
4757         (Makefile.am): Insert arg-nonnull.h into time.h.
4758         * modules/unistd (Depends-on): Add arg-nonnull.
4759         (Makefile.am): Insert arg-nonnull.h into unistd.h.
4760         * modules/wchar (Depends-on): Add arg-nonnull.
4761         (Makefile.am): Insert arg-nonnull.h into wchar.h.
4762         * modules/argv-iter (Depends-on): Add arg-nonnull.
4763         * tests/test-canonicalize.c (null_ptr): New function.
4764         (main): Use it.
4765         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
4766         (main): Use it.
4767         * tests/test-memmem.c (null_ptr): New function.
4768         (main): Use it.
4769         Reported by Jim Meyering.
4770
4771 2009-12-10  Bruno Haible  <bruno@clisp.org>
4772
4773         Use spaces for indentation, not tabs.
4774         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
4775         * m4/*.m4: Untabify.
4776         * build-aux/*.h: Untabify.
4777         * tests/**/*.[hc]: Untabify.
4778         * README: New section "Indent with spaces, not TABs", based on
4779         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
4780         * NEWS: Mention the change.
4781
4782 2009-12-10  Bruno Haible  <bruno@clisp.org>
4783
4784         pty test: Fix link error.
4785         * modules/pty-tests (Makefile.am): Add the default LDADD value to
4786         test_pty_LDADD.
4787
4788 2009-12-07  Simon Josefsson  <simon@josefsson.org>
4789
4790         * modules/pty: New file.
4791         * modules/pty-tests: New file.
4792         * m4/pty.m4: New file.
4793         * tests/test-pty.c: New file.
4794         * doc/glibc-headers/pty.texi: Modified.
4795         * doc/glibc-functions/forkpty.texi: Modified.
4796         * doc/glibc-functions/openpty.texi: Modified.
4797
4798 2009-12-10  Bruno Haible  <bruno@clisp.org>
4799
4800         Avoid syntax error in C++ mode.
4801         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
4802
4803 2009-12-10  Bruno Haible  <bruno@clisp.org>
4804
4805         Use sed with option -e.
4806         * gnulib-tool (func_version, func_emit_copyright_notice,
4807         func_emit_initmacro_end, func_import, func_create_testdir): Pass
4808         option -e to sed.
4809         * modules/link-warning (Makefile.am): Likewise.
4810
4811 2009-12-10  Jim Meyering  <meyering@redhat.com>
4812
4813         mgetgroups: do not write bytes beyond end of malloc'd buffer
4814         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
4815         username, we call getgroups with a one-element-shorter buffer,
4816         but still told it the length was original, max_n_groups.
4817
4818 2009-12-09  Eric Blake  <ebb9@byu.net>
4819
4820         cloexec: relax license
4821         * modules/cloexec (Maintainer): Add myself.
4822         (License): Use LGPL, not GPL.
4823
4824         link-warning: optimize generation
4825         * modules/link-warning (Makefile.am): Reduce process usage.
4826
4827 2009-12-09  Bruno Haible  <bruno@clisp.org>
4828
4829         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
4830         workaround was added on 2009-11-17.
4831
4832 2009-12-09  Jim Meyering  <meyering@redhat.com>
4833             Bruno Haible  <bruno@clisp.org>
4834
4835         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
4836         * modules/link-warning (Makefile.am): Make the comment-removing sed
4837         command more robust in the face of bootstrap-prepended comment lines.
4838
4839 2009-12-09  Bruno Haible  <bruno@clisp.org>
4840
4841         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
4842         most one group.
4843
4844 2009-12-09  Simon Josefsson <simon@josefsson.org>
4845             Bruno Haible  <bruno@clisp.org>
4846
4847         * build-aux/link-warning.h: Add copyright notice.
4848         * modules/link-warning (Makefile.am): Generate link-warning.h from
4849         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
4850         * NEWS: Mention change in link-warning module.
4851         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
4852         * modules/dirent (Makefile.am): Add dependency to dirent.h.
4853         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
4854         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
4855         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
4856         * modules/math (Makefile.am): Add dependency to math.h.
4857         * modules/search (Makefile.am): Add dependency to search.h.
4858         * modules/signal (Makefile.am): Add dependency to signal.h.
4859         * modules/spawn (Makefile.am): Add dependency to spawn.h.
4860         * modules/stdio (Makefile.am): Add dependency to stdio.h.
4861         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
4862         * modules/string (Makefile.am): Add dependency to string.h.
4863         * modules/strings (Makefile.am): Add dependency to strings.h.
4864         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
4865         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
4866         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
4867         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
4868         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
4869         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
4870         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
4871         * modules/unistd (Makefile.am): Add dependency to unistd.h.
4872         * modules/wchar (Makefile.am): Add dependency to wchar.h.
4873
4874 2009-12-09  Bruno Haible  <bruno@clisp.org>
4875
4876         fchdir: Optimize away rpl_fstat when possible.
4877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
4878         REPLACE_OPEN_DIRECTORY.
4879         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
4880
4881 2009-12-09  Bruno Haible  <bruno@clisp.org>
4882
4883         * lib/fchdir.c: Update comment.
4884
4885 2009-12-09  Bruno Haible  <bruno@clisp.org>
4886
4887         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
4888
4889 2009-12-08  Eric Blake  <ebb9@byu.net>
4890
4891         fchdir: avoid memory leak on re-registration.
4892         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
4893
4894 2009-12-08  Jim Meyering  <meyering@redhat.com>
4895
4896         init.sh: avoid Solaris 10 /bin/sh portability problem
4897         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
4898         sourced script:
4899           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
4900           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
4901           bar
4902         tests/init.sh relied on that, accepting a --set-path=DIR argument,
4903         and two tests used that idiom.
4904         * tests/init.sh: Update suggested usage comments.
4905         (path_prepend_): New function, to be used in place
4906         of the --src-path=DIR option.
4907         (setup_): Move PATH-prepending code into path_prepend_.
4908         * tests/test-pread.sh: Adapt to new usage.
4909         * tests/test-xalloc-die.sh: Likewise.
4910
4911 2009-12-08  Simon Josefsson  <simon@josefsson.org>
4912
4913         * doc/gnulib.texi (Glibc pty.h): Add.
4914         * doc/glibc-functions/forkpty.texi: Add.
4915         * doc/glibc-functions/openpty.texi: Add.
4916         Suggested by Bruno Haible.
4917
4918 2009-12-08  Eric Blake  <ebb9@byu.net>
4919
4920         fchdir: fix logic bugs
4921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
4922         * tests/test-fchdir.c (main): Enhance test.
4923         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
4924         is in use.
4925
4926         dup2: fix logic bugs
4927         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
4928         REPLACE_DUP2 to decide when rpl_dup2 is needed.
4929         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
4930         exists.
4931         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
4932
4933 2009-12-07  Eric Blake  <ebb9@byu.net>
4934
4935         unlink: fix m4 detection
4936         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
4937
4938         unistd-safer: add unit test
4939         * modules/unistd-safer-tests: New file.
4940         * tests/test-dup-safer.c: Likewise.
4941         * tests/test-cloexec.c (setmode): Avoid compiler warning.
4942         * tests/test-dup2.c (setmode): Likewise.
4943         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
4944
4945         cloexec: preserve text vs. binary across dup_cloexec
4946         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
4947         mode.
4948         * modules/dup2-tests (Depends-on): Add binary-io.
4949         * modules/cloexec-tests (Depends-on): Likewise.
4950         * tests/test-dup2.c (setmode, is_mode): New helpers.
4951         (main): Add tests that translation mode is preserved.
4952         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
4953         Reported by Bruno Haible.
4954
4955         mgetgroups: reduce duplicate listings
4956         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
4957         resulting array.
4958         * tests/test-chown.h (test_chown): Simplify client.
4959         * tests/test-lchown.h (test_lchown): Likewise.
4960
4961 2009-12-06  Bruno Haible  <bruno@clisp.org>
4962
4963         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
4964         value.
4965
4966 2009-12-06  Bruno Haible  <bruno@clisp.org>
4967
4968         * lib/progname.c: Include stdio.h, stdlib.h.
4969         (set_program_name): Reject a NULL argument.
4970
4971 2009-12-05  Eric Blake  <ebb9@byu.net>
4972
4973         pipe2-safer: new module
4974         * modules/pipe2-safer: New file.
4975         * lib/unistd-safer.h (pipe2_safer): New prototype.
4976         * lib/unistd--.h (pipe2): New wrapper.
4977         * lib/pipe-safer.c (pipe2_safer): New function.
4978         * modules/pipe (Depends-on): Add pipe2-safer.
4979         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
4980
4981         stdlib-safer: preserve cloexec flag for mkostemp[s]
4982         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
4983         fd_safer_flag.
4984
4985         unistd-safer: allow preservation of cloexec status via flag
4986         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
4987         prototypes.
4988         * lib/dup-safer.c (dup_safer_flag): New function.
4989         * lib/fd-safer.c (fd_safer_flag): Likewise.
4990         * modules/cloexec (configure.ac): Set witness.
4991
4992         test-dup2: enhance test
4993         * modules/dup2-tests (Depends-on): Add cloexec.
4994         * tests/test-dup2.c (main): Enhance test.
4995
4996         cloexec: add dup_cloexec
4997         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
4998         header and comments.
4999         * lib/cloexec.c (set_cloexec_flag): Add comments.
5000         (dup_cloexec): New function, with mingw implementation borrowed
5001         from...
5002         * lib/w32spawn.h (dup_noinherit): ...here.
5003         * modules/execute (Depends-on): Add cloexec.
5004         * modules/pipe (Depends-on): Likewise.
5005         * modules/cloexec (Depends-on): Add dup2.
5006         * modules/cloexec-tests (Files): New file.
5007         * tests/test-cloexec.c: Likewise.
5008
5009         test-xalloc-die: fix test for mingw
5010         * modules/xalloc-die-tests (Files): Add tests/init.sh.
5011         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
5012         directory and .exe suffix off argv[0] output.
5013
5014         test-fseeko: fix test for mingw
5015         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
5016         than undefining fseek, so test will pass on mingw.
5017
5018 2009-12-05  Bruno Haible  <bruno@clisp.org>
5019
5020         * lib/progname.h (set_program_name): Clarify specification.
5021         * lib/progname.c (set_program_name): Likewise.
5022         Reported by Jim Meyering.
5023
5024 2009-12-05  Jim Meyering  <meyering@redhat.com>
5025
5026         maint.mk: backslash-escape parens in default regexp
5027         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
5028         backslash-escape the literal parentheses.
5029
5030         maint.mk: news-date-check: use grep -E
5031         * top/maint.mk (today): Define a Make variable, not a...
5032         (news-date-check): ...shell variable.
5033         (news-date-regexp): Use the Make variable.
5034         Use grep's -E option.  Change the failing diagnostic to mention
5035         the variable, $(news-date-regexp).
5036
5037 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
5038
5039         maintainer-makefile: allow customization of NEWS entry format
5040         * top/maint.mk (news-date-regexp): New overridable variable.
5041         (news-date-check): Use it.
5042
5043 2009-12-04  Eric Blake  <ebb9@byu.net>
5044
5045         mgetgroups: add xgetgroups, and avoid ENOSYS failures
5046         * lib/mgetgroups.h (xgetgroups): New prototype.
5047         * lib/mgetgroups.c (xgetgroups): New wrapper.
5048         (mgetgroups): Handle ENOSYS.
5049         * modules/mgetgroups (Depends-on): Add realloc.
5050         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
5051
5052         mgetgroups: avoid argument promotion issues with -1
5053         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
5054         for invalid gid_t.
5055         * tests/test-chown.h (getegid, test_chown): Likewise.
5056         * tests/test-lchown.h (getegid, test_lchown): Likewise.
5057
5058 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
5059
5060         exclude: Fix header file problems.
5061         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
5062
5063 2009-12-01  Jim Meyering  <meyering@redhat.com>
5064
5065         fts: fts_open: do not let an empty string cause immediate failure
5066         This is required in support of GNU rm, for which the command
5067         "rm A '' B" must process and remove both A and B, in spite of
5068         the empty string argument.
5069         * lib/fts.c (fts_open): Do not let the presence of an empty string
5070         cause fts_open to fail immediately.  Most fts-using tools must be
5071         able to process all arguments, in order, and can be expected to
5072         diagnose such arguments themselves.
5073
5074 2009-11-30  Eric Blake  <ebb9@byu.net>
5075
5076         utimens: fix compilation error
5077         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
5078         Declare variable at right scope.
5079
5080 2009-11-29  Jim Meyering  <meyering@redhat.com>
5081
5082         bootstrap: handle perl-5.11's changed --version output
5083         * build-aux/bootstrap (get_version): Handle perl separately,
5084         since perl-5.11's --version output is different.
5085
5086 2009-11-28  Jim Meyering  <meyering@redhat.com>
5087
5088         userspec: depend on the inttostr module, too
5089         * modules/userspec (Depends-on): Add inttostr.
5090
5091         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
5092         * lib/userspec.c (parse_with_separator): Do not accept a user ID
5093         number of MAXUID when it evaluates to (uid_t) -1.
5094         Likewise for group ID.  Reported by Matt McCutchen in
5095         <http://savannah.gnu.org/bugs/?28113>
5096
5097         userspec: reformat to use spaces, not TABs
5098         * lib/userspec.c: Expand TABs to spaces.
5099         Add Emacs' "indent-tabs-mode: nil" hint.
5100
5101 2009-11-27  Eric Blake  <ebb9@byu.net>
5102
5103         getopt-gnu: flush out another BSD bug
5104         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
5105         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
5106         flush out BSD bug.
5107         * tests/test-getopt.h (test_getopt): End lists with NULL.
5108         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5109         (test_getopt_long_posix): Enhance test.
5110         * modules/getopt-posix-tests (Depends-on): Add stdbool.
5111         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
5112         getopt-gnu.
5113         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5114         Likewise.
5115
5116 2009-11-27  Simon Josefsson  <simon@josefsson.org>
5117
5118         * modules/idpriv-droptemp-tests (Notice): Fix text.
5119
5120 2009-11-27  Jim Meyering  <meyering@redhat.com>
5121
5122         test-xalloc-die: avoid spurious failure due to libtool argv difference
5123         In a libtool-enabled project, this test would fail due to a difference
5124         in the emitted program name, e.g.,
5125         -test-xalloc-die: memory exhausted
5126         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
5127         Use program to avoid that.
5128         * modules/xalloc-die-tests (Depends-on): Add progname.
5129         * tests/test-xalloc-die.c: Include progname.h".
5130         (program_name): Remove decl.
5131         (main): Call set_program_name.
5132         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
5133
5134 2009-11-26  Richard Jones  <rjones@redhat.com>
5135
5136         w32sock: leave win32 error in place.
5137         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
5138
5139 2009-11-26  Eric Blake  <ebb9@byu.net>
5140
5141         init.sh: suggest to use skip_ and fail_ functions in comments
5142         * tests/init.sh: Add a sentence.
5143
5144 2009-11-25  Bruno Haible  <bruno@clisp.org>
5145
5146         init.sh: add documentation in comments
5147         * tests/init.sh: Add some developer and user documentation.
5148
5149 2009-11-26  Jim Meyering  <meyering@redhat.com>
5150
5151         init.sh: accommodate even those who specify bogus srcdir manually
5152         * tests/init.sh: Normally, srcdir is guaranteed by automake and
5153         configure-time tests to be sanitized, so that there is no need to
5154         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
5155         (with no double quotes) suffices.  However, since tests may be
5156         invoked manually, and since you may explicitly set srcdir to the
5157         name of a directory containing spaces, do quote its uses here.
5158         * tests/test-pread.sh: Likewise.
5159         Suggested by Bruno Haible.
5160
5161         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
5162         * tests/test-pread.sh: Write no data into the pipe, because
5163         test-pread actually reads none.  This avoids a diagnostic,
5164         "bash: echo: write error: Broken pipe", that arises in the unusual
5165         event something is ignoring SIGPIPE, and might be interpreted
5166         as some sort of failure.  Reported by Bruno Haible.
5167
5168 2009-11-25  Jim Meyering  <meyering@redhat.com>
5169
5170         test-pread: cover failure with ESPIPE and EINVAL
5171         * tests/test-pread.c (main): Test for failure, too.
5172         * tests/test-pread.sh: Invoke with stdin on a pipe.
5173         Suggested by Eric Blake.
5174
5175         pread: improvement and fix
5176         * modules/pread (Depends-on): Depend on lseek, for portability to
5177         e.g., mingw.  Suggested by Eric Blake.
5178         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
5179
5180         unistd.in.h: correct declaration of pread
5181         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
5182         Reported by Richard W.M. Jones.
5183
5184         test-pread.sh: distribute the test script
5185         * modules/pread-tests (Files): Include test-pread.sh.
5186
5187         test-pread.sh: clean up
5188         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
5189         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
5190         That is unnecessary, since it's always ".".
5191         Suggestion from Eric Blake.
5192
5193         test-pread.sh: make executable
5194         * tests/test-pread.sh: Set executable bit.
5195         Reported by Eric Blake.
5196
5197         correct typo in test-pread.sh
5198         * tests/test-pread.sh: Add #! line.
5199
5200         test pread
5201         * tests/test-pread.c: New file.
5202         * tests/test-pread.sh: Likewise.
5203         * modules/pread-tests: Likewise.
5204
5205         pread: new module
5206         * modules/pread: New file.
5207         * lib/unistd.in.h (pread): Define/declare.
5208         * lib/pread.c (pread): New file.
5209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
5210         * modules/unistd (Makefile.am): Substitute witnesses.
5211         * doc/posix-functions/pread.texi (pread): Update.
5212         * MODULES.html.sh: Add pread.
5213
5214 2009-11-25  Jim Meyering  <meyering@redhat.com>
5215
5216         tests/init.sh: new file to be used via most *.sh tests
5217         * tests/init.sh: New file.
5218
5219 2009-11-25  Eric Blake  <ebb9@byu.net>
5220
5221         utimens: work around older Linux failure with symlinks
5222         * lib/utimens.c (lutimensat_works_really): New variable.
5223         (fdutimens, lutimens): Use it to manage kernels that support
5224         nanosecond times on files, but not on symlinks.
5225         Reported by Ondřej Vašík.
5226
5227         utimes: fix configure grammar
5228         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
5229
5230 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
5231
5232         regex: Fix fastmap for multibyte character ranges.
5233         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
5234         characters when a multibyte character range is included.
5235
5236 2009-11-22  Andy Wingo  <wingo@pobox.com>
5237
5238         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
5239         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
5240
5241 2009-11-24  Bruno Haible  <bruno@clisp.org>
5242
5243         doc: Most *_l functions exist in MacOS X 10.5.
5244         * doc/posix-functions/duplocale.texi: Update platforms list.
5245         * doc/posix-functions/freelocale.texi: Likewise.
5246         * doc/posix-functions/newlocale.texi: Likewise.
5247         * doc/posix-functions/uselocale.texi: Likewise.
5248         * doc/posix-functions/isalnum_l.texi: Likewise.
5249         * doc/posix-functions/isalpha_l.texi: Likewise.
5250         * doc/posix-functions/isblank_l.texi: Likewise.
5251         * doc/posix-functions/iscntrl_l.texi: Likewise.
5252         * doc/posix-functions/isdigit_l.texi: Likewise.
5253         * doc/posix-functions/isgraph_l.texi: Likewise.
5254         * doc/posix-functions/islower_l.texi: Likewise.
5255         * doc/posix-functions/isprint_l.texi: Likewise.
5256         * doc/posix-functions/ispunct_l.texi: Likewise.
5257         * doc/posix-functions/isspace_l.texi: Likewise.
5258         * doc/posix-functions/isupper_l.texi: Likewise.
5259         * doc/posix-functions/iswalnum_l.texi: Likewise.
5260         * doc/posix-functions/iswalpha_l.texi: Likewise.
5261         * doc/posix-functions/iswblank_l.texi: Likewise.
5262         * doc/posix-functions/iswcntrl_l.texi: Likewise.
5263         * doc/posix-functions/iswctype_l.texi: Likewise.
5264         * doc/posix-functions/iswdigit_l.texi: Likewise.
5265         * doc/posix-functions/iswgraph_l.texi: Likewise.
5266         * doc/posix-functions/iswlower_l.texi: Likewise.
5267         * doc/posix-functions/iswprint_l.texi: Likewise.
5268         * doc/posix-functions/iswpunct_l.texi: Likewise.
5269         * doc/posix-functions/iswspace_l.texi: Likewise.
5270         * doc/posix-functions/iswupper_l.texi: Likewise.
5271         * doc/posix-functions/iswxdigit_l.texi: Likewise.
5272         * doc/posix-functions/isxdigit_l.texi: Likewise.
5273         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
5274         * doc/posix-functions/strcasecmp_l.texi: Likewise.
5275         * doc/posix-functions/strcoll_l.texi: Likewise.
5276         * doc/posix-functions/strfmon_l.texi: Likewise.
5277         * doc/posix-functions/strftime_l.texi: Likewise.
5278         * doc/posix-functions/strncasecmp_l.texi: Likewise.
5279         * doc/posix-functions/strxfrm_l.texi: Likewise.
5280         * doc/posix-functions/tolower_l.texi: Likewise.
5281         * doc/posix-functions/toupper_l.texi: Likewise.
5282         * doc/posix-functions/towctrans_l.texi: Likewise.
5283         * doc/posix-functions/towlower_l.texi: Likewise.
5284         * doc/posix-functions/towupper_l.texi: Likewise.
5285         * doc/posix-functions/wcscoll_l.texi: Likewise.
5286         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
5287         * doc/posix-functions/wctrans_l.texi: Likewise.
5288         * doc/posix-functions/wctype_l.texi: Likewise.
5289         * doc/glibc-functions/strptime_l.texi: Likewise.
5290         * doc/glibc-functions/strtod_l.texi: Likewise.
5291         * doc/glibc-functions/strtof_l.texi: Likewise.
5292         * doc/glibc-functions/strtol_l.texi: Likewise.
5293         * doc/glibc-functions/strtold_l.texi: Likewise.
5294         * doc/glibc-functions/strtoll_l.texi: Likewise.
5295         * doc/glibc-functions/strtoul_l.texi: Likewise.
5296         * doc/glibc-functions/strtoull_l.texi: Likewise.
5297         * doc/glibc-functions/wcsftime_l.texi: Likewise.
5298         * doc/glibc-functions/wcstod_l.texi: Likewise.
5299         * doc/glibc-functions/wcstof_l.texi: Likewise.
5300         * doc/glibc-functions/wcstol_l.texi: Likewise.
5301         * doc/glibc-functions/wcstold_l.texi: Likewise.
5302         * doc/glibc-functions/wcstoll_l.texi: Likewise.
5303         * doc/glibc-functions/wcstoul_l.texi: Likewise.
5304         * doc/glibc-functions/wcstoull_l.texi: Likewise.
5305
5306 2009-11-24  Bruno Haible  <bruno@clisp.org>
5307
5308         duplocale: Fix logic bug.
5309         * lib/duplocale.c: Don't include <langinfo.h>.
5310         (_NL_LOCALE_NAME): Remove macro.
5311         (rpl_duplocale): Use setlocale instead of nl_langinfo.
5312         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
5313
5314 2009-11-23  Jim Meyering  <meyering@redhat.com>
5315
5316         test-update-copyright: don't hard-code /usr/bin/perl
5317         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
5318         perl to print the current year.  Gilles Espinasse reported that
5319         the replaced use of perl was hard-coded as /usr/bin/perl.
5320
5321 2009-11-23  Bruno Haible  <bruno@clisp.org>
5322
5323         duplocale: Add support for glibc 2.3.x.
5324         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
5325
5326 2009-11-22  Bruno Haible  <bruno@clisp.org>
5327
5328         vasnprintf: Tiny optimization.
5329         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
5330         MacOS X.
5331
5332 2009-11-22  Bruno Haible  <bruno@clisp.org>
5333
5334         Tests for module 'duplocale'.
5335         * modules/duplocale-tests: New file.
5336         * tests/test-duplocale.c: New file.
5337
5338         New module 'duplocale'.
5339         * m4/duplocale.m4: New file.
5340         * lib/locale.in.h (duplocale): New declaration.
5341         * lib/duplocale.c: New file.
5342         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
5343         gl_LOCALE_H_DEFAULTS): New macros.
5344         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
5345         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
5346         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
5347         REPLACE_DUPLOCALE.
5348         * modules/duplocale: New file.
5349         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
5350
5351 2009-11-22  Bruno Haible  <bruno@clisp.org>
5352
5353         * modules/locale-tests (configure.ac): Test for newlocale function.
5354         * tests/test-locale.c: When the system has extended locale functions,
5355         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
5356
5357         locale: Make locale_t available when possible.
5358         * lib/locale.in.h: Include <xlocale.h> when it exists.
5359         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
5360         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
5361         * modules/locale (Depends-on): Add extensions.
5362         (Makefile.am): Also substitute HAVE_XLOCALE_H.
5363         * doc/posix-headers/locale.texi: Document the problem with locale_t.
5364
5365 2009-11-22  Bruno Haible  <bruno@clisp.org>
5366
5367         Add comments.
5368         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
5369         invocation.
5370         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5371         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5372         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5373
5374 2009-11-22  Bruno Haible  <bruno@clisp.org>
5375
5376         error: account for the possibility of freopen (stdout).
5377         * lib/error.c: Include <unistd.h>.
5378         (flush_stdout): New function, extracted from error and error_at_line.
5379         Determine stdout's fd dynamically.
5380         (error, error_at_line): Invoke flush_stdout.
5381         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
5382         * modules/error (Depends-on): Add unistd.
5383
5384 2009-11-22  Bruno Haible  <bruno@clisp.org>
5385
5386         diffseq: Add comment.
5387         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
5388
5389 2009-11-22  Jim Meyering  <meyering@redhat.com>
5390
5391         c-stack: avoid defining an unused static function
5392         * lib/c-stack.c (find_stack_direction): Do not define this function
5393         when it will not be used.
5394
5395         diffseq: avoid spurious gcc warnings
5396         * lib/diffseq.h (IF_LINT2): Define.
5397         (compareseq): Use it to initialize two members of "part".
5398         This avoids two used-uninitialized warnings.
5399
5400 2009-11-21  Jim Meyering  <meyering@redhat.com>
5401
5402         c-stack: avoid "ignoring return value of `write'" warning
5403         * lib/c-stack.c: Include "ignore-value.h".
5404         (die): Explicitly ignore each write return value.
5405         * modules/c-stack (Depends-on): Add ignore-value.
5406
5407 2009-11-21  Bruno Haible  <bruno@clisp.org>
5408
5409         diffseq: reduce scope of variable 'best'.
5410         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
5411         variable, earlier used for two different purposes.
5412
5413 2009-11-21  Jim Meyering  <meyering@redhat.com>
5414
5415         diffseq: remove useless assignment to "best"
5416         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
5417         assignment.  At that point "best" is already guaranteed to be zero.
5418
5419 2009-11-20  Eric Blake  <ebb9@byu.net>
5420
5421         build: mention ftp redirector in release announcements
5422         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
5423         values that used to come from cfg.mk; mention FTP redirect URL.
5424         * build-aux/announce-gen: Mention the mirror list.
5425         Suggested by Karl Berry.
5426
5427         nanosleep: improve port to mingw
5428         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
5429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
5430         LIB_NANOSLEEP, but only when needed.
5431         * modules/select (Link): Document LIBSOCKET.
5432         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
5433         enough.
5434
5435         nanosleep: work around cygwin bug
5436         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
5437         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
5438         bug.
5439         (getnow): Delete, not needed.
5440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
5441         LIB_CLOCK_GETTIME.
5442         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
5443         clock-time, gettime.
5444         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
5445         bug.
5446         * modules/nanosleep-tests: New test.
5447         * tests/test-nanosleep.c: New file.
5448
5449         sleep: work around cygwin bug
5450         * lib/sleep.c (rpl_sleep): Work around the bug.
5451         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
5452         (gl_PREREQ_SLEEP): Delete unused macro.
5453         * modules/sleep (Depends-on): Add verify.
5454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5455         * modules/unistd (Makefile.am): Substitute witness.
5456         * lib/unistd.in.h (sleep): Update prototype.
5457         * doc/posix-functions/sleep.texi (sleep): Document the bug.
5458         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
5459         * modules/sleep-tests (Depends-on): Check for alarm.
5460
5461 2009-11-20  Jim Meyering  <meyering@redhat.com>
5462
5463         maint.mk: improve sc_prohibit_magic_number_exit
5464         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
5465         so it does not match uses like System.exit(1).
5466         Add comments showing how to correct all offenders.
5467
5468 2009-11-19  Eric Blake  <ebb9@byu.net>
5469
5470         xalloc-die-tests: add missing library
5471         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
5472
5473         test-xvasprintf: silence compiler warnings
5474         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
5475         empty string from gcc.
5476
5477 2009-11-19  Jim Meyering  <meyering@redhat.com>
5478
5479         xfreopen: new module, from coreutils
5480         * modules/xfreopen: New module.
5481         * lib/xfreopen.c: New file.
5482         * lib/xfreopen.h: New file.
5483         * MODULES.html.sh (File stream based Input/Output"): Add it.
5484
5485 2009-11-19  Eric Blake  <ebb9@byu.net>
5486
5487         manywarnings: depend on warnings
5488         * modules/manywarnings (Depends-on): Add warnings.
5489
5490         build: avoid compiler warnings
5491         * lib/select.c (rpl_select): Delete unused variable.
5492         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
5493
5494 2009-11-18  Eric Blake  <ebb9@byu.net>
5495
5496         tests: avoid false negative with --with-packager
5497         * tests/test-version-etc.sh: Discard packager information.
5498         * tests/test-argp-version-etc-1.sh: Likewise.
5499         Reported by Mike Frysinger.
5500
5501         utimens: fix regression on Solaris
5502         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
5503         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
5504         can only change fd timestamps via futimesat.  Instead, use an
5505         additional witness macro to avoid BSD bug.
5506         Reported by Jim Meyering.
5507
5508 2009-11-17  Eric Blake  <ebb9@byu.net>
5509
5510         usleep: use it to simplify tests
5511         * modules/stat-time-tests (Depends-on): Add usleep.
5512         (configure.ac): Drop usleep check.
5513         * modules/chown-tests (Depends-on, configure.ac): Likewise.
5514         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
5515         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
5516         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
5517         * modules/openat-tests (Depends-on, configure.ac): Likewise.
5518         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
5519         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
5520         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
5521         Likewise.
5522         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
5523         * tests/test-lchown.h (nap): Likewise.
5524         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
5525         * tests/test-stat-time.c (nap): Likewise.
5526         * tests/test-utimens-common.h (nap): Update comments.
5527
5528         usleep: new module
5529         * modules/usleep: New file.
5530         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5531         * lib/usleep.c (usleep): Likewise.
5532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
5533         * modules/unistd (Makefile.am): Substitute witnesses.
5534         * lib/unistd.in.h (usleep): Add declaration.
5535         * doc/pastposix-functions/usleep.texi (usleep): Document this.
5536         * MODULES.html.sh (Date and time): Likewise.
5537         * modules/usleep-tests (Depends-on): New test.
5538         * tests/test-usleep.c: New file.
5539
5540         chown: work around OpenBSD bug
5541         * lib/chown.c (rpl_chown): Work around the bug.
5542         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
5543         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
5544         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
5545         * modules/chown (Depends-on): Add stdbool.
5546         * modules/lchown (Depends-on): Likewise.
5547         * doc/posix-functions/chown.texi (chown): Document the bug.
5548         * doc/posix-functions/lchown.texi (lchown): Likewise.
5549         * tests/test-lchown.h (test_chown): Relax test.
5550
5551         mkstemp: avoid conflict with C++ keyword template
5552         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
5553         * lib/mkostemp.c (mkostemp): Likewise.
5554         * lib/mkostemps.c (mkostemps): Likewise.
5555         * lib/mkstemp.c (mkstemp): Likewise.
5556         * lib/mkstemps.c (mkstemps): Likewise.
5557
5558         xalloc-die-tests: optimize
5559         * tests/test-xalloc-die.sh: Reduce number of processes.
5560
5561 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5562
5563         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
5564         patch from ludo@gnu.org (Ludovic Courtès).
5565
5566 2009-11-17  Jim Meyering  <meyering@redhat.com>
5567
5568         version-etc: use proper license string
5569         * modules/version-etc (License): Use LGPL, not LGPLv3+.
5570         * modules/version-etc-fsf: Likewise.
5571
5572 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5573
5574         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
5575         printed to stdout.  Deal with EOL differences.
5576
5577 2009-11-17  Eric Blake  <ebb9@byu.net>
5578
5579         unsetenv: work around Solaris bug
5580         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
5581         * lib/unsetenv.c (rpl_unsetenv): Work around it.
5582         Reported by Jim Meyering.
5583
5584         vasnprintf: avoid compiler warnings
5585         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
5586         variables.
5587         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
5588
5589 2009-11-17  Simon Josefsson  <simon@josefsson.org>
5590
5591         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
5592         settings since xalloc-die is no longer the self test,
5593         xalloc-die.sh is.
5594
5595 2009-11-17  Jim Meyering  <meyering@redhat.com>
5596
5597         test-xalloc-die.sh: make the code agree with the commit log
5598         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
5599         at the end, just in case you happen to have a test-xalloc-die
5600         program in some other PATH directory.
5601
5602         test-xalloc-die.sh: fix a portability bug
5603         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
5604         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
5605         Otherwise, argv[0] (as often seen in diagnostics) would be too
5606         system-dependent, sometimes with, and sometimes without the leading "./".
5607
5608         version-etc-fsf: relax license to LGPLv3+
5609         * modules/version-etc-fsf (License): Relax license.
5610
5611 2009-11-16  Eric Blake  <ebb9@byu.net>
5612
5613         xalloc-die-tests: avoid printing null pointer
5614         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
5615         shell script.
5616         * tests/test-xalloc-die.c (program_name): Declare.
5617         * tests/test-xalloc-die.sh (tmpfiles): New file.
5618
5619         setenv, unsetenv: work around various bugs
5620         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
5621         (setenv) [HAVE_SETENV]: Work around bugs.
5622         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
5623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
5624         for bugs.
5625         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
5626         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
5627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
5628         * modules/stdlib (Makefile.am): Update substitutions.
5629         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
5630         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
5631         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
5632         * modules/setenv-tests: New test.
5633         * modules/unsetenv-tests: Likewise.
5634         * tests/test-setenv.c: New file.
5635         * tests/test-unsetenv.c: Likewise.
5636
5637 2009-11-16  Jim Meyering  <meyering@redhat.com>
5638
5639         version-etc: relax license to LGPLv3+
5640         * modules/version-etc (License): Relax license.
5641
5642         better AC_REQUIRE expanded-before-required-warning avoidance
5643         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
5644         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
5645         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
5646         which is no longer needed.
5647
5648 2009-11-16  Eric Blake  <ebb9@byu.net>
5649
5650         test-freading: clean up temporary file
5651         * tests/test-freading.c (main): Remove file on success, and use
5652         ASSERT more liberally.
5653         Reported by Jim Meyering.
5654
5655 2009-11-16  Jim Meyering  <meyering@redhat.com>
5656
5657         avoid new AC_REQUIRE expanded-before-required warnings
5658         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
5659         merely using it.
5660         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
5661         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
5662
5663 2009-11-15  Simon Josefsson  <simon@josefsson.org>
5664
5665         * tests/test-xalloc-die.c: New file.
5666         * modules/xalloc-die-tests: New file.
5667         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
5668         XFAIL_TESTS so it can be appended by modules.
5669
5670 2009-11-15  Simon Josefsson  <simon@josefsson.org>
5671
5672         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
5673         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
5674
5675 2009-11-14  Eric Blake  <ebb9@byu.net>
5676
5677         fnmatch: avoid compiler warning
5678         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
5679         to silence compiler warning about mismatch signedness in ?:.
5680         Reported by Robert Millan.
5681
5682         intprops: add double-inclusion guard
5683         * lib/intprops.h: Allow idempotent includes.
5684         Suggested by Bruce Korb.
5685
5686         openat: detect Solaris fchownat bug
5687         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
5688         penalizing glibc chownat when only lchownat is broken.
5689         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
5690         trailing slash bugs.
5691         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
5692         * modules/openat-tests (Files): Include more files.
5693         (Depends-on): Add mgetgroups, sleep, stat-time.
5694         (configure.ac): Add additional checks.
5695         (Makefile.am): Build new test.
5696         * tests/test-fchownat.c: New file.
5697
5698         lchown: detect Solaris and FreeBSD bug
5699         * lib/lchown.c (rpl_lchown): Work around bug.
5700         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
5701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5702         * modules/unistd (Makefile.am): Populate it.
5703         * lib/unistd.in.h (lchown): Update declaration.
5704         * doc/posix-functions/lchown.texi (lchown): Document the bug.
5705         * modules/lchown-tests: New file.
5706         * tests/test-lchown.h (test_lchown): Likewise.
5707         * tests/test-lchown.c (main): Likewise.
5708
5709         chown: detect Solaris and FreeBSD bug
5710         * lib/chown.c (rpl_chown): Work around bug.
5711         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
5712         (gl_PREREQ_CHOWN): Delete.
5713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5714         * modules/unistd (Makefile.am): Populate it.
5715         * lib/unistd.in.h (chown): Update declaration.
5716         * lib/lchown.c (chown): Update client.
5717         * modules/lchown (Depends-on): Add lstat.
5718         * doc/posix-functions/chown.texi (chown): Document the bug.
5719         * doc/posix-functions/getgroups.texi (getgroups): Document
5720         getgroups pitfall.
5721         * modules/chown-tests: New file.
5722         * tests/test-chown.h (test_chown): Likewise.
5723         * tests/test-chown.c (main): Likewise.
5724
5725 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
5726
5727         gnulib-tool: correctly detect absence of m4 directories
5728         * gnulib-tool: Avoid extra newline on data passed to wc -l.
5729
5730 2009-11-14  Jim Meyering  <meyering@redhat.com>
5731
5732         maint.mk: Prohibit inclusion of "xalloc.h" without use.
5733         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
5734
5735 2009-11-14  John W. Eaton  <jwe@gnu.org>
5736
5737         strftime.h: wrap funtion declaration in extern "C" block
5738         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
5739
5740 2009-11-13  Eric Blake  <ebb9@byu.net>
5741
5742         getgroups: avoid compiler warning
5743         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
5744
5745         getgroups: work around FreeBSD bug
5746         * lib/getgroups.c (rpl_getgroups): Work around the bug.
5747         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
5748         * doc/posix-functions/getgroups.texi (getgroups): Document it.
5749         * tests/test-getgroups.c (main): Fix buffer overrun.
5750
5751         getgroups: avoid compilation failure
5752         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
5753         * modules/getgroups (Depends-on): Add stdint.
5754
5755 2009-11-13  Jim Meyering  <meyering@redhat.com>
5756
5757         test-getgroups: avoid compilation failure
5758         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
5759
5760 2009-11-13  Eric Blake  <ebb9@byu.net>
5761
5762         mgetgroups: new module, taken from coreutils
5763         * modules/mgetgroups: New file.
5764         * lib/mgetgroups.h: Likewise.
5765         * lib/mgetgroups.c (mgetgroups): Likewise.
5766         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
5767         * MODULES.html.sh (Users and groups): Mention it.
5768
5769         getgroups: don't expose GETGROUPS_T to user
5770         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
5771         an element at a time if GETGROUPS_T is wrong size.
5772         * lib/getugroups.h (getugroups): Change signature.
5773         * lib/unistd.in.h (getgroups): Likewise.
5774         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
5775         signature needs fixing.
5776         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
5777         AC_TYPE_GETGROUPS.
5778         * modules/group-member (Depends-on): Add getgroups.
5779         * lib/group-member.c (group_info, get_group_info): Use gid_t.
5780         (group_member): Rely on getgroups replacement.
5781         * lib/getugroups.c (getugroups): Use gid_t.
5782         * tests/test-getgroups.c (main): Likewise.
5783         * NEWS: Mention the signature change.
5784         * doc/posix-functions/getgroups.texi (getgroups): Mention the
5785         problem with signature.
5786         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
5787         GETGROUPS_T is still useful for setgroups.
5788
5789         getgroups, getugroups: provide stubs for mingw
5790         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
5791         * lib/getugroups.c (getugroups): Likewise.
5792         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
5793         function.  Modernize replacement scheme.
5794         (gl_PREREQ_GETGROUPS): Delete.
5795         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
5796         * modules/getgroups (configure.ac): Declare witness.
5797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5798         * modules/unistd (Depends-on): Substitute witness.
5799         * lib/unistd.in.h (getgroups): Declare replacement.
5800
5801         getgroups: avoid calling exit
5802         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
5803         drop xalloc.
5804         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
5805         dependencies.
5806         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
5807         exiting, in the rare case of malloc failure.
5808
5809         getgroups: fix logic error
5810         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
5811         has more than 20 groups.
5812         * modules/getgroups-tests: New test.
5813         * tests/test-getgroups.c: New file.
5814
5815 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5816
5817         * tests/test-base64.c: Improve.
5818
5819 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5820
5821         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
5822         Blake <ebb9@byu.net>.
5823
5824 2009-11-13  Simon Josefsson  <simon@josefsson.org>
5825
5826         * tests/test-xvasprintf.c: Add %s%s related checks.
5827
5828 2009-11-12  Eric Blake  <ebb9@byu.net>
5829
5830         version-etc: match standards.texi style
5831         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
5832         and use <> only for URLs.
5833
5834 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
5835
5836         fts: do not fail on a submount during traversal
5837         * lib/fts.c (fts_build): Read the stat info again after opening
5838         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
5839         Original report at http://bugzilla.redhat.com/501848.
5840
5841 2009-11-12  Jim Meyering  <meyering@redhat.com>
5842
5843         bootstrap: sync from coreutils
5844         * build-aux/bootstrap (bootstrap_epilogue): New function.
5845         Use git_modules_config in one more place.  This make bootstrap's
5846         --gnulib-srcdir option more useful for testing.
5847
5848         bootstrap: generalize autoheader check
5849         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
5850         AC_CONFIG_HEADERS.
5851
5852 2009-11-11  Eric Blake  <ebb9@byu.net>
5853
5854         mkfifoat: use new modules for Solaris and BSD bugs
5855         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
5856         * lib/mkfifoat.c (mknodat): Split...
5857         * lib/mknodat.c (mknodat): ...into new file.
5858         * modules/mkfifoat (Files): Ship new file.
5859         (Depends-on): Add mkfifo, mknod.
5860         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
5861         (Depends-on): Add symlink.
5862         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
5863         redundant with test_mkfifo.h.
5864         (do_mkfifoat, do_mknodat): New helpers.
5865
5866         mknod: new module
5867         * modules/mknod: New file.
5868         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
5869         * lib/mknod.c (mknod): Likewise.
5870         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
5871         defaults.
5872         * modules/sys_stat (Makefile.am): Substitute them.
5873         * lib/sys_stat.in.h (mknod): Declare replacement.
5874         * MODULES.html.sh (Support for systems lacking POSIX:2008):
5875         Document it.
5876         * doc/posix-functions/mknod.texi (mknod): Likewise.
5877         * modules/mknod-tests: New test.
5878         * tests/test-mknod.c: Likewise.
5879
5880         mkfifo: new module
5881         * modules/mkfifo: New file.
5882         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5883         * lib/mkfifo.c (mkfifo): Likewise.
5884         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
5885         defaults.
5886         * modules/sys_stat (Makefile.am): Substitute them.
5887         * lib/sys_stat.in.h (mkfifo): Declare replacement.
5888         * MODULES.html.sh (Support for systems lacking POSIX:2008):
5889         Document it.
5890         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
5891         * modules/mkfifo-tests: New test.
5892         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
5893         from test-mkfifoat.c.
5894         * tests/test-mkfifo.c: New file.
5895
5896         readlink: detect FreeBSD bug
5897         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
5898         slash on symlink.
5899         * doc/posix-functions/readlink.texi (readlink): Document the bug.
5900         * tests/test-readlink.h (test_readlink): Enhance test.
5901
5902         symlink: detect FreeBSD bug
5903         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
5904         slash on symlink.
5905         * doc/posix-functions/symlink.texi (symlink): Document the bug.
5906         * tests/test-symlink.h (test_symlink): Enhance test.
5907
5908 2009-11-10  Eric Blake  <ebb9@byu.net>
5909
5910         link: detect FreeBSD bug
5911         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
5912         symlink.
5913         * doc/posix-functions/link.texi (link): Document the bug.
5914         * tests/test-link.h (test_link): Enhance test.
5915         * tests/test-linkat.c (main): Update caller.
5916
5917         unlink, remove: detect FreeBSD bug
5918         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
5919         slash on symlink.
5920         * doc/posix-functions/unlink.texi (unlink): Document the bug.
5921         * doc/posix-functions/remove.texi (remove): Likewise.
5922         * tests/test-unlink.h (test_unlink): Enhance test.
5923         * tests/test-remove.c (main): Likewise.
5924
5925 2009-11-09  Eric Blake  <ebb9@byu.net>
5926
5927         rename: detect FreeBSD bug
5928         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
5929         slash on symlink.
5930         * modules/renameat-tests (Depends-on): Add filenamecat.
5931         * tests/test-rename.h (test_rename): Allow one more errno.
5932         * tests/test-renameat.c (main): Likewise.
5933         * doc/posix-functions/rename.texi (rename): Document the bug.
5934
5935         open: detect FreeBSD bug
5936         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
5937         symlink.
5938         * doc/posix-functions/open.texi (open): Document the bug.
5939         * doc/posix-functions/utimes.texi (utimes): Likewise.
5940         * tests/test-open.h (test_open): Add parameters, and test symlink
5941         handling.
5942         * tests/test-open.c (main): Adjust caller.
5943         * tests/test-fcntl-safer.c (main): Likewise.
5944         * modules/open-tests (Depends-on): Add stdbool, symlink.
5945         * modules/fcntl-safer-tests (Depends-on): Likewise.
5946         * tests/test-openat.c (main): Add test-open tests.
5947
5948         stat: detect FreeBSD bug
5949         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
5950         symlink.
5951         * doc/posix-functions/stat.texi (stat): Document the bug.
5952         * tests/test-stat.h (test_stat_func): Add argument.
5953         * tests/test-stat.c (main): Adjust caller.
5954         * tests/test-fstatat.c (main): Likewise.
5955         * modules/stat-tests (Depends-on): Add stdbool, symlink.
5956         Reported by Jim Meyering.
5957
5958 2009-11-09  James Youngman  <jay@gnu.org>
5959
5960         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
5961         * lib/strftime.c: Correct placement of #include "ignore-value.h".
5962
5963 2009-11-08  Jim Meyering  <meyering@redhat.com>
5964
5965         utimens: remove invalid futimesat call
5966         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
5967         It used the file descriptor of the target file as the DIR_FD
5968         parameter and NULL as the file name.  That caused failure with
5969         errno == EFAULT on FreeBSD-8.0-rc2
5970
5971 2009-11-07  Eric Blake  <ebb9@byu.net>
5972
5973         fflush, freadseek: use fseeko, not fseek
5974         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
5975         (clear_ungetc_buffer): Avoid potential problems on large files.
5976         * lib/freadseek.c (freadseek): Likewise.
5977         * modules/freadseek (Depends-on): Add fseeko.
5978         * modules/fseek (configure.ac): Set a witness.
5979         * tests/test-fflush.c (main): Use fseeko.
5980         * tests/test-fpurge.c (fseek): Disable link warning.
5981         * tests/test-freadable.c (fseek): Likewise.
5982         * tests/test-freading.c (fseek): Likewise.
5983         * tests/test-fseeko.c (fseek): Likewise.
5984         * tests/test-ftell.c (fseek): Likewise.
5985         * tests/test-ftello.c (fseek): Likewise.
5986         * tests/test-fwritable.c (fseek): Likewise.
5987         * tests/test-fwriting.c (fseek): Likewise.
5988
5989 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5990
5991         * modules/memchr (Depends-on): Drop getpagesize dependency.
5992
5993 2009-11-06  Simon Josefsson  <simon@josefsson.org>
5994
5995         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
5996         Reported by Ludovic Courtès.
5997         * build-aux/pmccabe2html: Improve example usage.
5998         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
5999
6000 2009-11-06  Jim Meyering  <meyering@redhat.com>
6001
6002         do-release-commit-and-tag: New module.
6003         Automate the release-commit and tag process.
6004         * build-aux/do-release-commit-and-tag: New script, from coreutils.
6005         * modules/do-release-commit-and-tag: New file.
6006         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6007
6008 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6009
6010         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
6011         because test-select.c uses inet_pton.
6012
6013 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6014
6015         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
6016         GETADDRINFO_LIB.  Bump serial number.
6017         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
6018         Suggested by Eric Blake <ebb9@byu.net>.
6019
6020 2009-11-05  Eric Blake  <ebb9@byu.net>
6021
6022         strtod: detect darwin bug
6023         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
6024         Reported by Leo Davis.
6025
6026         freopen-safer: new module
6027         * modules/freopen-safer: New module.
6028         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
6029         * lib/freopen-safer.c (freopen_safer): New file.
6030         * lib/stdio-safer.h (freopen_safer): New declaration.
6031         * lib/stdio--.h (freopen): New override.
6032         * MODULES.html.sh (File stream based Input/Output): Mention it.
6033         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
6034         freopen-safer module.
6035         * doc/posix-functions/stderr.texi (stderr): Likewise.
6036         * doc/posix-functions/stdin.texi (stdin): Likewise.
6037         * doc/posix-functions/stdout.texi (stdout): Likewise.
6038         * modules/freopen-safer-tests: New test.
6039         * tests/test-reopen-safer.c: New file.
6040
6041 2009-11-05  Jim Meyering  <meyering@redhat.com>
6042
6043         maint.mk: Prohibit inclusion of "close-stream.h" without use.
6044         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6045
6046 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6047
6048         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
6049
6050 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6051
6052         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
6053
6054 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6055
6056         Fix link error.
6057         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6058         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6059
6060 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6061
6062         * tests/test-func.c: Also test value of __func__.
6063
6064 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6065
6066         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
6067         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
6068
6069 2009-11-05  Bruno Haible  <bruno@clisp.org>
6070
6071         Fix link error.
6072         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6073         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6074         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
6075
6076 2009-11-05  Bruno Haible  <bruno@clisp.org>
6077
6078         Tests for module 'inet_pton'.
6079         * modules/inet_pton-tests: New file.
6080         * tests/test-inet_pton.c: New file.
6081
6082 2009-11-05  Bruno Haible  <bruno@clisp.org>
6083
6084         Tests for module 'inet_ntop'.
6085         * modules/inet_ntop-tests: New file.
6086         * tests/test-inet_ntop.c: New file.
6087
6088 2009-11-04  Eric Blake  <ebb9@byu.net>
6089
6090         stdlib-safer: wrap all mkstemp variants
6091         * modules/mkostemp (configure.ac): Set witness.
6092         * modules/mkostemps (configure.ac): Likewise.
6093         * modules/mkstemps (configure.ac): Likewise.
6094         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
6095         (mkstemps_safer): Wrap more functions.
6096         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
6097         wrapping.
6098         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
6099         (mkstemps_safer): Implement the wrappers.
6100
6101         mkstemps, mkostemps: new modules
6102         * modules/mkostemps: New module.
6103         * modules/mkstemps: Likewise.
6104         * lib/mkostemps.c (mkostemps): New file.
6105         * lib/mkstemps.c (mkstemps): Likewise.
6106         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
6107         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
6108         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
6109         * modules/stdlib (Makefile.am): Substitute them.
6110         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
6111         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
6112         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6113         * doc/gnulib.texi (Glibc stdlib.h): Include them.
6114         * MODULES.html.sh (File system functions): Mention them.
6115
6116         tempname: resync from glibc
6117         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
6118         same values for __GT_FILE as glibc.  Abort even when assertions
6119         are disabled.
6120         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
6121         match its value otherwise.  Allow idempotent inclusion.
6122         * lib/mkdtemp.c (mkdtemp): Adjust caller.
6123         * lib/mkostemp.c (mkostemp): Likewise.
6124         * lib/mkstemp.c (mkstemp): Likewise.
6125         * lib/tmpfile.c (tmpfile): Likewise.
6126         * NEWS: Document this.
6127
6128         utimens: fix use of futimens on older Linux
6129         * lib/utimens.c (fdutimens): Use updated, rather than original,
6130         timespec to avoid bug in older Linux kernel.
6131         Reported by Simon Josefsson.
6132
6133 2009-11-04  Bruno Haible  <bruno@clisp.org>
6134
6135         Make num_processors more flexible and consistent.
6136         * lib/nproc.h (enum nproc_query): New type.
6137         (num_processors): Add a 'query' argument.
6138         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
6139         (num_processors): Add a 'query' argument. Test the value of the
6140         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
6141         mingw, count the number of CPUs available for the current process.
6142         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
6143         Check for sched_getaffinity and sched_getaffinity_np.
6144         * modules/nproc (Depends-on): Add c-ctype, extensions.
6145         * NEWS: Mention the change.
6146
6147 2009-11-03  Bruno Haible  <bruno@clisp.org>
6148
6149         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
6150
6151 2009-11-03  Jim Meyering  <meyering@redhat.com>
6152
6153         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
6154         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
6155         if it is defined.
6156
6157 2009-11-02  Eric Blake  <ebb9@byu.net>
6158
6159         mktime, timegm: share common declaration
6160         * lib/mktime-internal.h: New file.
6161         * lib/mktime.c: Use it rather than open-coding a declaration.
6162         * lib/timegm.c: Likewise.
6163         * modules/mktime (Files): Ship it.
6164         * modules/timegm (Files): Likewise.
6165         Suggested by Bruno Haible.
6166
6167         test-update-copyright: update test to match script changes
6168         * tests/test-update-copyright.sh: Avoid hard-coding perl
6169         location.  Don't update *.bak created by earlier runs.
6170
6171 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6172             Simon Josefsson  <simon@josefsson.org>
6173             Bruno Haible  <bruno@clisp.org>
6174
6175         Fix link error on Solaris 8.
6176         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
6177         also in libnsl. Define also INET_PTON_LIB.
6178         * modules/inet_pton (Link): New section.
6179
6180 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6181             Bruno Haible  <bruno@clisp.org>
6182
6183         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
6184         * modules/inet_ntop (Link): New section.
6185         Reported by Boyan Kasarov <bkasarov@gmail.com>.
6186
6187 2009-11-02  Eric Blake  <ebb9@byu.net>
6188
6189         maint: avoid compiler warnings in m4 macros
6190         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
6191         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
6192
6193 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6194
6195         * m4/pmccabe2html.m4: Remove file.
6196         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
6197         function.  Change maintainer.
6198         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
6199         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
6200         Courtès).
6201
6202 2009-10-31  Eric Blake  <ebb9@byu.net>
6203
6204         fseeko: fix m4 regression
6205         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
6206         regression from 2009-10-27.
6207         Reported by Ralf Wildenhues.
6208
6209 2009-10-31  Jim Meyering  <meyering@redhat.com>
6210
6211         inttostr: aesthetics and improved (compile-time) safety
6212         Define inttype_is_signed rather than inttype_is_unsigned,
6213         since the sole use is via "#if inttype_is_signed".
6214         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
6215         inttype_is_unsigned.
6216         * lib/offtostr.c (inttype_is_signed): Likewise.
6217         * lib/uinttostr.c (inttype_is_signed): Likewise.
6218         * lib/umaxtostr.c (inttype_is_signed): Likewise.
6219         * lib/inttostr.c (inttostr): Use verify to cross-check the
6220         inttype_is_signed value and the signedness of the actual type.
6221         * modules/inttostr (Depends-on): Add verify.
6222
6223 2009-10-30  Eric Blake  <ebb9@byu.net>
6224
6225         build: avoid compiler warnings
6226         * lib/fchmodat.c (lchmod): Mark unused variables.
6227         * lib/getopt.c (_getopt_initialize): Likewise.
6228         * lib/mktime.c (__mktime_internal): Provide prototype.
6229         * lib/inttostr.c (inttostr): Avoid compiler warning even with
6230         older gcc that do not understand #pragma GCC diagnostic.
6231         * lib/uinttostr.c (inttype_is_unsigned): Define.
6232         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
6233
6234 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6235
6236         stat: fix compilation on AIX
6237         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
6238         only see struct stat64.
6239
6240 2009-10-30  Eric Blake  <ebb9@byu.net>
6241
6242         exclude: make more robust
6243         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
6244         rather than masking a coding bug.
6245         Suggested by Bruno Haible.
6246
6247 2009-10-30  Jim Meyering  <meyering@redhat.com>
6248
6249         perl scripts: remove #!/usr/bin/perl in favor of more portable...
6250         Rather than putting #!/usr/bin/perl on the first line,
6251         start with a variant of what's recommended by "man perlrun" that
6252         invokes the first "perl" program from your shell's search path.
6253         * build-aux/gitlog-to-changelog: Replace #!... as above.
6254         Add a "Local Variables" perl mode setting.
6255         Prompted by a patch from Ludovic Courtès.
6256         Improved by Eric Blake.
6257         * build-aux/useless-if-before-free: Likewise.
6258         * build-aux/announce-gen: Likewise.
6259         * build-aux/update-copyright: Likewise.
6260
6261 2009-10-29  Eric Blake  <ebb9@byu.net>
6262
6263         filenamecat-lgpl: adjust clients
6264         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
6265         filenamecat.
6266         * modules/renameat (Depends-on): Likewise.
6267
6268         filenamecat: split into filenamecat-lgpl
6269         * modules/filenamecat-lgpl: New module.
6270         * modules/filenamecat (Files): Move library-safe files into
6271         filenamecat-lgpl.
6272         (Depends-on): Add filenamecat-lgpl.
6273         (configure.ac): Declare witness.
6274         * lib/filenamecat.h (file_name_concat): Only declare when using
6275         GPL module.
6276         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
6277         Move...
6278         * lib/filenamecat-lgpl.c: ...into new file.
6279         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
6280         (gl_FILE_NAME_CONCAT): Use it.
6281         * MODULES.html.sh (File system functions): Mention new module.
6282
6283         argp: avoid memory leak
6284         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
6285         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
6286         base_name, since the latter malloc()s and can call exit().
6287         Leak introduced 2006-07-03.
6288
6289         dirname-lgpl: adjust clients that don't need full dirname
6290         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
6291         * modules/filenamecat (Depends-on): Likewise.
6292         * modules/linkat (Depends-on): Likewise.
6293         * modules/mkancesdirs (Depends-on): Likewise.
6294         * modules/mkdir (Depends-on): Likewise.
6295         * modules/openat (Depends-on): Likewise.
6296         * modules/savewd (Depends-on): Likewise.
6297         * modules/rename (Depends-on): Likewise.
6298         (License): Relax license.
6299         * modules/mkdir-tests (Depends-on): Drop progname.
6300         (Makefile.am): Delete unneeded LDADD.
6301         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
6302
6303         dirname: split into dirname-lgpl
6304         * modules/dirname-lgpl: New module.
6305         * modules/dirname (Files): Move library-safe files into
6306         dirname-lgpl.
6307         (Depends-on): Add dirname-lgpl.
6308         (configure.ac): Declare witness.
6309         * modules/double-slash-root (License): Relax license.
6310         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
6311         module.
6312         * lib/dirname.c (dir_len, mdir_name): Move...
6313         * lib/dirname-lgpl.c: ...into new file.
6314         * lib/basename.c (last_component, base_len): Move...
6315         * lib/basename-lgpl.c: ...into new file.
6316         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
6317         (gl_DIRNAME): Use it.
6318         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
6319         Mention new module.
6320         * modules/dirname-tests (Depends-on): Add progname.
6321         * tests/test-dirname.c (program_name): Delete.
6322
6323         mkdir: make safe for libraries
6324         * modules/mkdir (Depends-on): Drop xalloc.
6325         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
6326         exit.
6327
6328         tests: avoid some compiler warnings
6329         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
6330         literals.
6331         * tests/test-memchr.c (main): Avoid type mismatch.
6332         * tests/test-arpa_inet.c (main): Avoid unused parameters.
6333         * tests/test-base64.c (main): Likewise.
6334         * tests/test-getdelim.c (main): Likewise.
6335         * tests/test-gethostname.c (main): Likewise.
6336         * tests/test-getline.c (main): Likewise.
6337         * tests/test-netinet_in.c (main): Likewise.
6338         * tests/test-select.c (open_server_socket, main): Likewise.
6339         * tests/test-select-stdin.c (main): Likewise.
6340         * tests/test-sockets.c (main): Likewise.
6341         * tests/test-strsignal.c (main): Likewise.
6342         * tests/test-sys_select.c (main): Likewise.
6343         * tests/test-sys_socket.c (main): Likewise.
6344         * tests/test-u64.c (main): Likewise.
6345         * tests/test-xfprintf-posix.c (main): Likewise.
6346         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
6347
6348         sockets: avoid compiler warning
6349         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
6350
6351         maint: detect usage(1) and other suspicious exits
6352         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
6353
6354 2009-10-29  Jim Meyering  <meyering@redhat.com>
6355
6356         timespec: long-to-int truncation could make timespec_cmp malfunction
6357         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
6358         a multiple of 2^32 nanoseconds as no difference.
6359
6360 2009-10-28  Jim Meyering  <meyering@redhat.com>
6361
6362         fprintftime: wrap macro code argument in "do {...} while(0)"
6363         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
6364         cpy macro must be a statement that can be followed by a semicolon.
6365         Now that the else clause contains a comment and is hence longer
6366         than one line, I require curly braces.  That in turn requires
6367         that we wrap this code block in the standard do...while(0).
6368
6369         fprintftime: remove stray semicolon from previous change
6370         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
6371
6372         fprintftime: avoid a warning about ignored fwrite return value
6373         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
6374         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
6375         that is unsafe.
6376         * modules/fprintftime (Depends-on): Add ignore-value.
6377
6378         exclude: avoid an unwarranted warning
6379         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
6380
6381 2009-10-27  Eric Blake  <ebb9@byu.net>
6382
6383         fseek: avoid compilation failure when fflush is replaced
6384         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
6385         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
6386         module is in use.
6387         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
6388         module is not in use; since REPLACE_FSEEK worked otherwise.
6389         (GNULIB_FTELLO): Likewise for ftell.
6390         Reported by Ian Beckwith and others.
6391
6392 2009-10-27  Bruno Haible  <bruno@clisp.org>
6393
6394         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
6395         Reported by Jim Meyering.
6396
6397 2009-10-27  Jim Meyering  <jim@meyering.net>
6398             Bruno Haible  <bruno@clisp.org>
6399
6400         Avoid warning despite dropping the return value of fwrite.
6401         * lib/unicodeio.c: Include ignore-value.h.
6402         (fwrite_success_callback): Explicitly ignore fwrite's return value.
6403         * modules/unicodeio (Depends-on): Add ignore-value.
6404
6405 2009-10-26  Eric Blake  <ebb9@byu.net>
6406
6407         areadlinkat: fix fallback path
6408         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
6409         pointer and zero.
6410
6411 2009-10-22  Pádraig Brady  <P@draigBrady.com>
6412
6413         Use a better IO block size for modern systems
6414         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
6415         * lib/md2.c: Likewise.
6416         * lib/md4.c: Likewise.
6417         * lib/md5.c: Likewise.
6418         * lib/sha1.c: Likewise.
6419         * lib/sha256.c: Likewise.
6420         * lib/sha512.c: Likewise.
6421
6422 2009-10-22  Eric Blake  <ebb9@byu.net>
6423
6424         tests: avoid several compiler warnings
6425         * tests/test-getcwd.c (main): Avoid buffer underflow.
6426         * tests/test-getdate.c (main): String literals are not safe with
6427         putenv, so use setenv.  Declare unused argument.
6428         * modules/getdate-tests (Depends-on): Add setenv.
6429         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
6430         problems with string literals in char *.
6431         * tests/test-hash.c (main): Avoid shadowing declaration.
6432         (insert_new): Treat string literals as char const *.
6433         * tests/test-getopt.h (test_getopt): Likewise.
6434         (getopt_loop): Alter types to minimize casting elsewhere.
6435         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
6436         (test_getopt_long_posix): Likewise.
6437         (do_getopt_long): Add wrapper to minimize casting.
6438         * tests/test-atexit.c (clear_temp_file): Use void.
6439         * tests/test-areadlink-with-size.c (main): Declare unused
6440         arguments.
6441         * tests/test-areadlink.c (main): Likewise.
6442         * tests/test-areadlinkat-with-size.c (main): Likewise.
6443         * tests/test-areadlinkat.c (main): Likewise.
6444         * tests/test-canonicalize-lgpl.c (main): Likewise.
6445         * tests/test-canonicalize.c (main): Likewise.
6446         * tests/test-dirent-safer.c (main): Likewise.
6447         * tests/test-dirname.c (main): Likewise.
6448         * tests/test-dup2.c (main): Likewise.
6449         * tests/test-fchdir.c (main): Likewise.
6450         * tests/test-fcntl-h.c (main): Likewise.
6451         * tests/test-fcntl-safer.c (main): Likewise.
6452         * tests/test-fdopendir.c (main): Likewise.
6453         * tests/test-fdutimensat.c (main): Likewise.
6454         * tests/test-fflush.c (main): Likewise.
6455         * tests/test-filenamecat.c (main): Likewise.
6456         * tests/test-filevercmp.c (main): Likewise.
6457         * tests/test-fopen-safer.c (main): Likewise.
6458         * tests/test-fopen.c (main): Likewise.
6459         * tests/test-fpending.c (main): Likewise.
6460         * tests/test-fpurge.c (main): Likewise.
6461         * tests/test-freading.c (main): Likewise.
6462         * tests/test-fstatat.c (main): Likewise.
6463         * tests/test-fsync.c (main): Likewise.
6464         * tests/test-futimens.c (main): Likewise.
6465         * tests/test-getndelim2.c (main): Likewise.
6466         * tests/test-gettimeofday.c (main): Likewise.
6467         * tests/test-getopt.c (main): Likewise.
6468         * tests/test-i-ring.c (main): Likewise.
6469         * tests/test-inttypes.c (main): Likewise.
6470         * tests/test-link.c (main): Likewise.
6471         * tests/test-lstat.c (main): Likewise.
6472         * tests/test-math.c (main): Likewise.
6473         * tests/test-md5.c (main): Likewise.
6474         * tests/test-memchr2.c (main): Likewise.
6475         * tests/test-memrchr.c (main): Likewise.
6476         * tests/test-mkdir.c (main): Likewise.
6477         * tests/test-mkdirat.c (main): Likewise.
6478         * tests/test-mkfifoat.c (main): Likewise.
6479         * tests/test-open.c (main): Likewise.
6480         * tests/test-openat-safer.c (main): Likewise.
6481         * tests/test-openat.c (main): Likewise.
6482         * tests/test-quotearg.c (main): Likewise.
6483         * tests/test-rawmemchr.c (main): Likewise.
6484         * tests/test-readlink.c (main): Likewise.
6485         * tests/test-remove.c (main): Likewise.
6486         * tests/test-rename.c (main): Likewise.
6487         * tests/test-renameat.c (main): Likewise.
6488         * tests/test-rmdir.c (main): Likewise.
6489         * tests/test-sha1.c (main): Likewise.
6490         * tests/test-signal.c (main): Likewise.
6491         * tests/test-sigaction.c (main): Likewise.
6492         * tests/test-stat.c (main): Likewise.
6493         * tests/test-stat-time.c (main): Likewise.
6494         * tests/test-stddef.c (main): Likewise.
6495         * tests/test-stdint.c (main): Likewise.
6496         * tests/test-stdio.c (main): Likewise.
6497         * tests/test-stdlib.c (main): Likewise.
6498         * tests/test-strchrnul.c (main): Likewise.
6499         * tests/test-strerror.c (main): Likewise.
6500         * tests/test-string.c (main): Likewise.
6501         * tests/test-strtod.c (main): Likewise.
6502         * tests/test-strverscmp.c (main): Likewise.
6503         * tests/test-symlink.c (main): Likewise.
6504         * tests/test-symlinkat.c (main): Likewise.
6505         * tests/test-sys_stat.c (main): Likewise.
6506         * tests/test-sys_time.c (main): Likewise.
6507         * tests/test-time.c (main): Likewise.
6508         * tests/test-unistd.c (main): Likewise.
6509         * tests/test-unlink.c (main): Likewise.
6510         * tests/test-unlinkat.c (main): Likewise.
6511         * tests/test-utimens.c (main): Likewise.
6512         * tests/test-utimensat.c (main): Likewise.
6513         * tests/test-version-etc.c (main): Likewise.
6514         * tests/test-wchar.c (main): Likewise.
6515         * tests/test-wctype.c (main): Likewise.
6516         * tests/test-xprintf-posix.c (main): Likewise.
6517         * tests/test-posixtm.c (main): Likewise.
6518         (STREQ): Delete unused macro.
6519         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
6520         shadowed variables.
6521         * tests/test-memchr.c (main): Likewise.
6522
6523 2009-10-21  Eric Blake  <ebb9@byu.net>
6524
6525         areadlinkat: avoid failure on older glibc
6526         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
6527         rather than mis-comparing 0 against FUNC_RESULT of char*.
6528
6529 2009-10-21  Bruno Haible  <bruno@clisp.org>
6530
6531         * modules/stpncpy (License): Relicense under LGPLv2+.
6532         Reported by David Lutterkort <lutter@redhat.com>.
6533
6534 2009-10-20  Eric Blake  <ebb9@byu.net>
6535
6536         utimensat: work around Solaris 9 bug
6537         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
6538         has trailing slash bugs.
6539         * tests/test-lutimens.h (test_lutimens): Enhance test.
6540         * tests/test-utimens.h (test_utimens): Likewise.
6541         * doc/posix-functions/utime.texi (utime): Enhance documentation.
6542         * doc/posix-functions/utimes.texi (utimes): Likewise.
6543         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6544         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
6545         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
6546         * doc/posix-functions/futimens.texi (futimens): Likewise.
6547
6548         fdutimensat: new module
6549         * modules/fdutimensat: New file.
6550         * lib/fdutimensat.c (fdutimensat): Likewise.
6551         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
6552         * MODULES.html.sh (File system functions): Mention module.
6553         * modules/fdutimensat-tests: New test.
6554         * tests/test-fdutimensat.c: Likewise.
6555
6556         doc: regenerate INSTALL
6557         * doc/INSTALL: Reflect recent autoconf update.
6558         * doc/INSTALL.ISO: Likewise.
6559         * doc/INSTALL.UTF-8: Likewise.
6560
6561 2009-10-20  Pádraig Brady  <P@draigBrady.com>
6562
6563         acl: warn if ACL support is not detected
6564         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
6565
6566 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
6567
6568         * lib/nproc.h: Add extern "C" block for C++.
6569
6570 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
6571             Bruno Haible  <bruno@clisp.org>
6572
6573         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
6574         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
6575         * doc/posix-functions/isalpha.texi: Likewise.
6576         * doc/posix-functions/isblank.texi: Likewise.
6577         * doc/posix-functions/iscntrl.texi: Likewise.
6578         * doc/posix-functions/isdigit.texi: Likewise.
6579         * doc/posix-functions/isgraph.texi: Likewise.
6580         * doc/posix-functions/islower.texi: Likewise.
6581         * doc/posix-functions/isprint.texi: Likewise.
6582         * doc/posix-functions/ispunct.texi: Likewise.
6583         * doc/posix-functions/isspace.texi: Likewise.
6584         * doc/posix-functions/isupper.texi: Likewise.
6585         * doc/posix-functions/isxdigit.texi: Likewise.
6586
6587 2009-10-18  Bruno Haible  <bruno@clisp.org>
6588
6589         Tests for module 'isblank'.
6590         * modules/isblank-tests: New file.
6591         * tests/test-isblank.c: New file.
6592
6593         New module 'isblank'.
6594         * lib/isblank.c: New file.
6595         * m4/isblank.m4: New file.
6596         * modules/isblank: New file.
6597         * doc/posix-functions/isblank.texi: Mention the new module.
6598
6599 2009-10-18  Bruno Haible  <bruno@clisp.org>
6600
6601         New module 'ctype'.
6602         * lib/ctype.in.h: New file.
6603         * m4/ctype.m4: New file.
6604         * modules/ctype: New file.
6605         * doc/posix-headers/ctype.texi: Mention the new module.
6606
6607 2009-10-18  Jim Meyering  <meyering@redhat.com>
6608
6609         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
6610         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
6611         right after its initialization, rather than farther down.
6612         Keeping these in close proximity makes it easier to ensure
6613         that each such variable is initialized.  E.g.,
6614
6615             LIB_CLOCK_GETTIME=
6616             AC_SUBST([LIB_CLOCK_GETTIME])
6617
6618         This change also increments these serial numbers.
6619         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
6620         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
6621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6622
6623 2009-10-18  Bruno Haible  <bruno@clisp.org>
6624
6625         Don't let environment variables perturb build.
6626         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
6627         (gl_PREREQ_GETHRXTIME): ... not here.
6628
6629 2009-10-18  Bruno Haible  <bruno@clisp.org>
6630
6631         Avoid symlink attack in localcharset module.
6632         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
6633         (O_NOFOLLOW): Define fallback.
6634         (get_charset_aliases): Don't open the file if it is a symbolic link.
6635         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
6636         gl_FCNTL_H.
6637         (gl_FCNTL_H): Require it.
6638         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
6639         * modules/localcharset (Files): Add m4/fcntl_h.m4.
6640         Reported by Fergal Glynn <fglynn@veracode.com>.
6641
6642 2009-10-18  Bruno Haible  <bruno@clisp.org>
6643
6644         Implement nproc for mingw.
6645         * lib/nproc.c: Include <windows.h>
6646         (num_processors): On native Windows platforms, try GetSystemInfo.
6647
6648 2009-10-18  Bruno Haible  <bruno@clisp.org>
6649
6650         Implement nproc for IRIX.
6651         * lib/nproc.c: Include <sys/sysmp.h>.
6652         (num_processors): On IRIX systems, try sysmp.
6653         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
6654
6655 2009-10-18  Bruno Haible  <bruno@clisp.org>
6656
6657         Implement nproc for HP-UX.
6658         * lib/nproc.c: Include <sys/pstat.h>
6659         (num_processors): On HP-UX systems, try pstat_getdynamic.
6660         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
6661         pstat_getdynamic.
6662
6663 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
6664             Bruno Haible  <bruno@clisp.org>
6665
6666         Implement nproc for NetBSD, OpenBSD.
6667         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
6668         (ARRAY_SIZE): New macro.
6669         (num_processors): On BSD systems, try sysctl of HW_NCPU.
6670         * m4/nproc.m4: New file.
6671         * modules/nproc (Files): Add m4/nproc.m4.
6672         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
6673         (Makefile.am): Instead, augment lib_SOURCES.
6674
6675 2009-10-18  Bruno Haible  <bruno@clisp.org>
6676
6677         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
6678         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
6679         sys/param.h.
6680
6681 2009-10-16  Eric Blake  <ebb9@byu.net>
6682
6683         utimensat: new module
6684         * modules/utimensat: New file.
6685         * lib/utimensat.c (utimensat): Likewise.
6686         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6687         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
6688         so we can work around Linux bugs.
6689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6690         * modules/sys_stat (Makefile.am): Substitute them.
6691         * lib/sys_stat.in.h (utimensat): Declare it.
6692         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6693         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6694         * modules/utimensat-tests: New test.
6695         * tests/test-utimensat.c: Likewise.
6696
6697         utimens: let lutimens work on non-symlinks
6698         * lib/utimens.c (lutimens): Fall back to utimens rather than
6699         failing with ENOSYS, when file is not a symlink.
6700         (utimens): Reduce redirection.
6701         * tests/test-lutimens.h (test_lutimens): Update test to cover
6702         non-symlinks.
6703         * tests/test-utimens.h (test_utimens): Update test to cover
6704         symlinks.
6705         * tests/test-utimens.c (main): Update caller.
6706
6707         utimens: cache whether utimensat syscall works
6708         * lib/utimens.c (utimensat_works_really): New cache variable.
6709         (fdutimens, lutimens): Use it to avoid failing syscall.
6710
6711         test-stat-time, test-utimens: improve portability
6712         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
6713         ext4 on alpha, and for cygwin.
6714         * tests/test-utimens-common.h: New file.
6715         (nap): Factor delays into single function.
6716         * tests/test-lutimens.h (test_lutimens): Use new header.
6717         * tests/test-futimens.h (test_futimens): Likewise.
6718         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
6719         timestamps to occur from same machine, as was done previously for
6720         test_utimens.
6721         * modules/utimens-tests (Files): Ship new file.
6722         * modules/futimens-tests (Files): Likewise.
6723         Reported in part by Jim Meyering.
6724
6725         sys_stat: sort replacement declarations
6726         * lib/sys_stat.in.h: Sort declarations.
6727         * lib/futimens.c (futimens): Fix typo.
6728
6729 2009-10-15  Jim Meyering  <meyering@redhat.com>
6730
6731         don't let environment settings perturb build
6732         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
6733         could cause a configure-time and/or build-time malfunction.
6734         Typically, a configure-time function-in-library test is performed
6735         via code like this:
6736
6737           LIB_VAR=
6738           AC_SUBST([LIB_VAR])
6739           prefix_saved_LIBS=$LIBS
6740             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
6741                        [test "$ac_cv_search_FUNC" = "none required" ||
6742                         LIB_VAR=$ac_cv_search_FUNC])
6743           LIBS=$prefix_saved_LIBS
6744
6745         However, in each of the files affected by this change, the LIB_VAR=
6746         initialization was omitted.  Thus, when set in the environment, its
6747         value would propagate into generated Makefiles when FUNC is not found
6748         in LIB_NAME.
6749         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
6750         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
6751         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6752
6753 2009-10-14  Eric Blake  <ebb9@byu.net>
6754
6755         fchdir: avoid infinite recursion in mingw
6756         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
6757         recursing.
6758
6759         test-stat-time: port to mingw
6760         * tests/test-stat-time.c (force_unlink): Return a value.
6761         (test_ctime) [W32]: Fix compilation error.
6762         (nap): Don't call usleep with too large an argument.  Use
6763         force_unlink.
6764         * doc/pastposix-functions/usleep.texi (usleep): Document the
6765         portability issue.
6766
6767 2009-10-13  Jim Meyering  <meyering@redhat.com>
6768
6769         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
6770         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
6771         * modules/pipe-filter-ii: Likewise.
6772         * modules/sys_socket-tests: Likewise.
6773         * modules/tsearch-tests: Likewise.
6774         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
6775         (check): Depend on it.
6776
6777 2009-10-12  Eric Blake  <ebb9@byu.net>
6778
6779         utimens-tests: port to NFS file systems
6780         * tests/test-utimens.h (test_utimens): Refactor utimecmp
6781         comparisons to avoid spurious failures from timestamp drift
6782         between NFS machines.
6783
6784 2009-10-12  Eric Blake  <ebb9@byu.net>
6785
6786         stat-time-tests: minor cleanups
6787         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
6788         * tests/test-stat-time.c (nap): Separate assignment from call.
6789         Suggested by Paolo Bonzini and Bruno Haible.
6790
6791         sys_stat: guarantee struct timespec
6792         * lib/sys_stat.in.h (includes): Always include <time.h>
6793         * modules/sys_stat (Depends-on): Add time.
6794         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
6795         mode_t permission values.
6796         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
6797         get at subsecond timestamps.
6798
6799 2009-10-10  Eric Blake  <ebb9@byu.net>
6800
6801         futimens: new module
6802         * modules/futimens: New file.
6803         * lib/futimens.c (futimens): Likewise.
6804         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
6805         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
6806         we can work around Linux bugs.
6807         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6808         * modules/sys_stat (Makefile.am): Substitute them.
6809         * lib/sys_stat.in.h (futimens): Declare it.
6810         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6811         * doc/posix-functions/futimens.texi (futimens): Likewise.
6812         * modules/futimens-tests: New test.
6813         * tests/test-futimens.c: Likewise.
6814
6815         utimens: introduce fdutimens
6816         * lib/utimens.h (fdutimens): New prototype.
6817         * lib/utimens.c (gl_futimens): Move guts...
6818         (fdutimens): ...to new interface.
6819         * tests/test-utimens.c (do_fdutimens): Use it.
6820
6821         utimens: add UTIME_NOW and UTIME_OMIT support
6822         * lib/utimens.c (validate_timespec, update_timespec): New helper
6823         functions.
6824         (gl_futimens, lutimens): Use them.
6825         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
6826         stdbool, sys_stat.
6827         (Link): Mention resulting library dependency.
6828         * modules/utimecmp (Link): Likewise.
6829         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
6830         (Makefile.am): Pick up library dependency.
6831         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
6832         definition.
6833         * tests/test-sys_stat.c: Test the definitions.
6834         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
6835         * NEWS: Document library dependency.
6836
6837         utimecmp: support symlink timestamps
6838         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
6839         hashing when possible.  Use pathconf when available.
6840         (SYSCALL_RESOLUTION): Recognize tighter resolution.
6841         * modules/utimecmp (Depends-on): Add lstat.
6842
6843         utimens: add lutimens interface
6844         * lib/utimens.c (lutimens): New function.
6845         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
6846         * lib/utimens.h (lutimens): Declare new interface.
6847         * tests/test-utimens.c (main): Enhance test.
6848         * tests/test-lutimens.h (test_lutimens): New file.
6849         * modules/utimens-tests (Files): Distribute it.
6850         (Depends-on): Add symlink.
6851         (configure.ac): Check for usleep.
6852
6853         utimens: validate futimens usage
6854         * lib/utimens.c (gl_futimens): Require valid fd up front, using
6855         fewer syscalls on failure later on.  Avoid compiler warning on
6856         mingw.
6857         * modules/utimens (Depends-on): Add dup2.
6858
6859         utimens: add test
6860         * modules/utimens-tests: New test.
6861         * tests/test-utimens.h: New file.
6862         * tests/test-futimens.h: Likewise.
6863         * tests/test-utimens.c: Likewise.
6864
6865         doc: mention timestamp portability issues
6866         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
6867         instead.
6868         * doc/posix-functions/utime.texi (utime): Likewise.
6869         * doc/posix-functions/utimes.texi (utimes): Likewise.
6870         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
6871         instead.
6872         * doc/posix-functions/futimens.texi (futimens): Mention utimens
6873         module.
6874         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6875         Mention weakness with symlink timestamps.
6876         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
6877         to utimensat/futimens instead.
6878         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
6879
6880         test-dup2: enhance test
6881         * tests/test-dup2.c (main): Also check AT_FDCWD.
6882
6883         test-stat-time: avoid more spurious failures
6884         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
6885         xfs; and avoid race if the two timestamps cross quantization edge.
6886
6887         relocatable: prefer 'file system' over 'filesystem'
6888         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
6889         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
6890         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
6891         * doc/relocatable.texi (Enabling Relocatability): Likewise.
6892         * lib/relocatable.c (compute_curr_prefix): Likewise.
6893
6894 2009-10-10  Jim Meyering  <meyering@redhat.com>
6895
6896         stat-time-tests: check for the usleep function
6897         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
6898
6899 2009-10-10  Bruno Haible  <bruno@clisp.org>
6900
6901         * modules/xnanosleep: Put the Link section after the Include section.
6902
6903 2009-10-09  Eric Blake  <ebb9@byu.net>
6904
6905         dup2: work around FreeBSD 6.1 bug
6906         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
6907         * doc/posix-functions/dup2.texi (dup2): Document it.
6908         Reported by Nelson H. F. Beebe and Jim Meyering.
6909
6910         test-stat-time: port to buggy NFS clients
6911         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
6912         (test_ctime): Also skip test if mtime and ctime are skewed.
6913
6914         maint: prefer 'file system' over 'filesystem'
6915         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
6916         * doc/posix-functions/lstat.texi (lstat): Likewise.
6917         * lib/file-has-acl.c (file_has_acl): Likewise.
6918         * lib/fwriteerror.c [TEST]: Likewise.
6919         * tests/test-areadlink.h (test_areadlink): Likewise.
6920         * tests/test-areadlinkat-with-size.c (main): Likewise.
6921         * tests/test-areadlinkat.c (main): Likewise.
6922         * tests/test-canonicalize-lgpl.c (main): Likewise.
6923         * tests/test-canonicalize.c (main): Likewise.
6924         * tests/test-fstatat.c (main): Likewise.
6925         * tests/test-linkat.c (main): Likewise.
6926         * tests/test-lstat.h (test_lstat_func): Likewise.
6927         * tests/test-mkdir.h (test_mkdir): Likewise.
6928         * tests/test-readlink.h (test_readlink): Likewise.
6929         * tests/test-remove.c (main): Likewise.
6930         * tests/test-rename.h (test_rename): Likewise.
6931         * tests/test-renameat.c (main): Likewise.
6932         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6933         * tests/test-symlink.h (test_symlink): Likewise.
6934         * tests/test-symlinkat.c (main): Likewise.
6935         * tests/test-unlink.h (test_unlink_func): Likewise.
6936         * tests/test-unlinkat.c (main): Likewise.
6937
6938         maint: make realtime library usage explicit
6939         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
6940         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
6941         * modules/settime (Link): Likewise.
6942         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
6943
6944         test-stat-time: speed up execution
6945         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
6946         warning on mingw.
6947         (nap): New helper function.
6948         (prepare_test): Use it to reduce sleep time.
6949         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
6950         execution.
6951         * modules/stat-time-tests (configure.ac): Check for usleep.
6952
6953 2009-10-09  Jim Meyering  <meyering@redhat.com>
6954
6955         selinux-h: always use getfilecon wrappers
6956         * lib/getfilecon.c: New file.
6957         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
6958         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
6959         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
6960         (fgetfilecon): Provide a stub.
6961         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
6962         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
6963         file unconditionally.
6964         When <selinux/selinux.h> is found, arrange to use wrappers.
6965         * modules/selinux-h (Files): Add getfilecon.c.
6966         (Makefile.am): Substitute include-next-related bits
6967         into the now-always-generated selinux/selinux.h file.
6968         * doc/glibc-functions/lgetfilecon.texi: New file.
6969         * doc/glibc-functions/fgetfilecon.texi: New file.
6970         * doc/glibc-functions/getfilecon.texi: New file.
6971         * doc/glibc-functions/getfilecon-desc.texi: New file.
6972         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
6973         which to pull in the new files.
6974         * MODULES.html.sh (Misc): Add selinux-h.
6975
6976 2009-10-08  Jim Meyering  <meyering@redhat.com>
6977
6978         unistd: fix comment typo
6979         * lib/unistd.in.h (euidaccess): Fix a comment typo.
6980
6981 2009-10-08  Eric Blake  <ebb9@byu.net>
6982
6983         areadlink: use SIZE_MAX consistently
6984         * modules/areadlink (Depends-on): Add stdint.
6985         * modules/areadlink-with-size (Depends-on): Likewise.
6986         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
6987         gives NULL; drop sys/types, since unistd gives size_t; and add
6988         stdint for SIZE_MAX.
6989         (SIZE_MAX): Rely on headers.
6990         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
6991         and add stdint.
6992         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
6993         (SIZE_MAX): Likewise.
6994         (INITIAL_BUF_SIZE): Turn into enum.
6995         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
6996
6997 2009-10-08  Jim Meyering  <meyering@redhat.com>
6998
6999         areadlinkat: avoid compilation failure
7000         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
7001         Fix typo in comment.
7002
7003 2009-10-07  Eric Blake  <ebb9@byu.net>
7004
7005         areadlinkat-with-size: new module
7006         * modules/areadlinkat-with-size: New module.
7007         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
7008         * lib/areadlink.h (areadlinkat): Declare it.
7009         * MODULES.html.sh (File system functions): Mention it.
7010         * modules/areadlinkat-with-size-tests: New test.
7011         * tests/test-areadlinkat-with-size.c: New file.
7012
7013         xreadlinkat: new module
7014         * modules/xreadlinkat: New module.
7015         * lib/xreadlinkat.c (xreadlinkat): New file.
7016         * lib/xreadlink.h (xreadlinkat): Declare it.
7017         * MODULES.html.sh (File system functions): Mention it.
7018
7019         areadlinkat: new module
7020         * lib/at-func.c (FUNC_FAIL): New define.
7021         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
7022         * modules/areadlinkat: New module.
7023         * lib/linkat.c (areadlinkat): Move...
7024         * lib/areadlinkat.c (areadlinkat): ...to new file.
7025         * lib/areadlink.h (areadlinkat): Declare it.
7026         * modules/linkat (Depends-on): Add areadlinkat.
7027         * MODULES.html.sh (File system functions): Mention it.
7028         * modules/areadlinkat-tests: New test.
7029         * tests/test-areadlinkat.c: New file.
7030
7031         areadlink, areadlink-with-size: add tests
7032         * modules/areadlink-tests: New test.
7033         * modules/areadlink-with-size-tests: Likewise.
7034         * tests/test-areadlink.h: New file.
7035         * tests/test-areadlink.c: Likewise.
7036         * tests/test-areadlink-with-size.c: Likewise.
7037
7038         maint: minor cleanups
7039         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
7040         _UNUSED_PARAMETER_ instead.
7041         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
7042         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
7043         * modules/linkat-tests (Files): Distribute test-link.h.
7044
7045         openat, utimens: whitespace cleanup
7046         * lib/openat.c: Prefer space throughout, rather than mix of 8
7047         spaces vs. tabs.
7048         * lib/at-func.c: Likewise.
7049         * lib/utimens.c: Likewise.
7050
7051         openat: avoid using wrong fd
7052         * lib/openat.c (openat_permissive): Reject user's fd if saving the
7053         working directory chooses same fd.
7054         * lib/at-func.c (AT_FUNC_NAME): Likewise.
7055
7056         mkdir, mkdirat: fix cygwin 1.5.x bug
7057         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
7058         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
7059         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
7060         bug.
7061         (gl_PREREQ_MKDIR): Delete unused macro.
7062         * modules/mkdir (Files): Track file rename.
7063         (configure.ac): Update macro name.
7064         * modules/openat (Depends-on): Add mkdir.
7065         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
7066
7067         mkdir, mkdirat: add tests
7068         * modules/mkdir-tests: New test.
7069         * tests/test-mkdir.h: New file.
7070         * tests/test-mkdir.c: Likewise.
7071         * tests/test-mkdirat.c: Likewise.
7072         * modules/openat-tests (Files): Add new files.
7073         (Makefile.am): Run new test.
7074
7075 2009-10-06  Eric Blake  <ebb9@byu.net>
7076
7077         doc: tweak *at function documentation
7078         * doc/posix-functions/faccessat.texi (faccessat): Mention
7079         known issue with replacement.
7080         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
7081         * doc/posix-functions/linkat.texi (linkat): Likewise.
7082         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7083         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7084         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7085         * doc/posix-functions/renameat.texi (renameat): Likewise.
7086         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7087
7088         openat: fix GNU/Hurd bug in unlinkat
7089         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
7090         broken.
7091         * doc/posix-functions/unlink.texi (unlink): Document this.
7092         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
7093
7094         fdopendir: fix GNU/Hurd bug
7095         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
7096         allowing non-directory fds.
7097         * lib/fdopendir.c (rpl_fdopendir): Work around it.
7098         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
7099         * modules/dirent (Makefile.am): Substitute it.
7100         * lib/dirent.in.h (fdopendir): Declare replacement.
7101         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
7102         * tests/test-fdopendir.c (main): Test something other than
7103         /dev/null, since on Hurd that behaves like a directory.
7104
7105         test-symlink: port to GNU/Hurd
7106         * tests/test-symlink.h (test_symlink): Relax expected errno.
7107
7108         doc: tweak more cygwin information
7109         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
7110         now compatible with glibc.
7111         * doc/posix-functions/getopt.texi (getopt): Likewise.
7112
7113         getopt-gnu: add another test
7114         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
7115         guarantee behavior relied on by m4.
7116         * tests/test-getopt.c (main): Use it.
7117         * modules/getopt-posix-tests (Depends-on): Add setenv.
7118         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
7119
7120         getopt: fix compilation on darwin
7121         * lib/getopt.in.h (includes): Leave breadcrumbs during system
7122         include.
7123         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
7124         Reported by Ludovic Courtès.
7125
7126 2009-10-06  Bruno Haible  <bruno@clisp.org>
7127
7128         * modules/size_max (Description): Discourage its use.
7129         Reported by Simon Josefsson.
7130
7131 2009-10-06  Jim Meyering  <meyering@redhat.com>
7132
7133         linkat: avoid compilation failure
7134         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
7135
7136 2009-10-05  Eric Blake  <ebb9@byu.net>
7137
7138         linkat: support Linux 2.6.17
7139         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
7140         linkat on Linux, but allow cache variable override.
7141         * lib/linkat.c (rpl_linkat): Define override.
7142         * modules/linkat (Depends-on): Add symlinkat.
7143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
7144         * modules/unistd (Makefile.am): Substitute it.
7145         * lib/unistd.in.h (linkat): Declare replacement.
7146         Reported by Pádraig Brady.
7147
7148         quotearg: port test to systems with C.UTF-8 locale
7149         * tests/test-quotearg.c (struct result_strings): Add another
7150         member, differentiating between C.ASCII and C.UTF-8 handling.
7151         (compare_strings): Add parameter.
7152         (main): Adjust all callers.
7153
7154         getopt: avoid clash with FreeBSD _getopt_internal
7155         * lib/getopt.in.h (_getopt_internal): Override the name.
7156         * lib/getopt_int.h (includes): Pick up any overrides.
7157         Reported by Reuben Thomas.
7158
7159         hash: allow C89 compilation
7160         * lib/hash.c (check_tuning): Move declaration before statement.
7161         Reported by Reuben Thomas.
7162
7163 2009-10-05  Karl Berry  <karl@gnu.org>
7164
7165         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
7166
7167 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
7168             Bruno Haible  <bruno@clisp.org>
7169
7170         * lib/uname.c (uname): Use a table-driven algorithm to compute
7171         Windows NT versions.
7172
7173 2009-10-04  Bruno Haible  <bruno@clisp.org>
7174
7175         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
7176         program_invocation_short_name.
7177         * modules/progname (configure.ac): Test for presence of
7178         program_invocation_short_name.
7179         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7180
7181 2009-10-04  Bruno Haible  <bruno@clisp.org>
7182
7183         * lib/progname.c (set_program_name): Fix comment.
7184         Reported by Jim Meyering.
7185
7186 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7187             Bruno Haible  <bruno@clisp.org>
7188
7189         * lib/uname.c: Include <string.h>.
7190         (uname): Do only one call to GetVersionEx in the common case.
7191
7192 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7193             Bruno Haible  <bruno@clisp.org>
7194
7195         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
7196         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
7197         (uname): Add support for Windows CE and various non-x86 CPU types.
7198
7199 2009-10-03  Bruno Haible  <bruno@clisp.org>
7200
7201         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
7202         invocation to tests/configure.ac.
7203         Reported by Ian Beckwith <ianb@erislabs.net>.
7204
7205 2009-10-02  Eric Blake  <ebb9@byu.net>
7206
7207         fchdir: avoid compiler warning
7208         * lib/fchdir.c (canonicalize_file_name)
7209         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
7210
7211         test-open: support mingw errno values
7212         * tests/test-open.h (test_open): Relax test.
7213         * tests/test-fopen.h (test_fopen): Likewise.
7214         * tests/test-openat-safer.c (main): Likewise.
7215
7216         open: fix opening directory on mingw
7217         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
7218
7219         test-open: on GNU/Hurd, /dev/null is a directory
7220         * tests/test-fopen.h (main): Rename...
7221         (test_fopen): ...to this.  Use a guaranteed non-directory when
7222         confirming open behavior on trailing slash.
7223         * tests/test-openat-safer.c (main): Likewise.
7224         * tests/test-open.h (main): Likewise....
7225         (test_open): ...to this.
7226         * tests/test-fopen.c (main): Adjust caller.
7227         * tests/test-fopen-safer.c (main): Likewise.
7228         * tests/test-open.c (main): Likewise.
7229         * tests/test-fcntl-safer.c (main): Likewise.
7230         Reported by Samuel Thibault.
7231
7232         rename, fchdir: don't ignore chdir failure
7233         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
7234         * lib/rename.c (rpl_rename) [W32]: Likewise.
7235         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
7236         an empty destination directory if source cannot be renamed,
7237         although there is still possibility for failure.
7238         * doc/posix-functions/rename.texi (rename): Document the race.
7239         Reported by Jim Meyering.
7240
7241         maint: cleanup whitespace in recent commits
7242         * lib/rename.c (rpl_rename): Remove tabs.
7243         * tests/test-link.h (test_link): Likewise.
7244         * lib/fchdir.c (get_name): Likewise.
7245         Reported by Jim Meyering.
7246
7247 2009-10-02  Ben Pfaff  <blp@gnu.org>
7248
7249         relocatable-prog-wrapper: Add missing dependency on
7250         double-slash-root.
7251         * modules/relocatable-prog-wrapper: Add dependency.
7252         Reported by Ian Beckwith <ianb@erislabs.net>.
7253
7254 2009-10-02  Eric Blake  <ebb9@byu.net>
7255
7256         renameat: fix Solaris bugs
7257         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
7258         needed fixing.
7259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
7260         * modules/stdio (Makefile.am): Substitute it.
7261         * lib/stdio.in.h (renameat): Declare replacement.
7262         * lib/renameat.c (rpl_renameat): Implement fix.
7263
7264         renameat: new module
7265         * modules/renameat: New file.
7266         * lib/renameat.c (renameat): Likewise.
7267         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
7268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7269         * modules/stdio (Makefile.am): Substitute them.
7270         * lib/stdio.in.h (renameat): Declare it.
7271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7272         * doc/posix-functions/renameat.texi (renameat): Likewise.
7273         * modules/renameat-tests: New test.
7274         * tests/test-renameat.c: Likewise.
7275
7276         rename: fix mingw bugs
7277         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
7278         directory overwrite bugs.
7279
7280         rename: fix another cygwin 1.5 bug
7281         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
7282         checks.
7283         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
7284         unnecessary cygwin workarounds.  Also work around bug with moving
7285         full directory onto an empty one.
7286         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
7287
7288         rename-dest-slash: merge into rename module
7289         * modules/rename-dest-slash (Status): Mark obsolete.
7290         (Depends-on): Add rename.
7291         (Files): Let rename do it all.
7292         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
7293         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
7294         * m4/rename-dest-slash.m4: ...so this file can be deleted.
7295         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
7296         * lib/rename.c (rpl_rename): Update comments.
7297
7298         rename: fix cygwin 1.5.x bugs
7299         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
7300         * lib/rename.c (rpl_rename): Work around them.
7301         * modules/rename (Depends-on): Add same-inode.
7302
7303         rename: fix Solaris 10 bug
7304         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7305         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
7306         was the only bug.
7307
7308         rename: fix Solaris 9 bug
7309         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
7310         on non-directory.  Avoid calling exit.
7311         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
7312         strdup.
7313         * modules/rename-tests (Depends-on): Drop lstat.
7314         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7315         (gl_PREREQ_RENAME): Delete unused macro.
7316
7317         rename-dest-slash: fix NetBSD bug
7318         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
7319         links.
7320         * modules/rename-dest-slash (Depends-on): Add same-inode.
7321
7322         rename-tests: new test, exposes several platform bugs
7323         * modules/rename-tests: New file.
7324         * tests/test-rename.h: Likewise.
7325         * tests/test-rename.c: Likewise.
7326         * doc/posix-functions/rename.texi (rename): Improve documentation,
7327         including bugs that will eventually be fixed in gnulib.
7328
7329 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
7330
7331         * lib/uname.c: Include <stdlib.h>
7332         (uname): Assume version info is available.
7333
7334 2009-10-02  Jim Meyering  <meyering@redhat.com>
7335
7336         gnu-web-doc-update: correct --help output
7337         * build-aux/gnu-web-doc-update: Make --help output relevant.
7338
7339         gnu-web-doc-update: add standard options
7340         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
7341
7342         gnu-web-doc-update: New module.
7343         Use this script to automatically update the on-line web documentation
7344         for your GNU project at http://www.gnu.org/software/$pkg/manual/
7345         * modules/gnu-web-doc-update: New file, from coreutils.
7346         * build-aux/gnu-web-doc-update: New script.
7347
7348 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
7349
7350         link: LoadLibrary is not needed.
7351         * lib/link.c: Use GetModuleHandle.
7352
7353 2009-10-01  Eric Blake  <ebb9@byu.net>
7354
7355         getopt: bump serial number
7356         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
7357         change.
7358
7359         tests: tighten link, rmdir, and remove tests
7360         * tests/test-link.h (includes): No need to use <config.h> here.
7361         Clean up if directory hard link was created, otherwise test for
7362         trailing '.'.
7363         * tests/test-linkat.c (main): Simplify.
7364         * tests/test-remove.c (main): Enhance test for trailing '.'.
7365         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7366
7367 2009-10-01  Jim Meyering  <meyering@redhat.com>
7368
7369         maint.mk: requiring "make major" was annoying, for a "minor" release.
7370         What is intended is "stable", to contrast with alpha and beta,
7371         so require "make stable", not "make major".
7372         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
7373         (get_tool_versions): Likewise.
7374         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
7375
7376 2009-09-30  Ben Pfaff  <blp@gnu.org>
7377
7378         Fix broken build of replacement for Windows tmpfile().
7379         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
7380         flags argument added along with the 'mkostemp' module.
7381
7382 2009-09-28  Bruno Haible  <bruno@clisp.org>
7383
7384         Avoid identifier clash with POSIX function 'remove' defined as a macro.
7385         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
7386         to 'remove_elt'.
7387         (gl_list_remove): Update.
7388         * lib/gl_list.c (gl_list_remove): Update.
7389         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
7390         to 'remove_elt'.
7391         (gl_oset_remove): Update.
7392         * lib/gl_list.c (gl_oset_remove): Update.
7393         Reported by Eric Blake.
7394
7395 2009-09-28  Eric Blake  <ebb9@byu.net>
7396
7397         doc: mention yet more cygwin 1.7 status
7398         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
7399         cygwin.
7400         * doc/glibc-functions/execvpe.texi (execvpe): New file.
7401         * doc/gnulib.texi (Glibc unistd.h): Mention it.
7402
7403         argp: fix test failure
7404         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
7405         that are not upper-case.  Pass correct range to tolower.
7406
7407 2009-09-27  Jim Meyering  <meyering@redhat.com>
7408
7409         test-yesno: work around sparc-dash here-document infelicity
7410         Without this change, the literal \177 byte in a here document
7411         would make dash 0.5.5.1-3 access uninitialized memory.
7412         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
7413         Instead, use a marker, "@", and filter through tr to create the desired
7414         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
7415
7416 2009-09-27  Bruno Haible  <bruno@clisp.org>
7417
7418         Disable untested support for new flavours of ACLs on AIX.
7419         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
7420         progress.
7421         * lib/set-mode-acl.c (qset_acl): Likewise.
7422
7423 2008-12-07  Bruno Haible  <bruno@clisp.org>
7424
7425         Add support for new flavours of ACLs on AIX. (Untested.)
7426         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
7427         (file_has_acl): Add support for newer AIX.
7428         * lib/set-mode-acl.c (qset_acl): Likewise.
7429         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
7430         Rainer Tammer <tammer@tammer.net>.
7431
7432 2009-09-26  Eric Blake  <ebb9@byu.net>
7433
7434         argp: fix compilation of getopt
7435         * lib/getopt.in.h (includes): Use different guard than glibc.
7436         Reported by Sergey Poznyakoff.
7437
7438         doc: mention more cygwin 1.7 status
7439         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
7440         bug.
7441         * doc/posix-functions/execl.texi (execl): Likewise.
7442         * doc/posix-functions/execle.texi (execle): Likewise.
7443         * doc/posix-functions/execlp.texi (execlp): Likewise.
7444         * doc/posix-functions/execv.texi (execv): Likewise.
7445         * doc/posix-functions/execve.texi (execve): Likewise.
7446         * doc/posix-functions/execvp.texi (execvp): Likewise.
7447         * doc/glibc-functions/canonicalize_file_name.texi
7448         (canonicalize_file_name): Cygwin 1.7 now provides this.
7449         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
7450         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
7451         on AT_SYMLINK_NOFOLLOW.
7452
7453 2009-09-24  Eric Blake  <ebb9@byu.net>
7454
7455         test-linkat: make test more robust
7456         * tests/test-linkat.c (main): Avoid collision with EEXIST.
7457
7458         getopt: fix inclusion guards for cygwin
7459         * modules/getopt-posix (Depends-on): Add include-next.
7460         (Makefile.am): Substitute more items in replacement header.
7461         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
7462         <getopt.h>.
7463         * lib/getopt.in.h (includes): Use split inclusion guard, and
7464         prefer <getopt.h> over include <unistd.h> when one is present.
7465         (option): Also override name of 'struct option'.
7466
7467         same-inode: revert prior change; it is not yet ready
7468         * NEWS: Undo mention of this change.
7469         * lib/same-inode.h (same-inode.h): Undo tri-state change.
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         * lib/at-func2.c (at_func2): Likewise.
7474
7475 2009-09-23  Eric Blake  <ebb9@byu.net>
7476
7477         linkat: new module
7478         * modules/linkat: New file.
7479         * lib/at-func2.c (at_func2): Likewise.
7480         * lib/linkat.c (linkat): Likewise.
7481         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7482         * lib/openat-priv.h (at_func2): Add declaration.
7483         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7484         * modules/unistd (Makefile.am): Substitute them.
7485         * lib/unistd.in.h (linkat): Declare it.
7486         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7487         * doc/posix-functions/linkat.texi (linkat): Likewise.
7488         * doc/posix-functions/link.texi (link): Tweak wording.
7489         * tests/test-link.c (main): Move guts...
7490         * tests/test-link.h (test_link): ...into new file.
7491         * modules/linkat-tests: New test.
7492         * tests/test-linkat.c: Likewise.
7493         * modules/link-tests (Files): Ship new file.
7494         (Depends-on): Add stdbool.
7495
7496         dirname: add library-safe mdir_name
7497         * lib/dirname.h (mdir_name): New prototype.
7498         * lib/dirname.c (dir_name): Move guts...
7499         (mdir_name): ...to new function that avoids xalloc_die.
7500
7501         fchdir: another mingw fix
7502         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
7503         * lib/fchdir.c (get_name): New helper method; skips canonicalize
7504         on mingw (where it has not yet been ported), and make it optional
7505         elsewhere.
7506         (_gl_register_fd): Use it.
7507
7508         same-inode: make SAME_INODE tri-state, to port to mingw
7509         * NEWS: Mention this change.
7510         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
7511         st_ino always being 0.
7512         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7513         * lib/cycle-check.c (cycle_check): Likewise.
7514         * lib/same.c (same_name): Likewise.
7515
7516         lstat: avoid mingw compilation error
7517         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
7518         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
7519         lstat ourselves.
7520         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
7521         was adequate.
7522         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
7523         the checks for lstat.
7524         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
7525
7526         link: fix test failure on Solaris 9
7527         * lib/link.c (rpl_link): Don't assume link will catch bogus
7528         trailing slash on source.
7529
7530         test-symlinkat: enhance test
7531         * tests/test-readlink.c (main): Move guts...
7532         * tests/test-readlink.h (test_readlink): ...into new file.
7533         * tests/test-symlink.c (main): Move guts...
7534         * tests/test-symlink.h (test_symlink): ...into new file.
7535         * tests/test-symlinkat.c (main): Use new files for further
7536         coverage.
7537         (do_symlink, do_readlink): New helper functions.
7538         * modules/symlink-tests (Files): Ship new file.
7539         (Depends-on): Add stdbool.
7540         * modules/readlink-tests (Files): Ship new file.
7541         (Depends-on): Add stdbool.
7542         * modules/symlinkat-tests (Files): Use new files.
7543
7544 2009-09-23  Eric Blake  <ebb9@byu.net>
7545
7546         readlink: document portability issue with symlink length
7547         * doc/posix-functions/lstat.texi (lstat): Mention that some file
7548         systems have bogus st_size on symlinks, and mention the
7549         areadlink-with-size module.
7550         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7551         * doc/posix-functions/readlink.texi (readlink): Mention the
7552         areadlink module, and ERANGE failure.
7553         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7554         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
7555
7556         readlink: fix Solaris 9 bug with trailing slash
7557         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
7558         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
7559         * doc/posix-functions/readlink.texi (readlink): Document this.
7560         * modules/readlink-tests: New test.
7561         * tests/test-readlink.c: Likewise.
7562
7563         readlink: fix cygwin 1.5.x bug with return type
7564         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
7565         * lib/unistd.in.h (readlink): Use ssize_t.
7566         * lib/readlink.c (readlink): Likewise.
7567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7568         * modules/unistd (Makefile.am): Substitute it.
7569         * lib/unistd.in.h (readlink): Declare replacement.
7570         * doc/posix-functions/readlink.texi (readlink): Document this.
7571
7572         symlink: use throughout gnulib
7573         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
7574         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
7575         symlink is not used.
7576         * modules/symlinkat (Depends-on): Add symlink.
7577         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
7578         * modules/canonicalize-tests (Depends-on): Likewise.
7579         * modules/lstat-tests (Depends-on): Likewise.
7580         * modules/openat-tests (Depends-on): Likewise.
7581         * modules/remove-tests (Depends-on): Likewise.
7582         * modules/rmdir-tests (Depends-on): Likewise.
7583         * modules/unlink-tests (Depends-on): Likewise.
7584         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
7585         * tests/test-canonicalize.c (symlink): Likewise.
7586         * tests/test-fstatat.c (symlink): Likewise.
7587         * tests/test-lstat.c (symlink): Likewise.
7588         * tests/test-remove.c (symlink): Likewise.
7589         * tests/test-rmdir.c (symlink): Likewise.
7590         * tests/test-unlink.c (symlink): Likewise.
7591         * tests/test-unlinkat.c (symlink): Likewise.
7592
7593         symlink: new module, for Solaris 9 bug
7594         * modules/symlink: New file.
7595         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7596         * lib/symlink.c: Likewise.
7597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
7598         * modules/unistd (Makefile.am): Substitute them.
7599         * lib/unistd.in.h (symlink): Declare replacement.
7600         * MODULES.html.sh (File system functions): Mention it.
7601         * doc/posix-functions/symlink.texi (symlink): Likewise.
7602         * modules/symlink-tests: New test.
7603         * tests/test-symlink.c: Likewise.
7604
7605 2009-09-23  Bruno Haible  <bruno@clisp.org>
7606
7607         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
7608         when needed.
7609         Test case: gnulib-tool --import --with-tests atexit inttypes.
7610         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
7611
7612 2009-09-23  Bruno Haible  <bruno@clisp.org>
7613
7614         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
7615         subcommand, not in a subshell.
7616
7617 2009-09-22  Eric Blake  <ebb9@byu.net>
7618
7619         unistd: sort replacement declarations
7620         * lib/unistd.in.h: Sort declarations.
7621
7622         open, openat: minor optimization
7623         * lib/open.c (open): If open succeeded, len is non-zero.
7624         * lib/openat.c (rpl_openat): Likewise.
7625
7626         link-follow: ensure correct result
7627         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
7628         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
7629         distinguish between possible failures.
7630
7631 2009-09-21  Eric Blake  <ebb9@byu.net>
7632
7633         fts: avoid compiler warning
7634         * lib/fts.c (dirent_inode_sort_may_be_useful)
7635         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
7636
7637 2009-09-19  Bruno Haible  <bruno@clisp.org>
7638
7639         * lib/progreloc.c (canonicalize_file_name): New declaration.
7640
7641 2009-09-19  Eric Blake  <ebb9@byu.net>
7642
7643         link: fix quoting
7644         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
7645
7646         openat: fix openat bugs on Solaris 9
7647         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
7648         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
7649         * modules/openat (Depends-on): Add open.
7650         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
7651         * modules/fcntl-h (Makefile.am): Substitute it.
7652         * lib/fcntl.in.h (openat): Declare replacement.
7653         * doc/posix-functions/openat.texi (openat): Document this.
7654
7655         openat: move fstatat and unlinkat into correct files
7656         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
7657         compiled.
7658         * lib/openat.c (fstatat, unlinkat): Move...
7659         * lib/fstatat.c (fstatat): ...into correct files.
7660         * lib/unlinkat.c (unlinkat): Likewise.
7661
7662         openat: fix unlinkat bugs on Solaris 9
7663         * lib/unlinkat.c (unlinkat): New file.
7664         * modules/openat (Depends-on): Add unlink.
7665         (Files): Distribute it.
7666         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
7667         trailing slash behavior is broken.
7668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7669         * modules/unistd (Makefile.am): Substitute it.
7670         * lib/unistd.in.h (unlinkat): Declare replacement.
7671         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
7672
7673         openat: fix fstatat bugs on Solaris 9
7674         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
7675         stat.
7676         * doc/posix-functions/fstatat.texi (fstatat): Document this.
7677
7678         test-unlinkat: enhance test, to expose Solaris 9 bug
7679         * tests/test-unlink.c (main): Factor guts...
7680         * tests/test-unlink.h (test_rmdir_func): ...into new file.
7681         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
7682         * tests/test-rmdir.c (main): Adjust caller.
7683         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
7684         (unlinker): New helper function.
7685         (rmdirat): Enhance check.
7686         * modules/rmdir-tests (Depends-on): Add stdbool.
7687         * modules/unlink-tests (Depends-on): Likewise.
7688         (Files): Add test-unlink.h.
7689         * modules/openat-tests (Files): Likewise.
7690         (Depends-on): Add unlinkdir.
7691
7692         test-fstatat: new test, to expose Solaris 9 bugs
7693         * tests/test-stat.c (main): Factor guts...
7694         * tests/test-stat.h (test_stat_func): ...into new file.
7695         * tests/test-lstat.c (main): Factor guts...
7696         * tests/test-lstat.h (test_lstat_func): ...into new file.
7697         * tests/test-fstatat.c: New file.
7698         * modules/stat-tests (Files): Add test-stat.h.
7699         * modules/lstat-tests (Files): Add test-lstat.h.
7700         (Depends-on): Add stdbool.
7701         * modules/openat-tests (Depends-on): Add pathmax.
7702         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
7703         (Makefile.am): Run new test.
7704
7705         remove: new module, for mingw and Solaris 9 bugs
7706         * modules/remove: New file.
7707         * lib/remove.c: Likewise.
7708         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
7709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7710         * modules/stdio (Makefile.am): Use them.
7711         * lib/stdio.in.h (remove): Declare replacement.
7712         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7713         * doc/posix-functions/remove.texi (remove): Likewise.
7714         * modules/remove-tests: New test.
7715         * tests/test-remove.c: Likewise.
7716
7717         unlink: new module, for Solaris 9 bug
7718         * modules/unlink: New file.
7719         * lib/unlink.c: Likewise.
7720         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7722         * modules/unistd (Makefile.am): Use them.
7723         * lib/unistd.in.h (stat): Declare replacement.
7724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7725         * doc/posix-functions/unlink.texi (unlink): Likewise.
7726         * modules/unlink-tests: New test.
7727         * tests/test-unlink.c: Likewise.
7728
7729         lstat: fix Solaris 9 bug
7730         * lib/lstat.c (lstat): Also check for trailing slash on
7731         non-symlink, non-directories.  Use stat module to simplify logic.
7732         * doc/posix-functions/lstat.texi (lstat): Document it.
7733         * modules/lstat-tests (Depends-on): Add errno, same-inode.
7734         (configure.ac): Check for symlink.
7735         * tests/test-lstat.c (main): Add more tests.
7736
7737         stat: add as dependency to other modules
7738         * modules/chown (Depends-on): Add stat.
7739         * modules/euidaccess (Depends-on): Likewise.
7740         * modules/fchdir (Depends-on): Likewise.
7741         * modules/isdir (Depends-on): Likewise.
7742         * modules/link (Depends-on): Likewise.
7743         * modules/lstat (Depends-on): Likewise.
7744         * modules/mkdir-p (Depends-on): Likewise.
7745         * modules/modechange (Depends-on): Likewise.
7746         * modules/open (Depends-on): Likewise.
7747         * modules/readlink (Depends-on): Likewise.
7748         * modules/same (Depends-on): Likewise.
7749
7750         stat: fix Solaris 9 bug
7751         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
7752         slash.
7753         * lib/stat.c (rpl_stat): Work around it.
7754         * doc/posix-functions/stat.texi (stat): Update documentation.
7755
7756         stat: new module, for mingw bug
7757         * modules/stat: New file.
7758         * lib/stat.c: Likewise.
7759         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7760         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7761         * modules/sys_stat (Makefile.am): Use them.
7762         * lib/sys_stat.in.h (stat): Declare replacement.
7763         * lib/openat.c (fstatat): Deal with lstat and stat being function
7764         macros.
7765         * modules/openat (Depends-on): Add inline.
7766         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7767         * doc/posix-functions/stat.texi (stat): Likewise.
7768         * modules/stat-tests: New test.
7769         * tests/test-stat.c: Likewise.
7770
7771 2009-09-19  Jim Meyering  <meyering@redhat.com>
7772
7773         syntax-check: detect unnecessary inclusion of canonicalize.h
7774         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
7775
7776 2009-09-19  Eric Blake  <ebb9@byu.net>
7777
7778         canonicalize-lgpl: adjust clients to use correct header
7779         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
7780         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
7781         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
7782         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
7783         * lib/progreloc.c (includes): Likewise.
7784
7785 2009-09-19  Jim Meyering  <meyering@redhat.com>
7786
7787         test-posixtm.c: correct a comment
7788         * tests/test-posixtm.c: Correct first-line comment.
7789         Spotted by Eric Blake.
7790
7791 2009-09-16  Jim Meyering  <meyering@redhat.com>
7792
7793         posixtm-tests: make T const-correct; add a test case
7794         * tests/test-posixtm.c (T): Declare const.
7795         Add a test for -(2^31+1).
7796         Remove useless can-succeed-only-in-2002 test.
7797
7798         posixtm-tests: adjust the sole failing test
7799         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
7800         expected output matches what mktime now produces.  Cross-checked via
7801         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
7802
7803         posixtm: move #ifdef'd tests into a new module
7804         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
7805         * tests/test-posixtm.c: ... this new file.
7806         * modules/posixtm-tests: New module.
7807
7808 2009-09-19  Eric Blake  <ebb9@byu.net>
7809
7810         openat: simplify use of at-func.c
7811         * lib/at-func.c (includes): Include prerequisites here, to
7812         simplify requirements on client files.
7813         * lib/openat-priv.h: Add double-inclusion guard.
7814         * lib/faccessat.c (includes): Simplify.
7815         * lib/fchmodat.c (includes): Likewise.
7816         * lib/fchownat.c (includes): Likewise.
7817         * lib/mkdirat.c (includes): Likewise.
7818         * lib/mkfifoat.c (includes): Likewise.
7819         * lib/symlinkat.c (includes): Likewise.
7820
7821         openat: allow return of fd 0
7822         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
7823         * modules/save-cwd (Depends-on): Replace fcntl-safer with
7824         unistd-safer.
7825         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
7826         <fcntl.h>; this module does not leak fds.
7827         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
7828         must be allowed to return 0, leaving openat_safer to add the
7829         safety.
7830         (openat_permissive): Avoid writing to just-opened fd 2 if
7831         restoring the current directory fails.
7832         * lib/openat-die.c (openat_restore_fail): Add comment.
7833         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
7834         (save_cwd): Guarantee safe fd, but without use of open_safer.
7835         * tests/test-openat.c: New test.
7836         * modules/openat-tests (Files, Makefile.am): Distribute and build
7837         new file.
7838
7839         relocatable-prog-wrapper: fix build
7840         * modules/relocatable-prog-wrapper (Files): Update name of
7841         canonicalize m4 file, broken on 2009-09-17.
7842         Reported by emad hajjar <aleppos@hotmail.com>.
7843
7844 2009-09-19  Bruno Haible  <bruno@clisp.org>
7845
7846         * lib/safe-alloc.h: Use the standard header with GPL copyright.
7847         * lib/safe-alloc.c: Likewise.
7848         Reported by Ian Beckwith <ianb@erislabs.net>.
7849
7850 2009-09-18  Bruno Haible  <bruno@clisp.org>
7851
7852         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
7853         Reported by <erobles@sensacd.com.mx>.
7854
7855 2009-09-17  Eric Blake  <ebb9@byu.net>
7856
7857         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
7858         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
7859         slashes when checking if last component is missing.
7860         * tests/test-canonicalize.c (main): Test this.
7861
7862         canonicalize, canonicalize-lgpl: honor // if distinct from /
7863         * modules/canonicalize (Files): Add double-slash-root.m4.
7864         * modules/canonicalize-lgpl (Files): Likewise.
7865         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
7866         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
7867         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
7868         fallback definition.
7869         (canonicalize_filename_mode): Use it to protect //.
7870         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
7871         (__realpath): Likewise.
7872         * tests/test-canonicalize.c (main): Test this.
7873         * tests/test-canonicalize-lgpl.c (main): Likewise.
7874         * modules/canonicalize-tests (Depends-on): Add same-inode.
7875         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
7876
7877         canonicalize-lgpl: fix glibc bug with trailing slash
7878         * m4/canonicalize-lgpl.m4: Move contents...
7879         * m4/canonicalize.m4: ...here.
7880         (gl_CANONICALIZE_LGPL): Factor realpath check...
7881         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
7882         glibc 2.3.5 bug, fixed 2005-04-27.
7883         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
7884         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
7885         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
7886         * modules/canonicalize-lgpl (Files): Manage file rename.
7887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
7888         * modules/stdlib (Makefile.am): Substitute witness.
7889         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
7890         is needed.
7891         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
7892         replacement is required.
7893         * lib/canonicalize.c (canonicalize_file_name): Likewise.
7894         * doc/glibc-functions/canonicalize_file_name.texi
7895         (canonicalize_file_name): Document this.
7896         * doc/posix-functions/realpath.texi (realpath): Likewise.
7897
7898         canonicalize-lgpl: reject non-directory with trailing slash
7899         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
7900         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
7901         catches failures in glibc 2.3.5.
7902         * tests/test-canonicalize.c (main): Likewise.
7903
7904         canonicalize-lgpl: use native realpath if it works
7905         * lib/canonicalize-lgpl.c (realpath): Guard with
7906         FUNC_REALPATH_WORKS.
7907         * lib/stdlib.in.h (realpath): Make declaration optional based on
7908         HAVE_REALPATH.
7909         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
7910         native realpath works.
7911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
7912         * modules/stdlib (Makefile.am): Substitute witness.
7913
7914         canonicalize, canonicalize-lgpl: use <stdlib.h>
7915         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
7916         (Include): Mention <stdlib.h>.
7917         (configure.ac): Mention functions we provide.
7918         * modules/canonicalize (configure.ac): Likewise.
7919         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
7920         realpath if canonicalize_file_name is missing.
7921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
7922         * modules/stdlib (Makefile.am): Substitute witnesses.
7923         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
7924         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
7925         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
7926         * NEWS: Document this.
7927         * doc/glibc-functions/canonicalize_file_name.texi
7928         (canonicalize_file_name): Likewise.
7929         * doc/posix-functions/realpath.texi (realpath): Likewise.
7930         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
7931
7932         test-canonicalize: consolidate into single C program
7933         * tests/test-canonicalize.sh: Delete; move setup into...
7934         * tests/test-canonicalize.c (main): ...the program, making it
7935         easier to run in debugger.  Add some tests.
7936         * modules/canonicalize-tests (Files): Remove unused file.
7937         (Depends-on): Add progname.
7938         (configure.ac, Makefile.am): Simplify.
7939
7940         test-canonicalize-lgpl: consolidate into single C program
7941         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
7942         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
7943         easier to run in debugger.  Add some tests.
7944         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
7945         (configure.ac, Makefile.am): Simplify.
7946
7947         canonicalize: avoid resolvepath
7948         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
7949         unnecessary checks.
7950         * lib/canonicalize.c (includes): Simplify.
7951         (canonicalize_file_name): Drop resolvepath implementation.
7952         * modules/canonicalize (Depends-on): Drop filenamecat.
7953
7954         canonicalize: don't lose errno
7955         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
7956         over calls to free.
7957
7958         canonicalize: simplify errno handling
7959         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
7960         assignment.
7961
7962         canonicalize, canonicalize-lgpl: update module dependencies
7963         * modules/canonicalize (Depends-on): Add extensions, lstat,
7964         pathmax, stdlib.
7965         (Files): Drop pathmax.h.
7966         (configure.ac): Adjust macro name.
7967         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
7968         lstat, stdlib, sys_stat.
7969         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
7970         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
7971         extensions.
7972         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
7973         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
7974         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
7975         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
7976         declaration, if available.
7977         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
7978         we can rely on the readlink module.
7979         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
7980         (includes): Use <unistd.h> unconditionally.
7981
7982 2009-09-17  Eric Blake  <ebb9@byu.net>
7983
7984         maint: make Include sections of modules consistent
7985         * modules/alloca: Use only header name; no need to list #include.
7986         * modules/alloca-opt: Likewise.
7987         * modules/arpa_inet: Likewise.
7988         * modules/canon-host: Likewise.
7989         * modules/configmake: Likewise.
7990         * modules/dirent: Likewise.
7991         * modules/eealloc: Likewise.
7992         * modules/environ: Likewise.
7993         * modules/fchdir: Likewise.
7994         * modules/fcntl: Likewise.
7995         * modules/fcntl-h: Likewise.
7996         * modules/gethrxtime: Likewise.
7997         * modules/gettime: Likewise.
7998         * modules/ignore-value: Likewise.
7999         * modules/inet_ntop: Likewise.
8000         * modules/inet_pton: Likewise.
8001         * modules/inttypes: Likewise.
8002         * modules/isnand-nolibm: Likewise.
8003         * modules/isnanf-nolibm: Likewise.
8004         * modules/mbchar: Likewise.
8005         * modules/mbfile: Likewise.
8006         * modules/mbiter: Likewise.
8007         * modules/mbuiter: Likewise.
8008         * modules/netdb: Likewise.
8009         * modules/netinet_in: Likewise.
8010         * modules/nproc: Likewise.
8011         * modules/pagealign_alloc: Likewise.
8012         * modules/poll: Likewise.
8013         * modules/printf-frexp: Likewise.
8014         * modules/pthread: Likewise.
8015         * modules/putenv: Likewise.
8016         * modules/random_r: Likewise.
8017         * modules/relocatable-prog: Likewise.
8018         * modules/search: Likewise.
8019         * modules/select: Likewise.
8020         * modules/selinux-h: Likewise.
8021         * modules/settime: Likewise.
8022         * modules/signal: Likewise.
8023         * modules/size_max: Likewise.
8024         * modules/socklen: Likewise.
8025         * modules/ssize_t: Likewise.
8026         * modules/stdarg: Likewise.
8027         * modules/stdbool: Likewise.
8028         * modules/stddef: Likewise.
8029         * modules/stdint: Likewise.
8030         * modules/stdio: Likewise.
8031         * modules/stdlib: Likewise.
8032         * modules/string: Likewise.
8033         * modules/strings: Likewise.
8034         * modules/sys_file: Likewise.
8035         * modules/sys_ioctl: Likewise.
8036         * modules/sys_select: Likewise.
8037         * modules/sys_socket: Likewise.
8038         * modules/sys_stat: Likewise.
8039         * modules/sys_time: Likewise.
8040         * modules/sys_times: Likewise.
8041         * modules/sys_utsname: Likewise.
8042         * modules/sys_wait: Likewise.
8043         * modules/sysexits: Likewise.
8044         * modules/time: Likewise.
8045         * modules/times: Likewise.
8046         * modules/tmpfile: Likewise.
8047         * modules/trim: Likewise.
8048         * modules/unistd: Likewise.
8049         * modules/wchar: Likewise.
8050         * modules/wctype: Likewise.
8051
8052 2009-09-17  Bruno Haible  <bruno@clisp.org>
8053
8054         Make getdate.y compile on QNX and NetBSD 5 / i386.
8055         * m4/getdate.m4 (gl_GETDATE): Conditionally define
8056         TIME_T_FITS_IN_LONG_INT.
8057         * lib/getdate.y (long_time_t): New type.
8058         (relative_time): Change type of 'seconds' field to long_time_t.
8059         (get_date): Update types of local variables. Check against overflow
8060         during conversion from long_time_t to time_t.
8061         Reported by Matt Kraai <kraai@ftbfs.org>
8062         and Hasso Tepper <hasso@netbsd.org>.
8063
8064 2009-09-17  Bruno Haible  <bruno@clisp.org>
8065
8066         * modules/COPYING: Update copyright years.
8067         * modules/README: Likeiwse.
8068         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
8069         Reported by Ian Beckwith <ianb@erislabs.net>.
8070
8071 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8072
8073         * users.txt: Update references for gnuit package.
8074
8075 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8076
8077         * m4/getdelim.m4: Fix typo in copyright line.
8078
8079 2009-09-17  Bruno Haible  <bruno@clisp.org>
8080
8081         * lib/atoll.c: Use the standard header with GPL copyright.
8082         * lib/argz.in.h: Likewise.
8083         * lib/glob.c: Likewise.
8084         * lib/glob-libc.h: Likewise.
8085         * lib/random_r.c: Likewise.
8086         * lib/siglist.h: Likewise.
8087         * lib/strsignal.c: Likewise.
8088         Reported by Ian Beckwith <ianb@erislabs.net>.
8089
8090 2009-09-17  Eric Blake  <ebb9@byu.net>
8091
8092         rmdir: ensure correct dependency order
8093         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
8094
8095 2009-09-17  Bruno Haible  <bruno@clisp.org>
8096
8097         Disable assertion that fails on NetBSD 5 / i386.
8098         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
8099         Reported by Sam Steingold <sds@gnu.org>
8100         and Hasso Tepper <hasso@netbsd.org>.
8101
8102 2009-09-16  Eric Blake  <ebb9@byu.net>
8103
8104         unlinkdir: port to mingw
8105         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
8106         on which no one can unlink a directory.
8107
8108         stdlib: sort witness names
8109         * modules/stdlib (Makefile.am): Sort replacements.
8110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
8111         * lib/stdlib.in.h: Likewise.
8112
8113         parse-duration-tests: avoid link failure
8114         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
8115         LIBINTL.
8116         Reported by Tom G. Christensen.
8117
8118         openat-tests: ensure unlinkat behaves like rmdir
8119         * tests/test-rmdir.c (main): Factor guts...
8120         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
8121         * modules/rmdir-tests (Files): Ship new file.
8122         * modules/openat-tests: New test.
8123         * tests/test-unlinkat.c: Likewise.
8124
8125         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
8126         * modules/rmdir-errno (Status, Notice): Now obsolete.
8127
8128         rmdir: work around cygwin 1.5.x and mingw bugs
8129         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
8130         * lib/rmdir.c (rmdir): Work around it.
8131         * modules/rmdir (Status, Notice): No longer obsolete.
8132         (Files): Add dos.m4.
8133         (Depends-on): Add unistd.
8134         (configure.ac): Set witnesses.
8135         (License): Relax to LGPLv2+.
8136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
8137         * modules/unistd (Makefile.am): Substitute witnesses.
8138         * lib/unistd.in.h (rmdir): Declare replacement.
8139         * doc/posix-functions/rmdir.texi (rmdir): Document this.
8140         * modules/rmdir-tests: New tests.
8141         * tests/test-rmdir.c: Likewise.
8142
8143 2009-09-15  Eric Blake  <ebb9@byu.net>
8144
8145         fchdir: improve use of replacement functions
8146         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
8147         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
8148         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
8149         REPLACE_CLOSEDIR.
8150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
8151         * modules/sys_stat (Makefile.am): Substitute correct witness.
8152         * modules/dirent (Makefile.am): Likewise.
8153         * modules/unistd (Makefile.am): Likewise.
8154         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
8155         * lib/unistd.in.h (dup): Likewise.
8156         * lib/sys_stat.in.h (fstat): Likewise.
8157
8158         maint: ignore gnulib-tool temp files
8159         * .gitignore: Ignore files created during gnulib-tool --test.
8160
8161 2009-09-13  Jim Meyering  <meyering@redhat.com>
8162
8163         posixtm: don't reject a time that specify "60" as the number of seconds
8164         * lib/posixtm.c (posixtime): The code to reject invalid dates
8165         would also reject a time specified with the .60 suffix.
8166         But POSIX allows that, in order to accommodate leap seconds.
8167         So don't reject it.
8168         (main): Adjust tests accordingly.
8169         * modules/posixtm (Depends-on): Add stpcpy.
8170
8171 2009-09-11  Jim Meyering  <meyering@redhat.com>
8172
8173         announce-gen: include [$release_type] in emitted Subject:
8174         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
8175         e.g., [stable] in the emitted Subject: line.
8176
8177 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8178
8179         Remove obsolete macros from several modules.
8180         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
8181         obsolete Autoconf macros with their modern counterparts.
8182         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
8183         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
8184         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8185         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
8186         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
8187         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8188         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8189         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8190         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8191         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
8192         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8193         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8194         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
8195         * m4/sockets.m4 (gl_SOCKETS): Likewise.
8196         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
8197         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
8198         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8199         * m4/time_r.m4 (gl_TIME_R): Likewise.
8200         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8201         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
8202         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8203
8204         Fix copyright header in build-aux scripts.
8205         * build-aux/git-version-gen: Fix copyright header to match GPLv3
8206         recommendation.
8207         * build-aux/ncftpput-ftp: Likewise.
8208         * build-aux/update-copyright: Likewise.
8209
8210 2009-09-09  Eric Blake  <ebb9@byu.net>
8211
8212         test-link: allow Linux choice of errno
8213         * tests/test-link.c (main): Relax test for alternate error.
8214
8215         strndup: fix improper m4 caching
8216         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
8217         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
8218         (gl_PREREQ_STRNDUP): Delete.
8219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
8220         * modules/string (Makefile.am): Substitute it.
8221         * lib/string.in.h (strndup): Modernize prototype.
8222
8223         getcwd: port to mingw
8224         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
8225         different from the POSIX assumptions made throughout the getcwd
8226         module; fortunately, the mingw getcwd does not need replacement.
8227         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
8228         * modules/getcwd-tests: New test.
8229         * tests/test-getcwd.c: Likewise.
8230
8231         link: fix platform bugs
8232         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
8233         * lib/link.c (link): Work around them.  Fix related mingw bug.
8234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
8235         * modules/unistd (Makefile.am): Substitute it.
8236         * lib/unistd.in.h (link): Declare replacement.
8237         * doc/posix-functions/link.texi (link): Document this.
8238         * modules/link (Depends-on): Add strdup-posix, sys_stat.
8239
8240         test-link: consolidate into single C program, test more cases
8241         * tests/test-link.sh: Delete.
8242         * tests/test-link.c: Test more error conditions.  Exposes bugs on
8243         at least Cygwin and Solaris.
8244         * modules/link-tests (Files): Remove unused file.
8245         (Depends-on): Add errno, sys_stat.
8246         (Makefile.am): Simplify.
8247
8248 2009-09-08  Bruno Haible  <bruno@clisp.org>
8249
8250         Work around towlower, towupper bug on mingw.
8251         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
8252         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
8253         * doc/posix-functions/towlower.texi: Mention the mingw bug.
8254         * doc/posix-functions/towupper.texi: Likewise.
8255         Reported by Eric Blake.
8256
8257 2009-09-08  Jim Meyering  <meyering@redhat.com>
8258
8259         build: don't try to run autoheader if we don't use it
8260         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
8261         is not used in configure.ac.
8262
8263 2009-09-08  Eric Blake  <ebb9@byu.net>
8264
8265         euidaccess: fix compilation error
8266         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
8267
8268         rawmemchr: relax license
8269         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
8270         okay.
8271         Reported by Jim Meyering.
8272
8273         mkfifoat: new module
8274         * modules/mkfifoat: New file.
8275         * lib/mkfifoat.c: Likewise.
8276         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
8277         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8278         * modules/sys_stat (Makefile.am): Use them.
8279         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
8280         * MODULES.html.sh (File system functions): Mention module.
8281         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
8282         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
8283         * modules/mkfifoat-tests: New test.
8284         * tests/test-mkfifoat.c: Likewise.
8285
8286         strchrnul: relax license
8287         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
8288         okay.
8289         Reported by Jim Meyering.
8290
8291 2009-09-08  Eric Blake  <ebb9@byu.net>
8292
8293         fstatat: fix compilation on Solaris
8294         * lib/fstatat.c (includes): Add fcntl.h.
8295         Reported by Pádraig Brady.
8296
8297 2009-09-07  Eric Blake  <ebb9@byu.net>
8298
8299         rename: modernize replacement
8300         * modules/rename (Depends-on): Add stdio.
8301         (configure.ac): Declare witness.
8302         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
8303         stdio take care of replacement.
8304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
8305         * modules/stdio (Makefile.am): Substitute them.
8306         * lib/stdio.in.h (rename): Declare replacement.
8307         * lib/rename.c (includes): Allow cross-compilation to non-windows
8308         machines.
8309         * doc/posix-functions/rename.texi (rename): Improve
8310         documentation.
8311
8312         stdio: sort witness names
8313         * modules/stdio (Makefile.am): Sort replacements.
8314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8315         * lib/stdio.in.h: Likewise.
8316
8317         getcwd: minor cleanups
8318         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
8319         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
8320
8321         openat: provide more convenience names
8322         * modules/faccessat (configure.ac): Add C witness.
8323         * lib/unistd.in.h (readlinkat): Fix typo.
8324         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
8325         convenience wrappers.
8326         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
8327         wrappers in syntax checks.
8328
8329 2009-09-06  Eric Blake  <ebb9@byu.net>
8330
8331         doc: fix comments in recent patches
8332         * lib/faccessat.c: Mention correct function.
8333         * lib/fchmodat.c: Likewise.
8334         * lib/fchownat.c: Likewise.
8335         * lib/symlinkat.c: Likewise.
8336         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
8337         constants.
8338
8339         faccessat, symlinkat: continue cleanup of previous patch
8340         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
8341         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8342         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
8343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
8344         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
8345         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
8346         set.
8347
8348 2009-09-06  Bruno Haible  <bruno@clisp.org>
8349
8350         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
8351         (fstatat): Declare if GNULIB_FSTATAT is set.
8352         (mkdirat): Declare if GNULIB_MKDIRAT is set.
8353         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
8354         (unlinkat): Declare if GNULIB_UNLINKAT is set.
8355         * modules/fcntl-h (Files): Remove m4/openat.m4.
8356         * modules/sys_stat (Files): Remove m4/openat.m4.
8357         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
8358         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
8359         * modules/unistd (Files): Remove m4/openat.m4.
8360         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
8361         GNULIB_OPENAT.
8362         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
8363         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
8364         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
8365         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
8366         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
8367         gl_OPENAT_DEFAULTS.
8368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
8369         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
8370         Don't require gl_OPENAT_DEFAULTS.
8371         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
8372         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
8373         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
8374         (gl_OPENAT_DEFAULTS): Remove macro.
8375
8376 2009-09-06  Bruno Haible  <bruno@clisp.org>
8377
8378         * modules/openat (configure.ac): Remove unneeded witness.
8379
8380 2009-09-06  Bruno Haible  <bruno@clisp.org>
8381
8382         Set errno to ENOSYS when a function is entirely unsupported.
8383         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
8384         EOPNOTSUPP.
8385         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8386         * modules/chown (Depends-on): Remove errno.
8387
8388 2009-09-06  Bruno Haible  <bruno@clisp.org>
8389
8390         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
8391
8392 2009-09-06  Bruno Haible  <bruno@clisp.org>
8393
8394         * lib/sys_stat.in.h: Fix preprocessor command indentation.
8395
8396 2009-09-06  Ben Pfaff  <blp@gnu.org>
8397             Bruno Haible  <bruno@clisp.org>
8398
8399         Work around a glibc bug in strtok_r.
8400         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
8401         Undefine if UNDEFINE_STRTOK_R is set.
8402         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
8403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8404         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
8405         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
8406         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
8407         UNDEFINE_STRTOK_R.
8408         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
8409
8410 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
8411
8412         exclude: minor fix
8413         * lib/exclude.c: Include wctype.h
8414
8415 2009-09-06  Akim Demaille  <demaille@gostai.com>
8416
8417         bootstrap: improve error message
8418         * build-aux/bootstrap (find_tool): Upon failure, report the list
8419         of candidates.
8420         Honor the initial value of the envvar.
8421
8422 2009-09-05  Eric Blake  <ebb9@byu.net>
8423
8424         symlinkat: new module
8425         * modules/symlinkat: New file.
8426         * lib/symlinkat.c: Likewise.
8427         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
8428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8429         * modules/unistd (Makefile.am): Use them.
8430         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
8431         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
8432         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
8433         * MODULES.html.sh (File system functions): Mention module.
8434         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
8435         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8436         * modules/symlinkat-tests: New test.
8437         * tests/test-symlinkat.c: Likewise.
8438
8439         test-openat-safer: add more checks
8440         * tests/test-openat-safer.c (main): Check more code paths.
8441
8442 2009-09-05  Jim Meyering  <meyering@redhat.com>
8443
8444         syntax-check: detect unnecessary inclusion of openat.h
8445         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
8446
8447 2009-09-05  Bruno Haible  <bruno@clisp.org>
8448
8449         Support towlower, towupper.
8450         * doc/posix-functions/towlower.texi: Mention module wctype.
8451         * doc/posix-functions/towupper.texi: Likewise.
8452         * lib/wctype.in.h (towlower, towupper): New functions.
8453         * tests/test-wctype.c: Include stdio.h, stdlib.h.
8454         (ASSERT): New macro.
8455         (e): New variable.
8456         (main): Test also towlower, towupper. Test WEOF argument.
8457         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8458
8459 2009-09-05  Bruno Haible  <bruno@clisp.org>
8460
8461         Fix conversion behaviour when the input is invalid.
8462         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
8463         mark occurring in first pass of indirect conversion.
8464         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
8465         input.
8466         Found by clang's static analyzer.
8467
8468 2009-09-05  Bruno Haible  <bruno@clisp.org>
8469
8470         * tests/test-striconveh.c (main): Test indirect conversion on platforms
8471         where direct conversion is possible.
8472
8473 2009-09-04  Eric Blake  <ebb9@byu.net>
8474
8475         openat: fail with ENOENT on empty name
8476         * lib/openat-proc.c (openat_proc_name): Special-case the empty
8477         buffer.
8478
8479         link-follow: fix logic bug in prior patch
8480         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
8481         reversed sense of yes and no in prior patch.  Avoid confusing
8482         compilation failure with desired semantics.
8483
8484         link-follow: accomodate mingw and cross-compilation
8485         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
8486         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
8487         cross-compilation results to -1, to make linkat easier to
8488         implement when cross-compiling.  Trivially support mingw.
8489         * modules/link-follow (configure.ac): Call new name.
8490         * NEWS: Mention this.
8491
8492 2009-09-03  Eric Blake  <ebb9@byu.net>
8493
8494         faccessat: compile replacement
8495         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
8496         needed.
8497
8498         fts: fix compilation error
8499         * lib/fts.c (includes): Re-add "openat.h", for
8500         openat_needs_fchdir.
8501
8502         faccessat: new module
8503         * modules/faccessat: New file.
8504         * lib/faccessat.c: Likewise.
8505         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8507         * modules/unistd (Makefile.am): Use it.
8508         * lib/unistd.in.h (faccessat): Declare it.
8509         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
8510         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
8511         * MODULES.html.sh (File system functions): Mention it.
8512         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
8513         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
8514
8515         euidaccess: prefer POSIX over non-standard implementation
8516         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
8517         * lib/euidaccess.c (euidaccess): Use it if available.
8518
8519         openat: make template easier to use
8520         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
8521         AT_FUNC_F2 to be undefined.
8522         (VALIDATE_FLAG): New macro; use it to reject bad flags.
8523         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
8524         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
8525         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
8526         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
8527         Likewise.
8528         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
8529         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
8530         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
8531         Likewise.
8532
8533         openat: declare in POSIX headers
8534         * NEWS: Mention this.
8535         * modules/openat (configure.ac): Declare witnesses.
8536         (Depends-on): Add fcntl-h, sys_stat, unistd.
8537         (Include): Mention correct headers.
8538         * modules/fcntl-h (Depends-on): Add link-warning.
8539         (Files): Add openat.m4.
8540         (Makefile.am): Substitute witnesses.
8541         * modules/sys_stat (Files, Makefile.am): Likewise.
8542         * modules/unistd (Files, Makefile.am): Likewise.
8543         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
8544         (gl_OPENAT_DEFAULTS): New macro.
8545         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
8546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
8547         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
8548         (SYS_STAT_H): Remove unused variable.
8549         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
8550         * lib/fcntl--.h (includes): Remove unneeded header.
8551         * lib/openat-safer.c (includes): Likewise.
8552         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
8553         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
8554         appropriate headers.
8555         (__OPENAT_PREFIX): Delete.
8556         * lib/fcntl.in.h (openat): Provide declaration.
8557         (AT_FDCWD): Fix Solaris bug.
8558         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
8559         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
8560         * lib/fchmodat.c (includes):  Adjust to find declaration.
8561         * lib/fchownat.c (includes): Likewise.
8562         * lib/mkdirat.c (includes): Likewise.
8563         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
8564         still visible.
8565
8566 2009-09-02  Eric Blake  <ebb9@byu.net>
8567
8568         errno: use consistently
8569         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
8570         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
8571         * lib/canonicalize.c (ELOOP): Likewise.
8572         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
8573         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
8574         * lib/lchown.c (EOPNOTSUPP): Likewise.
8575         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
8576         * lib/savewd.c (ESTALE): Likewise.
8577         * lib/settime.c (ENOSYS): Likewise.
8578         * lib/utimens.c (ENOSYS): Likewise.
8579         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
8580         * lib/chdir-safer.c (ELOOP): Likewise.
8581         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
8582         * modules/c-stack (Depends-on): Add errno.
8583         * modules/canonicalize (Depends-on): Likewise.
8584         * modules/chdir-safer (Depends-on): Likewise.
8585         * modules/fdopendir (Depends-on): Likewise.
8586         * modules/inet_ntop (Depends-on): Likewise.
8587         * modules/inet_pton (Depends-on): Likewise.
8588         * modules/lchown (Depends-on): Likewise.
8589         * modules/openat (Depends-on): Likewise.
8590         * modules/savewd (Depends-on): Likewise.
8591         * modules/settime (Depends-on): Likewise.
8592         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
8593
8594         fts: avoid leaking fds
8595         * modules/fts (Depends-on): Add cloexec.
8596         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
8597         flag.
8598
8599         fts: make directory fds more robust
8600         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
8601         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
8602
8603         backupfile, chdir-long, fts, savedir: make safer
8604         * lib/backupfile.c (includes): Use "dirent--.h", since
8605         numbered_backup can write to stderr during readdir.
8606         * lib/savedir.c (includes): Likewise.
8607         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
8608         emulation can write to stderr on failure.
8609         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
8610         * lib/getcwd.c: Document why opendir_safer is unused.
8611         * lib/glob.c: Likewise.
8612         * lib/scandir.c: Likewise.
8613         * lib/openat-proc.c: Likewise, for open_safer.
8614         * modules/backupfile (Depends-on): Add dirent-safer.
8615         * modules/savedir (Depends-on): Likewise.
8616         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
8617         * modules/chdir-long (Depends-on): Add openat-safer.
8618
8619         openat-safer: new module
8620         * modules/openat-safer: New file.
8621         * lib/openat-safer.c: Likewise.
8622         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
8623         * lib/fcntl-safer.h (openat_safer): Declare.
8624         * lib/fcntl--.h (openat): Override.
8625         * MODULES.html.sh (File descriptor based I/O): Mention it.
8626         * lib/openat.h: Add double-inclusion guards.
8627         * lib/openat.c (includes): Only include "fcntl-safer.h", not
8628         "fcntl--.h", so we can implement openat.
8629         * modules/openat-safer-tests: New test.
8630         * tests/test-openat-safer.c: New file.
8631
8632         dirent-safer: new module
8633         * modules/dirent-safer: New file.
8634         * lib/dirent--.h: Likewise.
8635         * lib/dirent-safer.h: Likewise.
8636         * lib/opendir-safer.c: Likewise.
8637         * m4/dirent-safer.m4: Likewise.
8638         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
8639         * modules/dirent-safer-tests: New test.
8640         * tests/test-dirent-safer.c: New file.
8641         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
8642
8643         fdopendir: optimize on mingw
8644         * lib/unistd.in.h (_gl_directory_name): New prototype.
8645         * lib/fchdir.c (_gl_directory_name): Implement it.
8646         (fchdir): Use it to simplify implementation.
8647         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
8648         fchdir, when available, to avoid calling [f]chdir().
8649
8650         fdopendir: split into its own module
8651         * lib/openat.c (fdopendir): Move...
8652         * lib/fdopendir.c: ...into new file.
8653         * modules/fdopendir: New module.
8654         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
8655         * modules/openat (Depends-on): Add fdopendir.
8656         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
8657         fdopendir here.
8658         * modules/savedir (Depends-on): Only need fdopendir, not full
8659         openat.
8660         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
8661         * lib/openat.h (fdopendir): Drop prototype.
8662         * lib/dirent.in.h (fdopendir): Provide prototype.
8663         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
8664         * modules/dirent (Makefile.am): Substitute them.
8665         * MODULES.html.sh (File system functions): Mention it.
8666         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
8667         * modules/fdopendir-tests: New file.
8668         * tests/test-fdopendir.c: Likewise.
8669
8670         fchdir: use more consistent macro convention
8671         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
8672         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
8673         REPLACE_FCHDIR, rather than relying on config.h macros.
8674         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
8675         inside a single make-time REPLACE_FCHDIR block, rather than using
8676         the config.h FCHDIR_REPLACEMENT.
8677         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
8678         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
8679         Manage fstat replacement.
8680         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
8681         REPLACE_FCHDIR.
8682         * modules/sys_stat (Files): Add m4/unistd_h.m4.
8683         (Makefile.am): Substitute REPLACE_FCHDIR.
8684         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
8685         FCHDIR_REPLACEMENT.
8686         * lib/dup-safer.c (dup_safer): Likewise.
8687         * lib/dup2.c (rpl_dup2): Likewise.
8688         * lib/dup3.c (rpl_dup3): Likewise.
8689         * lib/open.c (rpl_open): Likewise.
8690
8691         fchdir: simplify error handling, and support dup3
8692         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
8693         stdbool, malloc-posix, realloc-posix.
8694         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
8695         (ensure_dirs_slot): Return false on allocation failure.
8696         (rpl_dup2): Delete.
8697         (_gl_register_dup): New function.
8698         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
8699         (_gl_register_fd): Close fd on allocation failure.
8700         * lib/fcntl.in.h (_gl_register_fd): Update signature.
8701         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
8702         prototype.
8703         (rpl_dup2_fchdir): Delete prototype.
8704         * lib/open.c (open): Update caller.
8705         * lib/dup2.c (dup2): Track fchdir metadata.
8706         * lib/dup3.c (dup3): Likewise.
8707         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
8708         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
8709
8710 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8711
8712         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
8713         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
8714         don't pass arguments to AC_OUTPUT.
8715
8716 2009-09-02  Bruno Haible  <bruno@clisp.org>
8717
8718         * modules/mkdtemp (License): Relicense under LGPLv2+.
8719         Reported by Paolo Bonzini.
8720
8721 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8722
8723         Replace uses of obsolete autoconf macros in Jim's modules.
8724         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
8725         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
8726         can evoke a warning from autoconf when run with -Wobsolete
8727         enabled.  They were declared obsolete for good reasons (see
8728         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
8729         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
8730         should not continue using the deprecated macros.
8731         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
8732         obsolete Autoconf macros with modern counterparts.
8733         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8734         * m4/dos.m4 (gl_AC_DOS): Likewise.
8735         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
8736         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
8737         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
8738         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
8739         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
8740         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
8741         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
8742         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
8743         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
8744         Likewise.
8745         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8746         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
8747         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
8748         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
8749         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
8750         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
8751
8752 2009-09-01  Eric Blake  <ebb9@byu.net>
8753
8754         fchdir: fix off-by-one bug in previous patch
8755         * lib/fchdir.c (rpl_fstat): Use correct bounds.
8756         (_gl_unregister_fd): Delete useless if.
8757
8758 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
8759
8760         maint.mk: sort the list of syntax-check rules
8761         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
8762         easier to get a sense of progress when the rules are run sequentially
8763         and take a long time.
8764
8765 2009-09-01  Simon Josefsson  <simon@josefsson.org>
8766
8767         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
8768         * modules/netinet_in: Likewise.
8769         * modules/sys_file: Likewise.
8770         * modules/sys_ioctl: Likewise.
8771         * modules/sys_select: Likewise.
8772         * modules/sys_socket: Likewise.
8773         * modules/sys_stat: Likewise.
8774         * modules/sys_time: Likewise.
8775         * modules/sys_times: Likewise.
8776         * modules/sys_utsname: Likewise.
8777         * modules/sys_wait: Likewise.
8778
8779 2009-09-01  Jim Meyering  <meyering@redhat.com>
8780
8781         fts: help ensure that return values are not ignored
8782         * lib/fts_.h (__GNUC_PREREQ): Define.
8783         (__attribute_warn_unused_result__): Define.
8784         (fts_children, fts_close, fts_open, fts_read): Declare with
8785         __attribute_warn_unused_result__.
8786
8787         fts: fts_close now fails also when closing a dir file descriptor fails
8788         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
8789         and propagate to caller, along with errno.
8790
8791         announce-gen: correct formatting in --help output
8792         * build-aux/announce-gen (usage): Move the one-line description in
8793         --help output "up", to where it belongs, just after Usage:.
8794
8795 2009-08-31  Eric Blake  <ebb9@byu.net>
8796
8797         fchdir: port to mingw
8798         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
8799         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
8800         opened, then use a substitute.
8801         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
8802         replacement.
8803         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
8804         (_gl_register_fd): No need to check stat if open already filters
8805         all directories.
8806         (fchdir): Fix error condition to match POSIX.
8807         * modules/fchdir (Depends-on): Add sys_stat.
8808         * doc/posix-functions/open.texi (open): Document the limitation.
8809         * modules/fchdir-tests: New file.
8810         * tests/test-fchdir.c: Likewise.
8811
8812         canonicalize: allow cross-testing from cygwin to mingw
8813         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
8814         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
8815         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
8816         Likewise.
8817         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
8818         target does not support symlinks.
8819         * tests/test-canonicalize-lgpl.sh: Likewise.
8820
8821         chown: avoid compilation warning on mingw
8822         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
8823         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
8824         mingw.
8825         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8826         * modules/chown (Depends-on): Add errno.
8827
8828 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8829
8830         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
8831         command.
8832
8833 2009-08-31  Jim Meyering  <meyering@redhat.com>
8834
8835         canonicalize: remove useless initialization
8836         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
8837         initialization of local, "end".
8838
8839 2009-08-30  Bruno Haible  <bruno@clisp.org>
8840
8841         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
8842         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
8843         ENOSYS.
8844
8845 2009-08-30  Bruno Haible  <bruno@clisp.org>
8846
8847         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
8848         /usr/xpg4/bin/tr when it exists.
8849         * tests/test-pipe-filter-gi1.sh: Likewise.
8850
8851 2009-08-30  Bruno Haible  <bruno@clisp.org>
8852
8853         Work around deficient /usr/bin/id program on Solaris.
8854         * tests/test-file-has-acl.sh (ID): New variable.
8855         * tests/test-set-mode-acl.sh (ID): Likewise.
8856         * tests/test-copy-acl.sh (ID): Likewise.
8857         * tests/test-copy-file.sh (ID): Likewise.
8858
8859 2009-08-30  Bruno Haible  <bruno@clisp.org>
8860
8861         New module 'xstriconveh'.
8862         * lib/xstriconveh.h: New file.
8863         * lib/xstriconveh.c: New file.
8864         * modules/xstriconveh: New file.
8865
8866 2009-08-30  Bruno Haible  <bruno@clisp.org>
8867
8868         Make it easier to use mem_cd_iconveh.
8869         * lib/striconveh.h (iconveh_t): New type.
8870         (iconveh_open, iconveh_close): New declarations.
8871         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
8872         with a single 'const iconveh_t *' argument.
8873         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
8874         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
8875         with a single 'const iconveh_t *' argument.
8876         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
8877         * tests/test-striconveh.c (main): Update.
8878         * NEWS: Mention the change.
8879
8880 2009-08-30  Bruno Haible  <bruno@clisp.org>
8881
8882         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
8883         problem.
8884
8885 2009-08-30  Bruno Haible  <bruno@clisp.org>
8886
8887         Work around iconv_open problem on Solaris.
8888         * lib/iconv_open-solaris.gperf: New file.
8889         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
8890         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
8891         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
8892         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
8893         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
8894         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
8895
8896 2009-08-29  Jim Meyering  <meyering@redhat.com>
8897
8898         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
8899         * top/maint.mk (cvs-check): Remove target; it was just an alias
8900         to the better-named vc-diff-check.
8901         (maintainer-distcheck): Remove rule.  It was used only from
8902         the (alpha/beta/major) target, and all of its commands but one
8903         were coreutils-specific.
8904         (vc-dist): Remove rule.
8905         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
8906         Run vc-diff-check, not vc-dist.
8907         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
8908
8909 2009-08-27  Bruno Haible  <bruno@clisp.org>
8910
8911         * tests/test-bitrotate.c (main): Remove test that uses a shift count
8912         of 0.
8913
8914 2009-08-27  Bruno Haible  <bruno@clisp.org>
8915
8916         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
8917         compilers.
8918         * doc/func.texi: Document the SunPRO C bug.
8919
8920 2009-08-27  Bruno Haible  <bruno@clisp.org>
8921
8922         Fix link error on Solaris.
8923         * tests/test-parse-duration.c (xstrdup): Remove function.
8924
8925 2009-08-26  Pádraig Brady  <P@draigbrady.com>
8926
8927         ignore-value: handle pointer types, too
8928         * lib/ignore-value.h (__attribute__): Remove definition.
8929         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
8930         of a more concise and more-often effective "(void) i" statement.
8931         (ignore_ptr): New function to suppress warnings from functions that
8932         return pointers, and to make it explicit that one function doesn't
8933         handle all cases.
8934
8935 2009-08-25  Bruno Haible  <bruno@clisp.org>
8936
8937         dup2: work around a Linux bug.
8938         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
8939         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
8940         * doc/posix-functions/dup2.texi: Mention the Linux bug.
8941         Reported by Simon Josefsson.
8942
8943 2009-08-25  Jim Meyering  <meyering@redhat.com>
8944
8945         libguestfs uses gnulib
8946         * users.txt: Add libguestfs.
8947
8948 2009-08-24  Eric Blake  <ebb9@byu.net>
8949
8950         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
8951         * lib/pipe2.c (includes): Add binary-io.h.
8952         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
8953
8954 2009-08-24  Bruno Haible  <bruno@clisp.org>
8955
8956         Tolerate declared but missing accept4 syscall.
8957         * lib/accept4.c (accept4): Invoke original accept4 function first, if
8958         available.
8959         * lib/sys_socket.in.h (accept4): If the function is already present,
8960         override it.
8961         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
8962         * modules/accept4 (Makefile.am): Compile accept4.c always.
8963         Reported by Paolo Bonzini and Eric Blake.
8964
8965 2009-08-23  Bruno Haible  <bruno@clisp.org>
8966
8967         New module 'accept4'.
8968         * lib/sys_socket.in.h (accept4): New declaration.
8969         * lib/accept4.c: New file.
8970         * m4/accept4.m4: New file.
8971         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8972         GNULIB_ACCEPT4, HAVE_ACCEPT4.
8973         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
8974         HAVE_ACCEPT4.
8975         * modules/accept4: New file.
8976         * doc/glibc-functions/accept4.texi: Mention the new module.
8977
8978 2009-08-24  Jim Meyering  <meyering@redhat.com>
8979
8980         progname: also set global program_invocation_name, when possible
8981         Before this change, a libtool-enabled program that calls glibc's
8982         error function would report the program name as
8983         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
8984         * modules/progname (configure.ac): Check for a declaration of
8985         program_invocation_name.
8986         * lib/progname.c:  Include <errno.h>.
8987         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
8988         Set program_invocation_name.
8989
8990 2009-08-23  Bruno Haible  <bruno@clisp.org>
8991
8992         * lib/dup3.c: Include <string.h>.
8993
8994 2009-08-23  Bruno Haible  <bruno@clisp.org>
8995
8996         * lib/dup3.c (dup3): Test only once whether the system actually exists.
8997         * lib/pipe2.c (pipe2): Likewise.
8998         Suggested by Eric Blake.
8999
9000 2009-08-23  Bruno Haible  <bruno@clisp.org>
9001
9002         Tolerate declared but missing dup3 syscall.
9003         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
9004         * lib/unistd.in.h (dup3): If the function is already present,
9005         override it.
9006         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
9007         * modules/dup3 (Makefile.am): Compile dup3.c always.
9008         Reported by Paolo Bonzini.
9009
9010 2009-08-23  Bruno Haible  <bruno@clisp.org>
9011
9012         Tolerate declared but missing pipe2 syscall.
9013         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
9014         available.
9015         * lib/unistd.in.h (pipe2): If the function is already present,
9016         override it.
9017         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
9018         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
9019         Reported by Paolo Bonzini.
9020
9021 2009-08-23  Bruno Haible  <bruno@clisp.org>
9022
9023         * lib/pipe2.c (pipe2): Move #ifs inside function.
9024
9025 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9026
9027         quotearg: document limitations of quote_these_too
9028         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
9029         those limitations are created.
9030         * lib/quotearg.h (set_char_quoting): Document that digits and
9031         letters that are special after backslash are not permitted.
9032         (quotearg_char): Cross-reference set_char_quoting documentation.
9033
9034 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
9035
9036         quotearg: implement custom_quoting_style
9037         * lib/quotearg.c: (struct quoting_options): Add left_quote and
9038         right_quote fields.
9039         (set_custom_quoting): New public function.
9040         (quotearg_buffer_restyled): Add left_quote and right_quote
9041         arguments, handle them very much like locale quoting, and update
9042         all uses.
9043         (quotearg_n_custom): New public function.
9044         (quotearg_n_custom_mem): New public function.
9045         (quotearg_custom): New public function.
9046         (quotearg_custom_mem): New public function.
9047         * lib/quotearg.h: Prototype and document new public functions.
9048         (enum quoting_style): For escape_quoting_style and
9049         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
9050         ignored even though they're otherwise like c_quoting_style.
9051         Add custom_quoting_style member and document with comparison to
9052         clocale_quoting_style.
9053         * tests/test-quotearg.c (custom_quotes): New array.
9054         (custom_results): New array.
9055         (main): Extend to test custom quoting.
9056
9057 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9058
9059         quotearg: fix right quote escaping when it's in quote_these_too
9060         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
9061         quote, be sure to prepend only one backslash.
9062         * tests/test-quotearg.c (use_quote_double_quotes): New function.
9063         (main): Test it.
9064
9065 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9066
9067         quotearg-tests: test escaping of embedded locale quotes
9068         * tests/test-quotearg.c (struct result_strings): Add member for
9069         new input.
9070         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
9071         (inputs): Add new input.
9072         (results_g): Add expected results.
9073         (flag_results): Likewise.
9074         (locale_results): Likewise.
9075         (compare_strings): Check those.
9076
9077 2009-08-23  Bruno Haible  <bruno@clisp.org>
9078
9079         Tests for module 'dup3'.
9080         * modules/dup3-tests: New file.
9081         * tests/test-dup3.c: New file.
9082
9083         New module 'dup3'.
9084         * lib/unistd.in.h (dup3): New declaration.
9085         * lib/dup3.c: New file.
9086         * m4/dup3.m4: New file.
9087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
9088         HAVE_DUP3.
9089         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
9090         * modules/dup3: New file.
9091         * doc/glibc-functions/dup3.texi: Mention the new module.
9092
9093 2009-08-23  Bruno Haible  <bruno@clisp.org>
9094
9095         Tweak the dup2 test.
9096         * tests/test-dup2.c (main): Create the test file empty. Verify that an
9097         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
9098         the test file is still empty. Fix argument order of lseek.
9099
9100 2009-08-23  Bruno Haible  <bruno@clisp.org>
9101
9102         Avoid test link errors when the modules getopt-gnu, gettext are used.
9103         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
9104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9105
9106 2009-08-23  Bruno Haible  <bruno@clisp.org>
9107
9108         Fix getdtablesize() on mingw.
9109         * lib/getdtablesize.c (getdtablesize): Implement differently.
9110         * lib/unistd.in.h (getdtablesize): Improve comment.
9111
9112 2009-08-23  Bruno Haible  <bruno@clisp.org>
9113
9114         New module 'mkostemp'.
9115         Based on Ulrich Drepper's 2007-08-10 change in glibc.
9116         * lib/stdlib.in.h (mksotemp): New declaration.
9117         * lib/mkostemp.c: New file, from glibc with modifications.
9118         * lib/tempname.h (GT_FILE): Remove outdated comment.
9119         (gen_tempname): Add flags argument.
9120         * lib/tempname.c (__GT_BIGFILE): Remove macro.
9121         (__GT_FILE): Map to 1.
9122         (small_open, large_open): Remove macros.
9123         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
9124         * lib/mkstemp.c (mkstemp): Update.
9125         * lib/mkdtemp.c (mkdtemp): Likewise.
9126         * m4/mkostemp.m4: New file.
9127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
9128         HAVE_MKOSTEMP.
9129         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
9130         HAVE_MKOSTEMP.
9131         * modules/mkostemp: New file, based on modules/mkstemp.
9132         * doc/glibc-functions/mkostemp.texi: Mention the new module.
9133         * NEWS: Mention the change.
9134
9135 2009-08-23  Bruno Haible  <bruno@clisp.org>
9136
9137         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
9138         Reported by Eric Blake.
9139
9140 2009-08-23  Bruno Haible  <bruno@clisp.org>
9141
9142         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
9143         Reported by Eric Blake.
9144
9145 2009-08-23  Bruno Haible  <bruno@clisp.org>
9146
9147         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
9148         * modules/pipe2 (Depends-on): Likewise.
9149
9150 2009-08-23  Eric Blake  <ebb9@byu.net>
9151
9152         fcntl-h: add O_TTY_INIT support
9153         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
9154         * tests/test-fcntl-h.c (o): Test it.
9155         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9156
9157         fcntl-h: rename from fcntl, in preparation for fcntl(2)
9158         * modules/fcntl: Move <fcntl.h> header replacement...
9159         * modules/fcntl-h: ...to new name, so as not to collide with
9160         like-named function.
9161         * tests/test-fcntl.c: Rename...
9162         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
9163         * modules/fcntl-tests: Rename...
9164         * modules/fcntl-h-tests: ...to this.  Update test file name.
9165         * modules/chdir-long (Depends-on): Update clients.
9166         * modules/chdir-safer (Depends-on): Likewise.
9167         * modules/fcntl-safer (Depends-on): Likewise.
9168         * modules/fts (Depends-on): Likewise.
9169         * modules/mkancesdirs (Depends-on): Likewise.
9170         * modules/mkdir-p (Depends-on): Likewise.
9171         * modules/open (Depends-on): Likewise.
9172         * modules/savewd (Depends-on): Likewise.
9173         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
9174         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9175
9176 2009-08-22  Bruno Haible  <bruno@clisp.org>
9177
9178         * modules/binary-io (License): Relicense under LGPL.
9179         * modules/pipe2 (License): Likewise.
9180
9181 2009-08-22  Bruno Haible  <bruno@clisp.org>
9182
9183         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
9184         return value.
9185         * lib/pipe-filter-gi.c (filter_init): Likewise.
9186         Reported by Eric Blake.
9187
9188 2009-08-22  Bruno Haible  <bruno@clisp.org>
9189
9190         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
9191         * modules/pipe (Depends-on): Add pipe2.
9192
9193 2009-08-22  Bruno Haible  <bruno@clisp.org>
9194
9195         Tests for module 'pipe2'.
9196         * modules/pipe2-tests: New file.
9197         * tests/test-pipe2.c: New file.
9198
9199         New module 'pipe2'.
9200         * lib/unistd.in.h (pipe2): New declaration.
9201         * lib/pipe2.c: New file.
9202         * m4/pipe2.m4: New file.
9203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
9204         HAVE_PIPE2.
9205         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
9206         * modules/pipe2: New file.
9207         * doc/glibc-functions/pipe2.texi: Mention the new module.
9208
9209 2009-08-22  Bruno Haible  <bruno@clisp.org>
9210
9211         Reference some new glibc functions.
9212         * doc/glibc-functions/accept4.texi: New file.
9213         * doc/glibc-functions/dup3.texi: New file.
9214         * doc/glibc-functions/mkostemp.texi: New file.
9215         * doc/glibc-functions/pipe2.texi: New file.
9216         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
9217         (Glibc sys/socket.h): Refer to accept4.
9218         (Glibc unistd.h): Refer to dup3, pipe2.
9219         Reported by Eric Blake.
9220
9221 2009-08-22  Jim Meyering  <meyering@redhat.com>
9222             Bruno Haible  <bruno@clisp.org>
9223
9224         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
9225         This makes it so packages using automake-1.11's silent-rules option
9226         can print e.g., a single "GEN    configmake.h" line, rather than
9227         the 30+ statements that perform the job.  If you want to see the
9228         actual commands, you can still run "make V=1".
9229         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
9230         so that make output is abbreviated when those variables are defined
9231         appropriately.
9232         * modules/argz: Likewise.
9233         * modules/arpa_inet: Likewise.
9234         * modules/byteswap: Likewise.
9235         * modules/configmake: Likewise.
9236         * modules/dirent: Likewise.
9237         * modules/errno: Likewise.
9238         * modules/fcntl: Likewise.
9239         * modules/float: Likewise.
9240         * modules/fnmatch: Likewise.
9241         * modules/getopt-posix: Likewise.
9242         * modules/glob: Likewise.
9243         * modules/iconv_open: Likewise.
9244         * modules/inttypes: Likewise.
9245         * modules/localcharset: Likewise.
9246         * modules/locale: Likewise.
9247         * modules/math: Likewise.
9248         * modules/netdb: Likewise.
9249         * modules/netinet_in: Likewise.
9250         * modules/poll: Likewise.
9251         * modules/posix_spawnp-tests: Likewise.
9252         * modules/sched: Likewise.
9253         * modules/search: Likewise.
9254         * modules/selinux-h: Likewise.
9255         * modules/signal: Likewise.
9256         * modules/spawn: Likewise.
9257         * modules/stdarg: Likewise.
9258         * modules/stdbool: Likewise.
9259         * modules/stddef: Likewise.
9260         * modules/stdint: Likewise.
9261         * modules/stdio: Likewise.
9262         * modules/stdlib: Likewise.
9263         * modules/string: Likewise.
9264         * modules/strings: Likewise.
9265         * modules/sys_file: Likewise.
9266         * modules/sys_ioctl: Likewise.
9267         * modules/sys_select: Likewise.
9268         * modules/sys_socket: Likewise.
9269         * modules/sys_stat: Likewise.
9270         * modules/sys_time: Likewise.
9271         * modules/sys_times: Likewise.
9272         * modules/sys_utsname: Likewise.
9273         * modules/sys_wait: Likewise.
9274         * modules/sysexits: Likewise.
9275         * modules/time: Likewise.
9276         * modules/unistd: Likewise.
9277         * modules/wchar: Likewise.
9278         * modules/wctype: Likewise.
9279
9280 2009-08-22  Jim Meyering  <meyering@redhat.com>
9281
9282         announce-gen: detect write failure
9283         * build-aux/announce-gen: Add Coda at end.
9284         Remove equivalent-but-more-verbose block at top.
9285
9286 2009-08-19  Akim Demaille  <demaille@gostai.com>
9287
9288         bootstrap: --help to stdout.
9289         * bootstrap (usage): Don't send --help to stderr.
9290         Use a here doc instead of a long string.
9291
9292 2009-08-21  Eric Blake  <ebb9@byu.net>
9293
9294         test-popen-safer: split from test-popen
9295         * tests/test-popen.c (main): Move...
9296         * tests/test-popen.h: ...into new file.
9297         * tests/test-popen-safer2.c: New file.
9298         * modules/popen-tests (Files): Add test-popen.h.
9299         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
9300         Suggested by Bruno Haible.
9301
9302         test-fcntl-safer: split from test-open
9303         * tests/test-open.c (main): Move...
9304         * tests/test-open.h: ...into new file.
9305         * tests/test-fcntl-safer.c: New file.
9306         * modules/open-tests (Files): Add test-open.h.
9307         * modules/fcntl-safer-tests: New file.
9308         Suggested by Bruno Haible.
9309
9310         test-fopen-safer: split from test-fopen
9311         * tests/test-fopen.c (main): Move...
9312         * tests/test-fopen.h: ...into new file.
9313         * tests/test-fopen-safer.c: New file.
9314         * modules/fopen-tests (Files): Add test-fopen.h.
9315         * modules/fopen-safer-tests: New file.
9316         Suggested by Bruno Haible.
9317
9318 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9319
9320         popen-safer: test O_CLOEXEC at run-time.
9321         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
9322
9323 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9324
9325         fcntl: move more flags to the header
9326         * lib/cloexec.c: Do not define FD_CLOEXEC here.
9327         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
9328         * lib/fcntl.in.h: Do both things here.
9329
9330 2009-08-21  Jim Meyering  <meyering@redhat.com>
9331
9332         consistently remove $@-t before redirecting to it
9333         * modules/argz: Remove $@-t and $@ before redirecting to the former.
9334         * modules/alloca-opt: Likewise.
9335         * modules/byteswap: Likewise.
9336         * modules/fnmatch: Likewise.
9337         * modules/getopt-posix: Likewise.
9338         * modules/glob: Likewise.
9339         * modules/poll: Likewise.
9340         * modules/posix_spawnp-tests: Likewise.
9341         * modules/sys_socket: Likewise.
9342         * modules/sysexits: Likewise.
9343
9344 2009-08-21  Eric Blake  <ebb9@byu.net>
9345
9346         popen: simplify access to original popen
9347         * lib/popen.c (rpl_popen): No need to worry about popen being a
9348         macro.
9349         Reported by Bruno Haible.
9350
9351 2009-08-20  Eric Blake  <ebb9@byu.net>
9352
9353         build: avoid some compiler warnings
9354         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
9355         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
9356         type.
9357         (new_exclude_segment, excluded_file_pattern_p)
9358         (excluded_file_name_p): Reduce scope.
9359         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
9360         old-style declaration.
9361
9362 2009-08-20  Simon Josefsson  <simon@josefsson.org>
9363
9364         * tests/test-exclude1.sh: Handle Windows EOL.
9365         * tests/test-exclude2.sh: Likewise.
9366         * tests/test-exclude3.sh: Likewise.
9367         * tests/test-exclude4.sh: Likewise.
9368         * tests/test-exclude5.sh: Likewise.
9369         * tests/test-exclude6.sh: Likewise.
9370         * tests/test-exclude7.sh: Likewise.
9371
9372 2009-08-19  Akim Demaille  <demaille@gostai.com>
9373
9374         bootstrap: find sha1sum when named gsha1sum.
9375         * bootstrap (find_tool): New.
9376         ($SHA1SUM): New.
9377         Use it.
9378
9379 2009-08-20  Jim Meyering  <meyering@redhat.com>
9380
9381         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
9382         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
9383         expression that converts "." in a file name to "\." in the resulting
9384         regexp.  Start with a dummy statement, so that prior shell variable
9385         definitions are expanded portably.  Reported by Simon Josefsson.
9386
9387 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
9388
9389         Fix polling for writeability of a screen buffer.
9390         * lib/poll.c: Distinguish input and screen buffers for the
9391         Win32 implementation.
9392         * lib/select.c: Likewise.
9393
9394 2009-08-19  Eric Blake  <ebb9@byu.net>
9395
9396         popen-safer: prevent popen from clobbering std descriptors
9397         * modules/popen-safer: New file.
9398         * lib/popen-safer.c: Likewise.
9399         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
9400         * lib/stdio--.h (popen): Provide override.
9401         * lib/stdio-safer.h (popen_safer): Provide declaration.
9402         * tests/test-popen.c (includes): Partially test this.
9403         * modules/popen-safer-tests: New file, for more tests.
9404         * tests/test-popen-safer.c: Likewise.
9405         * MODULES.html.sh (file stream based Input/Output): Mention it.
9406
9407         tests: test some of the *-safer modules
9408         * modules/fopen-safer (Depends-on): Add fopen.
9409         * modules/fcntl-safer (Depends-on): Add fcntl.
9410         * modules/stdlib-safer (Depends-on): Add stdlib.
9411         (configure.ac): Set indicator.
9412         * modules/unistd-safer (configure.ac): Likewise.
9413         * modules/tmpfile-safer (configure.ac): Likewise.
9414         (Depends-on): Add tmpfile.
9415         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
9416         active.
9417         * tests/test-fopen.c (includes): Test safer versions when they are
9418         in use.
9419         * tests/test-open.c (includes): Likewise.
9420
9421         popen: fix cygwin 1.5 bug when stdin closed
9422         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
9423         * modules/popen: New file.
9424         * modules/popen-tests: Likewise.
9425         * tests/test-popen.c: Likewise.
9426         * m4/popen.m4: Likewise.
9427         * lib/popen.c: Likewise.
9428         * lib/stdio.in.h (popen): New declaration.
9429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
9430         * modules/stdio (Makefile.am): Likewise.
9431         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
9432
9433 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
9434
9435         maint.mk: give full control over update-copyright exclusions
9436         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
9437         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
9438         (update-copyright): Don't force inclusion of top-level
9439         ChangeLog.  Don't force exclusion of all COPYING files, but make
9440         them the default exclusion instead.
9441
9442 2009-08-16  Bruno Haible  <bruno@clisp.org>
9443
9444         Fix test failures on Solaris 10.
9445         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
9446         tests when Solaris iconv() is used.
9447         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9448         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9449         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9450         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9451         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9452
9453 2009-08-16  Bruno Haible  <bruno@clisp.org>
9454
9455         Fix test failures on Solaris 10.
9456         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
9457         'tr' program and pass it as first argument.
9458         * tests/test-pipe-filter-gi1.sh: Likewise.
9459         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
9460         program as first argument.
9461         * tests/test-pipe-filter-gi1.c (main): Likewise.
9462
9463 2009-08-16  Eric Blake  <ebb9@byu.net>
9464
9465         fpurge: fix previous commits
9466         * modules/fpurge (Makefile.am): Make replacement conditional,
9467         partially reverting 2007-04-29 change; missed in previous
9468         attempt.
9469         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
9470         is missing.
9471
9472 2009-08-16  Bruno Haible  <bruno@clisp.org>
9473
9474         Clarify fpurge's effect on the file position.
9475         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
9476         * tests/test-fpurge.c (main): Make a second pass for checking the file
9477         position.
9478
9479 2009-08-16  Bruno Haible  <bruno@clisp.org>
9480
9481         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
9482         declaration of fpurge is missing.
9483         * tests/test-fpurge.c (main): Check that the file has not more contents
9484         than expected. Close the file before removing it.
9485
9486 2009-08-15  Eric Blake  <ebb9@byu.net>
9487
9488         fpurge: don't wrap working cygwin implementation
9489         * lib/fpurge.c (fpurge): Fix comment typo.
9490         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
9491         1.7 to avoid replacement.
9492         * tests/test-fpurge.c (main): Enhance test.
9493
9494 2009-08-15  Eric Blake  <ebb9@byu.net>
9495         and Jim Meyering  <meyering@redhat.com>
9496
9497         test-update-copyright: skip if perl is insufficient
9498         * tests/test-update-copyright.sh: Failure to run maintainer tool
9499         should not cause testsuite failure on cygwin 1.5.
9500
9501 2009-08-14  Eric Blake  <ebb9@byu.net>
9502
9503         doc: mention more functions added in cygwin 1.7.0
9504         * doc/posix-headers/limits.texi (limits.h): Update for recent
9505         cygwin additions.
9506         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
9507         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9508         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
9509         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
9510         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
9511
9512 2009-08-14  Eric Blake  <ebb9@byu.net>
9513
9514         maint.mk: simplify update-copyright rule
9515         * top/maint.mk (update-copyright-local): Delete, and document how
9516         to do it in cfg.mk instead.
9517         (update-copyright-exclude-regexp): Delete, and document how to do
9518         it in .x-update-copyright instead.
9519         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
9520         exclude ChangeLog.
9521
9522 2009-08-14  Bruno Haible  <bruno@clisp.org>
9523
9524         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
9525
9526 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9527
9528         maint.mk: support update-copyright-env
9529         * top/maint.mk (update-copyright-env): Define place-holder.
9530         (update-copyright): Expand $(update-copyright-env) before
9531         invoking update-copyright.
9532
9533 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9534
9535         update-copyright: implement forced reformatting
9536         * build-aux/update-copyright: Implement and document
9537         UPDATE_COPYRIGHT_FORCE.
9538         * tests/test-update-copyright.sh: Test it.
9539
9540 2009-08-14  Eric Blake  <ebb9@byu.net>
9541         and Bruno Haible  <bruno@clisp.org>
9542
9543         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
9544         * tests/test-locale.c: Revert previous patch related to NULL.
9545         * tests/test-stdio.c: Likewise.
9546         * tests/test-stdlib.c: Likewise.
9547         * tests/test-string.c: Likewise.
9548         * tests/test-unistd.c: Likewise.
9549         * modules/time-tests (Depends-on): Add verify.
9550         * modules/wchar-tests (Depends-on): Likewise.
9551         * tests/test-time.c: Test for NULL compliance.
9552         * tests/test-wchar.c: Likewise.
9553         * modules/locale (Depends-on): Add stddef.
9554         * modules/stdio (Depends-on): Likewise.
9555         * modules/stdlib (Depends-on): Likewise.
9556         * modules/string (Depends-on): Likewise.
9557         * modules/time (Depends-on): Likewise.
9558         * modules/unistd (Depends-on): Likewise.
9559         * modules/wchar (Depends-on): Likewise.
9560         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
9561         * lib/stdlib.in.h (includes): Likewise.
9562         * lib/string.in.h (includes): Likewise.
9563         * lib/time.in.h (includes): Likewise.
9564         * lib/unistd.in.h (includes): Likewise.
9565         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
9566         replaced.
9567         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9568         * m4/stddef_h.m4: New file.
9569         * modules/stddef: Likewise.
9570         * lib/stddef.in.h: Likewise.
9571         * modules/stddef-tests: Likewise.
9572         * tests/test-stddef.c: Likewise.
9573         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
9574         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
9575         * doc/posix-headers/locale.texi (locale.h): Likewise.
9576         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
9577         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9578         * doc/posix-headers/string.texi (string.h): Likewise.
9579         * doc/posix-headers/time.texi (time.h): Likewise.
9580         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
9581         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
9582
9583 2009-08-14  Eric Blake  <ebb9@byu.net>
9584
9585         doc: improve git diff of texinfo files
9586         * .gitattributes: Add rule for *.texi files, with hint on how to
9587         use it.
9588         Copied from m4, and based on a report by Bruno Haible.
9589
9590 2009-08-14  Bruno Haible  <bruno@clisp.org>
9591
9592         Disable multithread support by default on Cygwin 1.5.x for real.
9593         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
9594
9595 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
9596
9597         update-copyright: much ado about intervals
9598         * build-aux/update-copyright: Implement and document
9599         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
9600         of copyright year intervals.
9601         Also, document UPDATE_COPYRIGHT_YEAR.
9602         * tests/test-update-copyright.sh: Test it.
9603
9604         update-copyright: convert 2-digit to 4-digit years
9605         * build-aux/update-copyright: Implement and document.
9606         * tests/test-update-copyright.sh: Update.
9607
9608 2009-08-14  Jim Meyering  <meyering@redhat.com>
9609
9610         test-exclude: avoid coreutils "make check" failure
9611         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
9612         just as in test-argmatch.c.
9613
9614 2009-08-13  Eric Blake  <ebb9@byu.net>
9615
9616         test-dup2: fix bad assumption
9617         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
9618         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
9619
9620         test-version-etc: fix CRLF portability issue
9621         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
9622         recognize \r.
9623         * tests/test-argp-version-etc-1.sh: Likewise.
9624
9625         getopt: update client modules
9626         * modules/argp (Depends-on): Use getopt-gnu.
9627         * modules/git-merge-changelog (Depends-on): Likewise.
9628         * modules/long-options (Depends-on): Likewise.
9629         * modules/xstrtol (Depends-on): Likewise.
9630
9631 2009-08-13  Simon Josefsson  <simon@josefsson.org>
9632
9633         * tests/test-version-etc.sh: Don't fail on different
9634         project/version.  Don't fail on CRLF differences.  Rewrite to use
9635         multiple -e instead of multiple sed forks, suggested by Eric Blake
9636         <ebb9@byu.net>.
9637         * tests/test-argp-version-etc-1.sh: Likewise.
9638
9639 2009-08-13  Simon Josefsson  <simon@josefsson.org>
9640
9641         * tests/test-version-etc.sh: Don't fail on different
9642         project/version.
9643
9644 2009-08-12  Bruno Haible  <bruno@clisp.org>
9645
9646         Tests for modules 'getopt-posix', 'getopt-gnu'.
9647         * modules/getopt-posix-tests: New file.
9648         * tests/test-getopt.c: New file.
9649         * tests/test-getopt.h: New file.
9650         * tests/test-getopt_long.h: New file.
9651
9652         New modules 'getopt-posix', 'getopt-gnu'.
9653         * modules/getopt-gnu: New file, renamed from modules/getopt.
9654         * modules/getopt-posix: New file.
9655         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
9656         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
9657         (gl_GETOPT): Remove macro.
9658         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
9659         Disable the test against BSD systems that declare optreset. Test
9660         against mingw bug. Test against lack of support of optional arguments
9661         on many platforms.
9662         * doc/glibc-headers/getopt.texi: Update module name and list of
9663         relevant platforms.
9664         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
9665         'getopt-gnu' and more portability problems.
9666         * NEWS: Mention the changes.
9667
9668 2009-08-12  Bruno Haible  <bruno@clisp.org>
9669
9670         Ensure that optarg etc. get declared by <unistd.h>.
9671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
9672         AC_USE_SYSTEM_EXTENSIONS.
9673         * modules/getopt (Depends-on): Add 'extensions'.
9674
9675 2009-08-12  Bruno Haible  <bruno@clisp.org>
9676
9677         Avoid test link errors.
9678         * modules/pipe-filter-ii-tests (Makefile.am): Define
9679         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
9680         * modules/pipe-filter-gi-tests (Makefile.am): Define
9681         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
9682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9683
9684 2009-08-12  Bruno Haible  <bruno@clisp.org>
9685
9686         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
9687         gl_GETOPT_SUBSTITUTE before.
9688         (gl_GETOPT): Use it.
9689         * m4/argp.m4 (gl_ARGP): Update.
9690         Reported by Sergey Poznyakoff.
9691
9692         * m4/getopt.m4: Reorder macros.
9693         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
9694         (gl_GETOPT_SUBSTITUTE): Remove macro.
9695
9696 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
9697
9698         Minor improvement in gitlog-to-changelog
9699
9700         * build-aux/gitlog-to-changelog: New option `--format' makes
9701         output format string configurable.
9702
9703 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
9704
9705         Optimize exclude: use hash tables for non-wildcard patterns.
9706
9707         * lib/exclude.c: Include hash.h and mbuiter.h
9708         (struct exclude_pattern, exclude_segment): New data types.
9709         (struct exclude): Rewrite.
9710         (fnmatch_pattern_has_wildcards): New function.
9711         (new_exclude_segment, free_exclude_segment): New functions.
9712         (excluded_file_pattern_p, excluded_file_name_p): New functions.
9713         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
9714         * lib/exclude.h (is_fnmatch_pattern): New prototype.
9715         * modules/exclude: Depend on hash and mbuiter.
9716
9717         * modules/exclude-tests: New file.
9718         * tests/test-exclude.c: New file.
9719         * tests/test-exclude1.sh: New file.
9720         * tests/test-exclude2.sh: New file.
9721         * tests/test-exclude3.sh: New file.
9722         * tests/test-exclude4.sh: New file.
9723         * tests/test-exclude5.sh: New file.
9724         * tests/test-exclude6.sh: New file.
9725         * tests/test-exclude7.sh: New file.
9726
9727 2009-08-12  Bruno Haible  <bruno@clisp.org>
9728
9729         Ensure that getopt() gets declared by <unistd.h>.
9730         * lib/unistd.in.h: Conditionally include getopt.h.
9731         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
9732         Set GNULIB_UNISTD_H_GETOPT.
9733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9734         GNULIB_UNISTD_H_GETOPT.
9735         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
9736
9737 2009-08-12  Bruno Haible  <bruno@clisp.org>
9738
9739         Clarify logic.
9740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
9741         gl_replace_getopt instead of GETOPT_H.
9742
9743 2009-08-12  Bruno Haible  <bruno@clisp.org>
9744
9745         * m4/getopt.m4: Add comments.
9746
9747 2009-08-12  Bruno Haible  <bruno@clisp.org>
9748
9749         Disable multithread support by default on Cygwin 1.5.x.
9750         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
9751         set gl_use_threads=no if not specified otherwise.
9752
9753 2009-08-11  Bruno Haible  <bruno@clisp.org>
9754
9755         Avoid compilation error on NetBSD 5.0.
9756         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
9757         * tests/test-stdio.c: Likewise.
9758         * tests/test-stdlib.c: Likewise.
9759         * tests/test-string.c: Likewise.
9760         * tests/test-unistd.c: Likewise.
9761         Reported by Greg Troxel <gdt@ir.bbn.com>
9762         at <https://savannah.gnu.org/support/?106973>.
9763
9764 2009-08-11  Bruno Haible  <bruno@clisp.org>
9765
9766         * modules/dup2-tests (Depends-on): Remove close.
9767
9768         Undo 2009-07-19 commit.
9769         * modules/acl-tests (Depends-on): Remove close.
9770         * modules/binary-io-tests (Depends-on): Likewise.
9771         * modules/closein-tests (Depends-on): Likewise.
9772         * modules/flock-tests (Depends-on): Likewise.
9773         * modules/fsync-tests (Depends-on): Likewise.
9774         * modules/lseek-tests (Depends-on): Likewise.
9775         * modules/pipe-tests (Depends-on): Likewise.
9776         * modules/posix_spawn-tests (Depends-on): Likewise.
9777         * modules/posix_spawnp-tests (Depends-on): Likewise.
9778         * modules/stat-time-tests (Depends-on): Likewise.
9779         * modules/yesno-tests (Depends-on): Likewise.
9780
9781 2009-08-10  Bruno Haible  <bruno@clisp.org>
9782
9783         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
9784
9785 2009-08-10  Bruno Haible  <bruno@clisp.org>
9786
9787         Fix a gcc warning.
9788         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
9789
9790 2009-08-10  Bruno Haible  <bruno@clisp.org>
9791
9792         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
9793         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
9794         not only the first time.
9795         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
9796         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
9797         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
9798         is 1, not only the the first time.
9799
9800 2009-08-10  Bruno Haible  <bruno@clisp.org>
9801
9802         Make it possible to use module 'gethostname' without module 'close'.
9803         * lib/unistd.in.h (close): Evoke a link error only if
9804         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
9805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9806         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9807         * modules/unistd (Makefile.am): Substitute
9808         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9809         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
9810         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
9811         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
9812         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9813         * modules/sys_ioctl (Makefile.am): Substitute
9814         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9815         * modules/socket (configure.ac): On native Windows, set
9816         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
9817         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
9818         Reported by Sam Steingold <sds@gnu.org>.
9819
9820 2009-08-10  Bruno Haible  <bruno@clisp.org>
9821
9822         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
9823         * modules/ioctl (configure.ac): Likewise.
9824
9825 2009-08-10  Bruno Haible  <bruno@clisp.org>
9826
9827         Avoid collision between gnulib wrapper and libintl wrapper.
9828         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
9829         already defined in intl/printf.c.
9830         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
9831         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
9832
9833 2009-08-09  Bruno Haible  <bruno@clisp.org>
9834
9835         Make <sys/select.h> really self-contained, also on Solaris 10.
9836         * lib/sys_select.in.h: Include <string.h>.
9837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
9838         Solaris 10 problem.
9839         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
9840         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
9841         Reported by Jim Meyering.
9842
9843 2009-08-09  Bruno Haible  <bruno@clisp.org>
9844
9845         Avoid warnings from 'aclocal' that are due to a use of macro name
9846         AM_XGETTEXT_OPTION that is not defined in automake.
9847         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
9848         automake.
9849         * modules/error (configure.ac): Likewise.
9850         * modules/propername (configure.ac): Likewise.
9851         * modules/vasprintf (configure.ac): Likewise.
9852         * modules/verror (configure.ac): Likewise.
9853         * modules/xprintf (configure.ac): Likewise.
9854         * modules/xvasprintf (configure.ac): Likewise.
9855
9856 2009-08-08  Bruno Haible  <bruno@clisp.org>
9857
9858         Avoid compilation error in C++ mode.
9859         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
9860         Reported by Sam Steingold <sds@gnu.org>.
9861
9862 2009-08-08  Bruno Haible  <bruno@clisp.org>
9863
9864         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
9865         for the various Unix platforms.
9866         * doc/posix-headers/limits.texi: Update platforms list regarding
9867         HOST_NAME_MAX.
9868         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9869
9870 2009-08-07  Jim Meyering  <meyering@redhat.com>
9871
9872         selinux-at: fix typo in a comment
9873         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
9874         Spotted by Paolo Bonzini.
9875
9876         selinux-at: remove redundant m4 code, add documentation
9877         * modules/selinux-at (configure.ac): Remove redundant code.
9878         LIB_SELINUX is already set via the dependent module, selinux-h.
9879         (Include): Add quotes around selinux-at.h.
9880         * lib/selinux-at.h: Add documentation.
9881         Reported by Bruno Haible in
9882         http://marc.info/?l=gnulib-bug&m=124958988300749
9883
9884 2009-08-07  Bruno Haible  <bruno@clisp.org>
9885
9886         Avoid link error on MacOS X 10.3 and 10.4.
9887         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
9888         on non-ELF systems.
9889         * lib/argp-pv.c (argp_program_version): Likewise.
9890         Reported by Simon Josefsson.
9891
9892 2009-08-07  Simon Josefsson  <simon@josefsson.org>
9893
9894         * tests/test-version-etc.sh: Use $EXEEXT.
9895
9896 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
9897
9898         update-copyright: update documentation to point to maint.mk
9899         * build-aux/update-copyright: Here.
9900
9901 2009-08-06  Jim Meyering  <meyering@redhat.com>
9902
9903         maint.mk: support update-copyright-local
9904         * top/maint.mk (update-copyright-local): Define place-holder.
9905         (update-copyright): Depend on $(update-copyright-local).
9906
9907 2009-08-06  Jim Meyering  <meyering@redhat.com>
9908
9909         selinux-at: new module
9910         Initially written for coreutils, this module will soon be
9911         used by findutils, too.
9912         * MODULES.html.sh [Misc]: Add selinux-at.
9913         * lib/selinux-at.h: New file, from coreutils.
9914         * lib/selinux-at.c: Likewise.
9915         * modules/selinux-at: Likewise.
9916         (License): Change from LGPL to GPL, since it depends
9917         on the GPL'd openat module.
9918
9919         doc: update README
9920         * README: Remove references to cogito.
9921         Remove cvs-repo-updating instructions from 2007.
9922         Don't imply that CVS is better if you have limited disk space.
9923
9924 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9925
9926         update-copyright: support C-style comments
9927         * build-aux/update-copyright: Implement and document.
9928         * tests/test-update-copyright.sh: Test.
9929
9930 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9931
9932         update-copyright: support omitted "(C)"
9933         * build-aux/update-copyright: Implement and document.  Also,
9934         allow variable whitespace before "(C)".
9935         * tests/test-update-copyright.sh: Test.
9936
9937 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9938
9939         update-copyright: don't trip on non-FSF copyright statements
9940         * build-aux/update-copyright: Fix so that the first correctly
9941         formatted FSF copyright statement is recognized no matter what
9942         appears before it.  Update documentation.
9943         * tests/test-update-copyright.sh: Test that.
9944
9945 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9946
9947         update-copyright: clean up code a little
9948         * build-aux/update-copyright: Append "_re" to the name of any
9949         variable holding a regular expression.
9950         Replace "old" and "new" with "stmt" in variable names.
9951         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
9952         handled correctly.
9953         Format code more consistently.
9954
9955 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
9956
9957         update-copyright-tests: improve portability
9958         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
9959         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
9960
9961 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
9962
9963         update-copyright: support @copyright{} and &copy;
9964         * build-aux/update-copyright: Implement and document.
9965         * tests/test-update-copyright.sh: Test.
9966
9967 2009-08-04  Jim Meyering  <meyering@redhat.com>
9968
9969         update-copyright-tests: correctly test EOL=\r\n handling
9970         * tests/test-update-copyright.sh: Put \r at the end of some lines
9971         for the dos-eol tests.  Based on a patch by Joel E. Denny.
9972
9973         maint.mk: make update-copyright exclusion list more configurable
9974         * top/maint.mk (update-copyright): Default to excluding COPYING,
9975         but allow an override, in case someone does want to update that file.
9976
9977         maint.mk: don't update copyright date in COPYING
9978         * top/maint.mk (update-copyright): Exclude COPYING.
9979
9980         maint.mk: add a copyright-updating rule
9981         * top/maint.mk (update-copyright): New rule.
9982         Derived from coreutils/Makefile.am.
9983
9984         update-copyright: rename some variables
9985         * build-aux/update-copyright: Rename a few variables for clarity.
9986         Tweak syntax.  List Joel E. Denny as coauthor.
9987
9988 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
9989
9990         update-copyright: fix bug for 2-digit last year and add tests
9991         * build-aux/update-copyright: Fix bug.
9992         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
9993         specified.
9994         * modules/update-copyright-tests: New
9995         * tests/test-update-copyright.sh: New.
9996
9997 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
9998
9999         update-copyright: handle leading tabs in line prefix
10000         * build-aux/update-copyright: Count leading tabs as 8 spaces
10001         when computing margin.  This helps with the formatting of
10002         ChangeLogs, for example.
10003         Fix documentation a little.
10004
10005 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10006
10007         update-copyright: support EOL=\r\n
10008         * build-aux/update-copyright: Implement that.
10009
10010 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10011
10012         update-copyright: automatically format copyright statements
10013         * build-aux/update-copyright: Implement that.
10014         Also, be a little more predictable and safer by always failing
10015         when the full copyright format is not perfectly recognized as an
10016         unbroken whole.  Discussed at
10017         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
10018         Rewrite documentation.
10019
10020 2009-08-03  Bruno Haible  <bruno@clisp.org>
10021
10022         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
10023
10024 2009-08-02  Bruno Haible  <bruno@clisp.org>
10025
10026         Tests for module 'uname'.
10027         * modules/uname-tests: New file.
10028         * tests/test-uname.c: New file.
10029
10030         New module 'uname'.
10031         * lib/uname.c: New file.
10032         * m4/uname.m4: New file.
10033         * modules/uname: New file.
10034         * doc/posix-functions/uname.texi: Mention the new module.
10035
10036 2009-08-02  Bruno Haible  <bruno@clisp.org>
10037
10038         Tests for module 'sys_utsname'.
10039         * modules/sys_utsname-tests: New file.
10040         * tests/test-sys_utsname.c: New file.
10041
10042         New module 'sys_utsname'.
10043         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
10044         * m4/sys_utsname_h.m4: New file.
10045         * modules/sys_utsname: New file.
10046         * doc/posix-headers/sys_utsname.texi: Mention the new module.
10047
10048 2009-08-02  Bruno Haible  <bruno@clisp.org>
10049
10050         Implicitly initialize the sockets library.
10051         * lib/gethostname.c: Include sockets.h.
10052         (rpl_gethostname): Invoke gl_sockets_startup.
10053         * lib/socket.c: Include sockets.h.
10054         (rpl_socket): Invoke gl_sockets_startup.
10055         * modules/gethostname (Depends-on): Add sockets.
10056         * modules/socket (Depends-on): Likewise.
10057         * tests/test-poll.c: Don't include sockets.h.
10058         (main): Don't invoke gl_sockets_startup.
10059         * tests/test-select.c: Don't include sockets.h.
10060         (main): Don't invoke gl_sockets_startup.
10061
10062 2009-08-02  Bruno Haible  <bruno@clisp.org>
10063
10064         Allow multiple calls to gl_sockets_startup.
10065         * lib/sockets.c (initialized_sockets_version): New variable.
10066         (gl_sockets_startup): Do nothing if already called for this or a higher
10067         version.
10068         (gl_sockets_cleanup): Reset initialized_sockets_version.
10069
10070 2009-08-03  Simon Josefsson  <simon@josefsson.org>
10071
10072         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
10073         different project/version.
10074
10075 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
10076             Bruno Haible  <bruno@clisp.org>
10077
10078         Tests for module 'pipe-filter-gi'.
10079         * modules/pipe-filter-gi-tests: New file.
10080         * tests/test-pipe-filter-gi1.sh: New file.
10081         * tests/test-pipe-filter-gi1.c: New file.
10082         * tests/test-pipe-filter-gi2.sh: New file.
10083         * tests/test-pipe-filter-gi2-main.c: New file.
10084         * tests/test-pipe-filter-gi2-child.c: New file.
10085
10086         New module 'pipe-filter-gi'.
10087         * lib/pipe-filter-gi.c: New file.
10088         * modules/pipe-filter-gi: New file.
10089
10090 2009-08-02  Bruno Haible  <bruno@clisp.org>
10091             Paolo Bonzini  <bonzini@gnu.org>
10092
10093         Tests for module 'pipe-filter-ii'.
10094         * modules/pipe-filter-ii-tests: New file.
10095         * tests/test-pipe-filter-ii1.sh: New file.
10096         * tests/test-pipe-filter-ii1.c: New file.
10097         * tests/test-pipe-filter-ii2.sh: New file.
10098         * tests/test-pipe-filter-ii2-main.c: New file.
10099         * tests/test-pipe-filter-ii2-child.c: New file.
10100
10101         New module 'pipe-filter-ii'.
10102         * lib/pipe-filter.h: New file.
10103         * lib/pipe-filter-ii.c: New file.
10104         * lib/pipe-filter-aux.h: New file.
10105         * modules/pipe-filter-ii: New file.
10106
10107 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10108
10109         * lib/gc-libgcrypt.c: Change copyright to FSF.
10110         * lib/gc-gnulib.c: Likewise.
10111
10112 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
10113
10114         * lib/gethostname.c: Include limits.h.
10115
10116 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10117             Bruno Haible  <bruno@clisp.org>
10118
10119         Ensure HOST_NAME_MAX as part of the gethostname module.
10120         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10121         define also HOST_NAME_MAX.
10122         * tests/test-gethostname.c: Include <limits.h>.
10123         (main): Check also HOST_NAME_MAX.
10124         * doc/posix-headers/limits.texi: Document the mingw problem.
10125
10126 2009-08-02  Bruno Haible  <bruno@clisp.org>
10127
10128         * lib/gethostname.c (gethostname): Fix handling of large len argument.
10129         Add comments.
10130
10131 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10132
10133         * lib/gethostname.c: Add Windows wrapper.
10134         * m4/gethostname.m4: Look for gethostname in -lws2_32.
10135         * modules/gethostname: Depend on sys_socket & errno, for also
10136         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
10137         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
10138
10139 2009-07-31  Jim Meyering  <meyering@redhat.com>
10140
10141         getloadavg: fix symbol name in comment
10142         * lib/getloadavg.c: Correct a typo I introduced when adding
10143         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
10144         Matt Kraai spotted the problem.
10145
10146 2009-07-29  Matt Kraai  <mkraai@beckman.com>
10147
10148         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
10149         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
10150         code also if ! defined N_NAME_POINTER.
10151         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
10152         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
10153         but the n_name member is a 12-byte array.
10154
10155 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
10156
10157         update-copyright: generalize comment handling
10158         * build-aux/update-copyright: Handle copyright statements
10159         within more comment styles.
10160         Document usage.
10161         Report any file with an external copyright holder or parse failure.
10162
10163 2009-07-29  Jim Meyering  <meyering@redhat.com>
10164
10165         mktime: correct setting of REPLACE_MKTIME
10166         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
10167
10168         update-copyright: new module
10169         * modules/update-copyright: New file.
10170         * build-aux/update-copyright: New file.
10171         * MODULES.html.sh (maint+release support): Add update-copyright.
10172
10173 2009-07-27  Bruno Haible  <bruno@clisp.org>
10174
10175         Fix compilation error when <ctime> is used and mktime is replaced.
10176         * lib/time.in.h (mktime): New declaration.
10177         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
10178         REPLACE_MKTIME instead of defining mktime in config.h.
10179         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
10180         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
10181         Reported by Ross McFarland <rwmcfa1@neces.com>.
10182
10183 2009-07-27  Bruno Haible  <bruno@clisp.org>
10184
10185         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
10186         Reported by Matt Kraai <mkraai@beckman.com>.
10187
10188 2009-07-25  Jim Meyering  <meyering@redhat.com>
10189
10190         maint.mk: avoid warnings about missing files
10191         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
10192         diagnostic when .prev-version does not exist.
10193         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
10194         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
10195         nonexistent cfg.mk.
10196         Suggestions from Simon Josefsson.
10197
10198 2009-07-25  Bruno Haible  <bruno@clisp.org>
10199
10200         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
10201         defined as macros. Needed on QNX 6.4.1.
10202         Reported by Matt Kraai <mkraai@beckman.com>.
10203
10204 2009-07-23  Jim Meyering  <meyering@redhat.com>
10205
10206         maint.mk: invoke "make dist" with a working value of XZ_OPT
10207         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
10208
10209 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
10210
10211         Make fseeko.c compile on QNX.
10212         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
10213
10214 2009-07-22  Peter Simons  <simons@cryp.to>
10215
10216         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
10217         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
10218         * lib/md4.h: Likewise.
10219         * lib/md5.h: Likewise.
10220         * lib/sha1.h: Likewise.
10221         * lib/sha256.h: Likewise.
10222         * lib/sha512.h: Likewise.
10223
10224         tests-sha1: don't assign literal string to 'char *' variable
10225         * tests/test-sha1.c (main): Declare locals with "const" to match
10226         attributes of the right hand side.
10227
10228 2009-07-21  Eric Blake  <ebb9@byu.net>
10229
10230         dup2: fix more mingw problems
10231         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
10232         fd to itself.
10233         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10234         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
10235         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
10236         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
10237         care of mingw bugs.
10238
10239 2009-07-21  Jim Meyering  <meyering@redhat.com>
10240
10241         vc-list-files: avoid failure when /bin/sh is dash
10242         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
10243         On some Debian based systems, /bin/sh is a symlink to dash, and running
10244         this command would omit the "/" following each 'tests' prefix:
10245           dash -x build-aux/vc-list-files -C . tests
10246         That is because bash and dash work differently:
10247           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
10248           bash ok
10249           dash odd
10250
10251 2009-07-21  Eric Blake  <ebb9@byu.net>
10252
10253         dup2-tests: test previous patch
10254         * modules/dup2-tests: New file.
10255         * tests/test-dup2.c: Likewise.
10256         * tests/test-open.c (main): Avoid unspecified behavior.
10257         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
10258         test.
10259
10260         dup2: work around mingw and cygwin 1.5 bug
10261         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
10262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10263         * modules/unistd (Makefile.am): Substitute it.
10264         * lib/unistd.in.h (dup2): Declare the replacement.
10265         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
10266         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
10267         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
10268         * modules/execute (Depends-on): Add dup2.
10269         * modules/fseterr (Depends-on): Likewise.
10270         * modules/pipe (Depends-on): Likewise.
10271         * modules/posix_spawn-internal (Depends-on): Likewise.
10272
10273 2009-07-21  Bruno Haible  <bruno@clisp.org>
10274
10275         * modules/.gitattributes: New file.
10276
10277 2009-07-20  Bruno Haible  <bruno@clisp.org>
10278
10279         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
10280         (main): Use it.
10281
10282 2009-07-20  Eric Blake  <ebb9@byu.net>
10283
10284         test-pipe: make a bit more robust.
10285         * tests/test-pipe.c (myerr): Allow error messages regardless of
10286         what we do to stderr.
10287         (test_pipe): Rearrange to avoid deadlock.
10288         (child_main): Try a larger read, to ensure we avoided deadlock.
10289         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
10290         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
10291         if misused.
10292
10293 2009-07-19  Jim Meyering  <meyering@redhat.com>
10294
10295         fts: avoid false-positive cycle-detection
10296         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
10297         for each new command line argument.
10298
10299 2009-07-19  Bruno Haible  <bruno@clisp.org>
10300
10301         Fix build error on mingw with the modules sys_select and unistd.
10302         * modules/acl-tests (Depends-on): Add close.
10303         * modules/binary-io-tests (Depends-on): Likewise.
10304         * modules/closein-tests (Depends-on): Likewise.
10305         * modules/flock-tests (Depends-on): Likewise.
10306         * modules/fsync-tests (Depends-on): Likewise.
10307         * modules/lseek-tests (Depends-on): Likewise.
10308         * modules/pipe-tests (Depends-on): Likewise.
10309         * modules/posix_spawn-tests (Depends-on): Likewise.
10310         * modules/posix_spawnp-tests (Depends-on): Likewise.
10311         * modules/stat-time-tests (Depends-on): Likewise.
10312         * modules/yesno-tests (Depends-on): Likewise.
10313
10314 2009-07-19  Bruno Haible  <bruno@clisp.org>
10315
10316         Unify conditionals.
10317         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
10318         macros, not at the compiler macros.
10319         * lib/pipe.c: Likewise.
10320         * lib/execute.c: Likewise.
10321         * lib/spawni.c: Likewise.
10322
10323 2009-07-19  Bruno Haible  <bruno@clisp.org>
10324
10325         Fix handling of closed stdin/stdout/stderr on mingw.
10326         * lib/w32spawn.h: Include unistd.h.
10327         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
10328         file descriptor with O_NOINHERIT flag.
10329         (fd_safer_noinherit): New function, based on fd-safer.c.
10330         (dup_safer_noinherit): New function, based on dup-safer.c.
10331         (undup_safer_noinherit): New function.
10332         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
10333         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
10334         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
10335         instead of fd_safer.
10336         * tests/test-pipe.c: Include <windows.h>.
10337         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
10338
10339         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
10340         from main.
10341         (test_pipe): Pass an extra argument for disambiguation.
10342         (main): Invoke parent_main or child_main.
10343
10344         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
10345         consistently.
10346
10347 2009-07-18  Eric Blake  <ebb9@byu.net>
10348
10349         test-pipe: fix mingw build
10350         * tests/test-pipe.c (main): Avoid fcntl on mingw.
10351
10352 2009-07-18  Bruno Haible  <bruno@clisp.org>
10353
10354         * modules/pipe-tests (Makefile.am): Fix typo.
10355
10356 2009-07-18  Eric Blake  <ebb9@byu.net>
10357
10358         error: fix mingw build
10359         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
10360         Reported by Bruno Haible.
10361
10362         error: avoid undefined use of stdout
10363         * lib/error.c (error, error_at_line): Check that fd 1 is open
10364         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
10365         is handling faults and the close_stdout module wants to report the
10366         detection of closed stdout as an error.
10367
10368 2009-07-17  Eric Blake  <ebb9@byu.net>
10369
10370         pipe: be robust in face of closed fds
10371         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
10372         should cause child to misbehave.
10373         * modules/pipe-tests: New module.
10374         * tests/test-pipe.c: New file.
10375         * tests/test-pipe.sh: New file.
10376         Reported by Akim Demaille.
10377
10378 2009-07-14  Bruno Haible  <bruno@clisp.org>
10379
10380         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
10381         Reported by anonymous kc.
10382
10383 2009-07-07  Jim Meyering  <meyering@redhat.com>
10384
10385         maint.mk: don't look for translatable strings in *.m4 or *.mk
10386         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
10387         when searching for translatable strings.
10388
10389 2009-07-05  Jim Meyering  <meyering@redhat.com>
10390
10391         remove superfluous parentheses in STREQ definition
10392         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
10393         * lib/getugroups.c (STREQ): Likewise.
10394         * lib/fnmatch.c (STREQ): Likewise.
10395         Spotted by Bruno Haible.
10396
10397 2009-07-04  Jim Meyering  <meyering@redhat.com>
10398
10399         argv-iter: new module
10400         * MODULES.html.sh: Add argv-iter.
10401         * lib/argv-iter.c, lib/argv-iter.h: New files.
10402         * modules/argv-iter: New file.
10403         * modules/argv-iter-tests: New file.
10404         * tests/test-argv-iter.c: Test it.
10405
10406 2009-07-04  Bruno Haible  <bruno@clisp.org>
10407
10408         Fix assertion.
10409         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
10410         contains more exact copies of a given entry than file2, leave the extra
10411         copies unpaired rather than aborting.
10412         Reported by Eric Blake.
10413
10414 2009-07-02  Bruno Haible  <bruno@clisp.org>
10415
10416         Speedup git-merge-changelog for git cherry-pick.
10417         * lib/git-merge-changelog.c (struct entries_mapping): New type.
10418         (entries_mapping_get): New function, extracted from compute_mapping.
10419         (entries_mapping_reverse_get): New function.
10420         (compute_mapping): Add a 'full' argument. Return the result in a
10421         'struct entries_mapping'.
10422         (main): Update. Access the mappings through entries_mapping_get.
10423         Reported by Eric Blake.
10424
10425 2009-07-02  Bruno Haible  <bruno@clisp.org>
10426
10427         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
10428         best_i.
10429
10430 2009-07-02  Bruno Haible  <bruno@clisp.org>
10431
10432         Speed up approximate search for matching ChangeLog entries.
10433         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
10434         argument. Call fstrcmp_bounded instead of fstrcmp.
10435         (compute_mapping, try_split_merged_entry, main): Update callers.
10436
10437 2009-07-02  Bruno Haible  <bruno@clisp.org>
10438
10439         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
10440
10441 2009-06-30  Bruno Haible  <bruno@clisp.org>
10442
10443         Reduce the number of uc_is_cased calls.
10444         * lib/unicase.h (casing_suffix_context_t): Add
10445         'first_char_except_ignorable' field.
10446         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
10447         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
10448         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
10449         Update initializer.
10450         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
10451         case-ignorable characters.
10452         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
10453         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
10454         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
10455         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
10456         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
10457
10458 2009-06-30  Bruno Haible  <bruno@clisp.org>
10459
10460         Tests for module 'unicase/ignorable'.
10461         * modules/unicase/ignorable-tests: New file.
10462         * tests/unicase/test-ignorable.c: New file, generated by
10463         gen-uni-tables.
10464
10465         Tests for module 'unicase/cased'.
10466         * modules/unicase/cased-tests: New file.
10467         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
10468         * tests/unicase/test-predicate-part1.h: New file, derived from
10469         tests/unictype/test-predicate-part1.h.
10470         * tests/unicase/test-predicate-part2.h: New file, same as
10471         tests/unictype/test-predicate-part2.h.
10472
10473         Fix evaluation of "Before C" condition of FINAL_SIGMA.
10474         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
10475         (output_casing_properties): New function.
10476         (main): Call it.
10477         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
10478         * lib/unicase/cased.c: Include unictype/bitmap.h.
10479         (uc_is_cased): Define through a bitmap lookup.
10480         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
10481         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
10482         (uc_is_case_ignorable): Define through a bitmap lookup.
10483         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
10484         lib/unictype/bitmap.h.
10485         (Depends-on): Add inline. Clean up.
10486         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
10487         lib/unictype/bitmap.h.
10488         (Depends-on): Add inline. Clean up.
10489         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
10490         recognition.
10491         * tests/unicase/test-u16-tolower.c (main): Likewise.
10492         * tests/unicase/test-u32-tolower.c (main): Likewise.
10493
10494 2009-06-30  Bruno Haible  <bruno@clisp.org>
10495
10496         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
10497         * lib/unicase/u16-casemap.c: Likewise.
10498         * lib/unicase/u32-casemap.c: Likewise.
10499
10500 2009-06-29  Bruno Haible  <bruno@clisp.org>
10501
10502         Define u32_casefold as a wrapper around u32_ct_casefold.
10503         * lib/unicase/u32-casefold.c: Update.
10504         * modules/unicase/u32-casefold (Depends-on): Add
10505         unicase/u32-ct-casefold, unicase/empty-prefix-context,
10506         unicase/empty-suffix-context. Clean up.
10507
10508         Define u16_casefold as a wrapper around u16_ct_casefold.
10509         * lib/unicase/u16-casefold.c: Update.
10510         * modules/unicase/u16-casefold (Depends-on): Add
10511         unicase/u16-ct-casefold, unicase/empty-prefix-context,
10512         unicase/empty-suffix-context. Clean up.
10513
10514         Define u8_casefold as a wrapper around u8_ct_casefold.
10515         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
10516         * lib/unicase/u8-casefold.c: Update.
10517         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
10518         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10519
10520         Define u32_totitle as a wrapper around u32_ct_totitle.
10521         * lib/unicase/u32-totitle.c: Update.
10522         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
10523         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10524
10525         Define u16_totitle as a wrapper around u16_ct_totitle.
10526         * lib/unicase/u16-totitle.c: Update.
10527         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
10528         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10529
10530         Define u8_totitle as a wrapper around u8_ct_totitle.
10531         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
10532         functions.
10533         (FUNC): Delegate to U_CT_TOTITLE.
10534         * lib/unicase/u8-totitle.c: Update.
10535         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
10536         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
10537
10538         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
10539         invocation.
10540         * modules/unicase/u32-tolower (Depends-on): Add
10541         unicase/empty-prefix-context, unicase/empty-suffix-context.
10542
10543         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
10544         invocation.
10545         * modules/unicase/u16-tolower (Depends-on): Add
10546         unicase/empty-prefix-context, unicase/empty-suffix-context.
10547
10548         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
10549         * modules/unicase/u8-tolower (Depends-on): Add
10550         unicase/empty-prefix-context, unicase/empty-suffix-context.
10551
10552         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
10553         invocation.
10554         * modules/unicase/u32-toupper (Depends-on): Add
10555         unicase/empty-prefix-context, unicase/empty-suffix-context.
10556
10557         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
10558         invocation.
10559         * modules/unicase/u16-toupper (Depends-on): Add
10560         unicase/empty-prefix-context, unicase/empty-suffix-context.
10561
10562         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
10563         * modules/unicase/u8-toupper (Depends-on): Add
10564         unicase/empty-prefix-context, unicase/empty-suffix-context.
10565
10566         New module 'unicase/u32-ct-casefold'.
10567         * lib/unicase/u32-ct-casefold.c: New file.
10568         * modules/unicase/u32-ct-casefold: New file.
10569
10570         New module 'unicase/u16-ct-casefold'.
10571         * lib/unicase/u16-ct-casefold.c: New file.
10572         * modules/unicase/u16-ct-casefold: New file.
10573
10574         New module 'unicase/u8-ct-casefold'.
10575         * lib/unicase/u8-ct-casefold.c: New file.
10576         * lib/unicase/u-ct-casefold.h: New file, derived from
10577         lib/unicase/u-casefold.h.
10578         * modules/unicase/u8-ct-casefold: New file.
10579
10580         New module 'unicase/u32-ct-totitle'.
10581         * lib/unicase/u32-ct-totitle.c: New file.
10582         * modules/unicase/u32-ct-totitle: New file.
10583
10584         New module 'unicase/u16-ct-totitle'.
10585         * lib/unicase/u16-ct-totitle.c: New file.
10586         * modules/unicase/u16-ct-totitle: New file.
10587
10588         New module 'unicase/u8-ct-totitle'.
10589         * lib/unicase/u8-ct-totitle.c: New file.
10590         * lib/unicase/u-ct-totitle.h: New file, derived from
10591         lib/unicase/u-totitle.h.
10592         * modules/unicase/u8-ct-totitle: New file.
10593
10594         New module 'unicase/u32-ct-tolower'.
10595         * lib/unicase/u32-ct-tolower.c: New file.
10596         * modules/unicase/u32-ct-tolower: New file.
10597
10598         New module 'unicase/u16-ct-tolower'.
10599         * lib/unicase/u16-ct-tolower.c: New file.
10600         * modules/unicase/u16-ct-tolower: New file.
10601
10602         New module 'unicase/u8-ct-tolower'.
10603         * lib/unicase/u8-ct-tolower.c: New file.
10604         * modules/unicase/u8-ct-tolower: New file.
10605
10606         New module 'unicase/u32-ct-toupper'.
10607         * lib/unicase/u32-ct-toupper.c: New file.
10608         * modules/unicase/u32-ct-toupper: New file.
10609
10610         New module 'unicase/u16-ct-toupper'.
10611         * lib/unicase/u16-ct-toupper.c: New file.
10612         * modules/unicase/u16-ct-toupper: New file.
10613
10614         New module 'unicase/u8-ct-toupper'.
10615         * lib/unicase/u8-ct-toupper.c: New file.
10616         * modules/unicase/u8-ct-toupper: New file.
10617
10618         Add context arguments to u*_casemap functions.
10619         * lib/unicase/unicasemap.h: Include unicase.h.
10620         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
10621         suffix_context arguments.
10622         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
10623         functions.
10624         (FUNC): Add prefix_context and suffix_context arguments. Use
10625         uc_is_cased and uc_is_case_ignorable.
10626         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
10627         * lib/unicase/u16-casemap.c: Likewise.
10628         * lib/unicase/u32-casemap.c: Likewise.
10629         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
10630         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10631         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
10632         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10633         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
10634         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
10635
10636         New module 'unicase/u32-suffix-context'.
10637         * lib/unicase/u32-suffix-context.c: New file.
10638         * modules/unicase/u32-suffix-context: New file.
10639
10640         New module 'unicase/u16-suffix-context'.
10641         * lib/unicase/u16-suffix-context.c: New file.
10642         * modules/unicase/u16-suffix-context: New file.
10643
10644         New module 'unicase/u8-suffix-context'.
10645         * lib/unicase/u8-suffix-context.c: New file.
10646         * lib/unicase/u-suffix-context.h: New file.
10647         * modules/unicase/u8-suffix-context: New file.
10648
10649         New module 'unicase/empty-suffix-context'.
10650         * lib/unicase/empty-suffix-context.c: New file.
10651         * modules/unicase/empty-suffix-context: New file.
10652
10653         New module 'unicase/u32-prefix-context'.
10654         * lib/unicase/u32-prefix-context.c: New file.
10655         * modules/unicase/u32-prefix-context: New file.
10656
10657         New module 'unicase/u16-prefix-context'.
10658         * lib/unicase/u16-prefix-context.c: New file.
10659         * modules/unicase/u16-prefix-context: New file.
10660
10661         New module 'unicase/u8-prefix-context'.
10662         * lib/unicase/u8-prefix-context.c: New file.
10663         * lib/unicase/u-prefix-context.h: New file.
10664         * lib/unicase/context.h: New file.
10665         * modules/unicase/u8-prefix-context: New file.
10666
10667         New module 'unicase/empty-prefix-context'.
10668         * lib/unicase/empty-prefix-context.c: New file.
10669         * modules/unicase/empty-prefix-context: New file.
10670
10671         New module 'unicase/ignorable'.
10672         * lib/unicase/ignorable.c: New file.
10673         * modules/unicase/ignorable: New file.
10674
10675         New module 'unicase/cased'.
10676         * lib/unicase/caseprop.h: New file.
10677         * lib/unicase/cased.c: New file.
10678         * modules/unicase/cased: New file.
10679
10680         New functions for case mapping of substrings.
10681         * lib/unicase.h (casing_prefix_context_t): New type.
10682         (unicase_empty_prefix_context): New variable.
10683         (u8_casing_prefix_context, u16_casing_prefix_context,
10684         u32_casing_prefix_context, u8_casing_prefixes_context,
10685         u16_casing_prefixes_context, u32_casing_prefixes_context): New
10686         declarations.
10687         (casing_suffix_context_t): New type.
10688         (unicase_empty_suffix_context): New variable.
10689         (u8_casing_suffix_context, u16_casing_suffix_context,
10690         u32_casing_suffix_context, u8_casing_suffixes_context,
10691         u16_casing_suffixes_context, u32_casing_suffixes_context,
10692         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
10693         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
10694         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
10695         declarations.
10696
10697 2009-06-28  Jim Meyering  <meyering@redhat.com>
10698
10699         boostrap: indent only with spaces
10700         * build-aux/bootstrap: Indent only with spaces, never TABs.
10701
10702         bootstrap: split long lines
10703         * build-aux/bootstrap: Keep line length < 80.
10704
10705         bootstrap: sync from coreutils
10706         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
10707         just as autoreconf does.  Verify a list of prerequisite
10708         package-name,version-number pairs if defined in bootstrap.conf.
10709         Refer to README-prereq, if prerequisites are not satisfied.
10710
10711 2009-06-27  Eric Blake  <ebb9@byu.net>
10712
10713         tests: add test for bogus NULL definition
10714         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
10715         * tests/test-stdlib.c: Likewise.
10716         * tests/test-string.c: Likewise.
10717         * tests/test-locale.c: Likewise.
10718         * tests/test-unistd.c: Likewise.
10719         * modules/stdio-tests (Depends-on): Add verify.
10720         * modules/stdlib-tests (Depends-on): Likewise.
10721         * modules/string-tests (Depends-on): Likewise.
10722         * modules/locale-tests (Depends-on): Likewise.
10723         * modules/unistd-tests (Depends-on): Likewise.
10724
10725 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
10726
10727         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
10728         self-explaining comment.
10729         * m4/selinux-selinux-h: Update serial.
10730         (gl_LIBSELINUX): New macro, adding a warning for missing development
10731         packages to code extracted from...
10732         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
10733         Add warning for missing development packages here, too.
10734
10735 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
10736
10737         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
10738
10739 2009-06-25  Eric Blake  <ebb9@byu.net>
10740
10741         version-etc: fix regression
10742         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
10743         gcc.
10744         (version_etc): Use it, to catch bugs with trailing NULL.
10745         * lib/version-etc.c (version_etc_arn): Delete unused argument.
10746         (version_etc_va): Fix logic bug.
10747         * modules/version-etc-tests: Add test.
10748         * tests/test-version-etc.c: New file.
10749         * tests/test-version-etc.sh: Likewise.
10750
10751 2009-06-25  Sam Steingold  <sds@gnu.org>
10752
10753         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
10754         mbtowc declaration.
10755
10756 2009-06-25  Eric Blake  <ebb9@byu.net>
10757
10758         fpurge: migrate into <stdio.h>
10759         * lib/fpurge.h: Delete...
10760         * lib/stdio.in.h (fpurge): ...and declare here, instead.
10761         * lib/fpurge.c (fpurge): Change declaring header.
10762         * modules/fpurge (Files): Drop deleted file.
10763         (Depends-on): Add stdio.
10764         (configure.ac): Set witness.
10765         * modules/stdio (Makefile.am): Support fpurge macros.
10766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
10767         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
10768         * lib/fflush.c: Update client.
10769         * tests/test-fpurge.c: Likewise.
10770         * NEWS: Mention the change.
10771
10772 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10773
10774         * lib/argp-version-etc.c (program_authors): Add const
10775         qualifier.
10776         * lib/version-etc.c: Fix typos in the comments.
10777         * modules/argp-version-etc: Depends on version-etc.
10778
10779 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10780
10781         argp-version-etc: new module.
10782
10783         * lib/argp-version-etc.c: New file.
10784         * lib/argp-version-etc.h: New file.
10785         * modules/argp-version-etc: New file.
10786         * modules/argp-version-etc-tests: New file.
10787         * tests/test-argp-version-etc.c: New test.
10788         * tests/test-argp-version-etc-1.sh: New test.
10789
10790 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10791
10792         Provide additional interfaces and documentation for version-etc
10793         module.
10794
10795         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
10796         interfaces.
10797         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
10798         prototypes.
10799
10800 2009-06-24  Bruno Haible  <bruno@clisp.org>
10801
10802         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
10803         HAVE_LIB${NAME} macro.
10804         Reported by Sam Steingold <sds@gnu.org>.
10805
10806 2009-06-23  Simon Josefsson  <simon@josefsson.org>
10807
10808         * modules/hash-tests (test_hash_LDADD): Link to libintl when
10809         needed.
10810
10811 2009-06-21  Bruno Haible  <bruno@clisp.org>
10812
10813         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
10814         work.
10815         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
10816         together with LIB${NAME}, LTLIB${NAME}.
10817         Reported by Sam Steingold <sds@gnu.org>.
10818
10819 2009-06-20  Jim Meyering  <meyering@redhat.com>
10820
10821         tests: make sc_require_test_exit_idiom more generic
10822         * top/maint.mk (Exit_witness_file): New overridable variable.
10823         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
10824         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
10825
10826 2009-06-19  Jim Meyering  <meyering@redhat.com>
10827
10828         hash: reverse order of src/dst parameters in an internal interface
10829         * lib/hash.c (transfer_entries): Reverse order of parameters to
10830         put DST before SRC.  Adjust callers.
10831
10832         tests: test-hash: avoid wholesale duplication
10833         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
10834         Instead, use a loop and add a single conditional.
10835
10836         tests: test-hash: allow seed selection via a command line argument
10837         * tests/test-hash.c (get_seed): New function.
10838         (main): Use it.
10839
10840 2009-06-19  Eric Blake  <ebb9@byu.net>
10841
10842         hash: avoid memory leak on allocation failure
10843         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
10844         failure.  Factor repeated algorithm...
10845         (transfer_entries): ...into new helper routine.
10846         (hash_delete): React to hash_rehash return value.
10847
10848         hash: reduce memory pressure in hash_rehash no-op case
10849         * lib/hash.c (next_prime): Avoid overflow.
10850         (hash_initialize): Factor bucket size computation...
10851         (compute_bucket_size): ...into new helper function.
10852         (hash_rehash): Use new function and open coding to reduce memory
10853         pressure, and avoid a memory leak in USE_OBSTACK code.
10854         Reported by Jim Meyering.
10855
10856 2009-06-18  Eric Blake  <ebb9@byu.net>
10857
10858         hash: make rotation more obvious
10859         * modules/hash (Depends-on): Add bitrotate and stdint.
10860         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
10861         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
10862         (SIZE_MAX): Rely on headers for definition.
10863         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
10864         (raw_hasher): Use rotr_sz.
10865         Suggested by Jim Meyering.
10866
10867         hash: fix memory leak in last patch
10868         * lib/hash.c (hash_rehash): Avoid memory leak.
10869
10870         hash: avoid no-op rehashing
10871         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
10872
10873         hash: provide default callback functions
10874         * lib/hash.c (raw_hasher, raw_comparator): New functions.
10875         (hash_initialize): Use them as defaults.
10876         * tests/test-hash.c (main): Test this.
10877
10878         hash: minor optimization
10879         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
10880         when possible.
10881         (hash_initialize): Document this promise.
10882         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
10883         * tests/test-hash.c (hash_compare_strings): Test this.
10884
10885 2009-06-18  Bruno Haible  <bruno@clisp.org>
10886
10887         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
10888         going to be replaced anyway.
10889
10890 2009-06-18  Bruno Haible  <bruno@clisp.org>
10891
10892         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
10893         in one place.
10894         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
10895         be replaced anyway.
10896
10897 2009-06-18  Eric Blake  <ebb9@byu.net>
10898
10899         hash: check for resize before insertion
10900         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
10901         threshold before insertion, so that a pathological hash_rehash
10902         that fills every bucket can still trigger another rehash.
10903
10904 2009-06-18  Jim Meyering  <meyering@redhat.com>
10905
10906         hash-tests: add a loop around the small tests
10907         * tests/test-hash.c (main): Repeat small tests with selected
10908         small initial table sizes.
10909
10910 2009-06-17  Eric Blake  <ebb9@byu.net>
10911
10912         hash: minor cleanups
10913         * lib/hash.h (hash_entry): Make opaque, by moving...
10914         * lib/hash.c (hash_entry): ...here.
10915         (hash_insert): Clarify restrictions on what can be inserted.
10916         (hash_get_next): Clarify when it is safe to remove an element
10917         during traversal.
10918         (check_tuning): Skip verification when tuning is known safe.
10919         (hash_initialize): Clarify restrictions on tuning.
10920
10921 2009-06-17  Jim Meyering  <jim@meyering.net>
10922         and Eric Blake  <ebb9@byu.net>
10923
10924         hash-tests: new module
10925         * modules/hash-tests: New file.
10926         * tests/test-hash.c: New file.
10927
10928 2009-06-17  Eric Blake  <ebb9@byu.net>
10929
10930         strstr-simple: document new module
10931         * MODULES.html.sh: Document new module.
10932
10933         strstr, strcasestr: replace on platforms with broken memchr
10934         * modules/strstr: Split into...
10935         * modules/strstr-simple: ...new module that does not care about
10936         performance, but does care about glibc bug.
10937         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
10938         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
10939         if platform memchr is broken, per Debian bug 521737.
10940         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
10941         memchr.
10942         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
10943         * doc/posix-functions/strstr.texi (strstr): Document the fix.
10944         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10945         * modules/mountlist (Depends-on): Add strstr-simple.
10946         * modules/gen-uni-tables (Depends-on): Likewise.
10947         * modules/argz (Depends-on): Add strstr.
10948
10949 2009-06-17  Bruno Haible  <bruno@clisp.org>
10950
10951         * modules/posix_spawn-internal (Depends-on): Add errno.
10952
10953 2009-06-17  Bruno Haible  <bruno@clisp.org>
10954
10955         Define missing ESTALE on Interix 3.5.
10956         * lib/errno.in.h (ESTALE): Assign a value if missing.
10957         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
10958         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
10959         missing.
10960         * doc/posix-headers/errno.texi: Mention the Interix bug.
10961         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
10962
10963 2009-06-15  Eric Blake  <ebb9@byu.net>
10964
10965         memchr, memchr2: add valgrind exception
10966         * lib/memchr.valgrind: New file.
10967         * lib/memchr2.valgrind: New file.
10968         * modules/memchr (Files): Distribute valgrind file.
10969         * modules/memchr2 (Files): Likewise.
10970
10971         docs: memchr is no longer obsolete
10972         * MODULES.html.sh: Move memchr from obsolete to string.h section.
10973         * lib/string.in.h (memchr): Simplify logic.
10974
10975 2009-06-14  Jim Meyering  <meyering@redhat.com>
10976
10977         link-follow: fix the "checking..." message to not mention trailing slash
10978         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
10979         never considered trailing slashes.
10980
10981 2009-06-14  Bruno Haible  <bruno@clisp.org>
10982
10983         * m4/memchr.m4: Mention also the bug on IA-64.
10984         * doc/posix-functions/memchr.texi: Likewise.
10985
10986 2009-06-12  Eric Blake  <ebb9@byu.net>
10987
10988         memchr: detect broken x86_64 and alpha implementations
10989         * modules/memchr-tests (Depends-on): Move mmap detection...
10990         * modules/memchr (Depends-on): ...here.
10991         (configure.ac): Set indicator.
10992         * lib/string.in.h (memchr): Declare replacement.
10993         * modules/string (Makefile.am): Trigger replacement.
10994         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
10995         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
10996         bugs.
10997         * doc/posix-functions/memchr.texi (memchr): Document the bug.
10998         * modules/getpagesize (License): Relax license.
10999
11000 2009-06-11  Bruno Haible  <bruno@clisp.org>
11001
11002         * lib/idpriv.h: Add more references.
11003
11004 2009-06-08  Bruno Haible  <bruno@clisp.org>
11005
11006         Tests for module 'idpriv-droptemp'.
11007         * modules/idpriv-droptemp-tests: New file.
11008         * tests/test-idpriv-droptemp.sh: New file.
11009         * tests/test-idpriv-droptemp.su.sh: New file.
11010         * tests/test-idpriv-droptemp.c: New file.
11011
11012         New module 'idpriv-droptemp'.
11013         * lib/idpriv-droptemp.c: New file.
11014         * modules/idpriv-droptemp: New file.
11015
11016 2009-06-08  Bruno Haible  <bruno@clisp.org>
11017
11018         Tests for module 'idpriv-drop'.
11019         * modules/idpriv-drop-tests: New file.
11020         * tests/test-idpriv-drop.sh: New file.
11021         * tests/test-idpriv-drop.su.sh: New file.
11022         * tests/test-idpriv-drop.c: New file.
11023
11024         New module 'idpriv-drop'.
11025         * lib/idpriv.h: New file.
11026         * lib-idpriv-drop.c: New file.
11027         * m4/idpriv.m4: New file.
11028         * modules/idpriv-drop: New file.
11029
11030 2009-06-08  Bruno Haible  <bruno@clisp.org>
11031
11032         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
11033         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11034         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11035         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11036         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11037         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11038         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11039
11040 2009-06-08  Eric Blake  <ebb9@byu.net>
11041
11042         test-strstr: use memory fence, when possible
11043         * tests/test-strstr.c (main): Use memory fence, in order to be
11044         more likely to trigger Debian bug 521737.
11045         * modules/strstr-tests (Files): Pull in additional files.
11046
11047         memchr: no longer obsolete, for wider field testing
11048         * modules/memchr (Status, Notice): Delete, this module is no
11049         longer obsolete.
11050         * modules/vasnprintf (Depends-on): Add memchr.
11051
11052 2009-06-07  Jim Meyering  <meyering@redhat.com>
11053
11054         hash: declare some functions with the warn_unused_result attribute
11055         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
11056
11057 2009-06-07  Bruno Haible  <bruno@clisp.org>
11058
11059         * tests/test-alignof.c: Don't test int64_t if it does not exist.
11060         Reported by Eric Blake.
11061
11062 2009-06-06  Eric Blake  <ebb9@byu.net>
11063
11064         test-alignof: fix typo with long double
11065         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
11066         compiler error.
11067
11068 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
11069
11070         Escape non-texinfo { and }s.
11071         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
11072         markup error.
11073
11074 2009-06-04  Jim Meyering  <meyering@redhat.com>
11075
11076         gitlog-to-changelog: don't infloop on an empty commit log
11077         * build-aux/gitlog-to-changelog: Warn about an empty log message.
11078         Reported by Boris Petersen <transacid@centerim.org>.
11079
11080 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
11081
11082         version-etc: extend for packagers
11083         Add three new configure options, intended for packagers:
11084           --with-packager="packager name"
11085           --with-packager-version="packager-specific version"
11086           --with-packager-bug-reports="packager bug reporting"
11087         An example with coreutils:
11088           $ ./configure \
11089             --with-packager=Gentoo \
11090             --with-packager-bug-report=http://bugs.gentoo.org/ \
11091             --with-packager-version="patchset 1.6"
11092           $ ./src/ls --version | head -n2
11093           ls (GNU coreutils) 7.1-dirty
11094           Packaged by Gentoo (patchset 1.6)
11095         Note that the bug reporting info via --help doesn't show up because
11096         coreutils uses its own custom emit_bug_reporting_address() implementation
11097         in src/system.h.  If it didn't, it'd look like:
11098           $ ./src/ls --help | tail -n4
11099           Report bugs to <bug-coreutils@gnu.org>.
11100           Report Gentoo bugs to <http://bugs.gentoo.org/>.
11101           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
11102           General help using GNU software: <http://www.gnu.org/gethelp/>.
11103         * lib/version-etc.c: Print new information, if provided.
11104         * m4/version-etc.m4: New file.
11105         * modules/version-etc (Files): Add m4/version-etc.m4.
11106         (configure.ac): Add gl_VERSION_ETC.
11107
11108 2009-05-31  Bruno Haible  <bruno@clisp.org>
11109
11110         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
11111         and 'int64_t'.
11112         * modules/alignof-tests (Dependencies): Add stdint.
11113         Reported by Eric Blake.
11114
11115 2009-05-31  Bruno Haible  <bruno@clisp.org>
11116
11117         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
11118         restriction due to compiler bugs.
11119         Reported by Eric Blake.
11120
11121 2009-05-31  Simon Josefsson  <simon@josefsson.org>
11122             Bruno Haible  <bruno@clisp.org>
11123
11124         Fix test-alignof failure.
11125         * lib/alignof.h (alignof_slot): New macro.
11126         (alignof_type): New macro, with the same semantics as the previous
11127         'alignof'.
11128         (alignof): Alias to alignof_slot.
11129         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
11130         check that the results are usable as constant expressions.
11131
11132 2009-05-31  Bruno Haible  <bruno@clisp.org>
11133
11134         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
11135         * tests/test-memchr.c (main): Check that memchr does not read past the
11136         first occurrence of the byte.
11137         * tests/test-strstr.c (main): Update comment.
11138         Suggested by Eric Blake.
11139
11140 2009-05-30  Bruno Haible  <bruno@clisp.org>
11141
11142         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
11143         detail how to use dumpbin.
11144         Reported by David Byron <dbyron@dbyron.com>.
11145
11146 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11147
11148         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
11149
11150 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11151
11152         * m4/manywarnings.m4: Add GCC 4.4 warnings.
11153
11154 2009-05-28  Bruno Haible  <bruno@clisp.org>
11155
11156         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
11157         build-aux/ files.
11158
11159 2009-05-28  Simon Josefsson  <simon@josefsson.org>
11160
11161         * gnulib-tool (func_import): Transform license on build-aux/ files too.
11162
11163 2009-05-27  Simon Josefsson  <simon@josefsson.org>
11164
11165         * gnulib-tool (sed_transform_main_lib_file)
11166         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
11167         regexps.
11168
11169 2009-05-26  Simon Josefsson  <simon@josefsson.org>
11170
11171         * tests/test-strstr.c: Add another self-test.
11172         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
11173         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
11174
11175 2009-05-23  Bruno Haible  <bruno@clisp.org>
11176
11177         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
11178         change.
11179
11180 2009-05-21  Bruno Haible  <bruno@clisp.org>
11181
11182         Simplify use of mode_t varargs.
11183         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
11184         uses 'mode_t' or 'int'.
11185         * lib/openat.c (openat): Likewise.
11186         * lib/open-safer.c (open_safer): Likewise.
11187         * m4/mode_t.m4: New file.
11188         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
11189         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
11190         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
11191         * modules/open (Files): Add m4/mode_t.m4.
11192         * modules/openat (Files): Likewise.
11193         * modules/fcntl-safer (Files): Likewise.
11194         Suggested by Eric Blake.
11195
11196 2009-05-21  Pádraig Brady  <P@draigbrady.com>
11197
11198         * doc/glibc-functions/fallocate.texi: New file.
11199         * doc/gnulib.texi: Include it.
11200
11201 2009-05-21  Eric Blake  <ebb9@byu.net>
11202             Bruno Haible  <bruno@clisp.org>
11203
11204         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
11205         invocations.
11206         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11207
11208 2009-05-21  Eric Blake  <ebb9@byu.net>
11209             Bruno Haible  <bruno@clisp.org>
11210
11211         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
11212         include_next. Fix of 2008-11-20 commit.
11213         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
11214         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
11215         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
11216         NEXT_MATH_H.
11217         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
11218         instead of NEXT_MATH_H.
11219
11220 2009-05-21  Bruno Haible  <bruno@clisp.org>
11221
11222         Avoid redefinition warnings for SIZE_MAX.
11223         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
11224         Reported by Simon Josefsson.
11225
11226 2009-05-21  Bruno Haible  <bruno@clisp.org>
11227
11228         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
11229         AC_CACHE_VAL.
11230
11231 2009-05-20  Bruno Haible  <bruno@clisp.org>
11232
11233         Make zeroptr.h work on mingw.
11234         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
11235         mprotect.
11236         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
11237         * modules/memchr2-tests (configure.ac): Likewise.
11238         * modules/memcmp-tests (configure.ac): Likewise.
11239         * modules/memmem-tests (configure.ac): Likewise.
11240         * modules/memrchr-tests (configure.ac): Likewise.
11241         Reported by Simon Josefsson.
11242
11243 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11244
11245         * tests/test-glob.c: Include string.h for strcmp prototype.
11246
11247 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11248
11249         * modules/getdelim (Depends-on): Add explicit stdint, although it
11250         was implicitly already pulled in via realloc-posix.
11251         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
11252
11253 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11254
11255         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
11256         G. Christensen" <tgc@jupiterrise.com>.
11257         * m4/sys_socket_h.m4: Check for sa_family_t.
11258         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
11259         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
11260         * tests/test-sys_socket.c: Check that sa_family_t works.
11261
11262 2009-05-18  Eric Blake  <ebb9@byu.net>
11263
11264         maint.mk: allow gnulib_dir in VPATH build
11265         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
11266
11267 2009-05-15  Jim Meyering  <meyering@redhat.com>
11268
11269         maint.mk: Give gnulib_dir a default definition.
11270         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
11271         Thus, most packages no longer need to specify this variable in cfg.mk
11272
11273 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
11274
11275         rename.m4: fix typos that would make non-mingw cross-configure fail
11276         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
11277
11278 2009-05-13  Eric Blake  <ebb9@byu.net>
11279
11280         mmap-anon: avoid out-of-order autoconf expansion
11281         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
11282         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
11283         * modules/memchr-tests (Depends-on): Add extensions.
11284         * modules/memchr2-tests (Depends-on): Add extensions.
11285         * modules/memcmp-tests (Depends-on): Add extensions.
11286         * modules/memmem-tests (Depends-on): Add extensions.
11287         * modules/memrchr-tests (Depends-on): Add extensions.
11288
11289 2009-05-13  Bruno Haible  <bruno@clisp.org>
11290
11291         Make some tests ISO C 99 compliant.
11292         * tests/zerosize-ptr.h: New file.
11293         * tests/test-memchr.c: Include zerosize-ptr.h.
11294         (main): Use a zero-size object pointer instead of NULL.
11295         * tests/test-memchr2.c: Include zerosize-ptr.h.
11296         (main): Use a zero-size object pointer instead of NULL.
11297         * tests/test-memcmp.c: Include zerosize-ptr.h.
11298         (main): Use a zero-size object pointer instead of NULL.
11299         * tests/test-memmem.c: Include zerosize-ptr.h.
11300         (main): Use a zero-size object pointer instead of NULL.
11301         * tests/test-memrchr.c: Include zerosize-ptr.h.
11302         (main): Use a zero-size object pointer instead of NULL.
11303         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
11304         m4/mmap-anon.m4.
11305         (Depends-on): Add getpagesize.
11306         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11307         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
11308         m4/mmap-anon.m4.
11309         (Depends-on): Add getpagesize.
11310         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11311         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
11312         m4/mmap-anon.m4.
11313         (Depends-on): Add getpagesize.
11314         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11315         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
11316         m4/mmap-anon.m4.
11317         (Depends-on): Add getpagesize.
11318         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11319         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
11320         m4/mmap-anon.m4.
11321         (Depends-on): Add getpagesize.
11322         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11323
11324 2009-05-12  Bruno Haible  <bruno@clisp.org>
11325
11326         Tests for module 'alignof'.
11327         * modules/alignof-tests: New file.
11328         * tests/test-alignof.c: New file.
11329
11330 2009-05-12  Bruno Haible  <bruno@clisp.org>
11331
11332         Fix alignof macro.
11333         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
11334         vendor compilers that are always correct.
11335
11336 2009-05-12  Bruno Haible  <bruno@clisp.org>
11337
11338         Make the MAP_ANONYMOUS detection work on HP-UX 11.
11339         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
11340         not whether its fully works.
11341
11342 2009-05-12  Bruno Haible  <bruno@clisp.org>
11343
11344         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
11345
11346 2009-05-12  Jim Meyering  <meyering@redhat.com>
11347
11348         * top/maint.mk: Adjust backslash alignment.
11349
11350 2009-05-11  Simon Josefsson  <simon@josefsson.org>
11351
11352         * top/maint.mk: Make $(srcdir)/build-aux configurable.
11353
11354 2009-05-11  Eric Blake  <ebb9@byu.net>
11355
11356         argp: avoid undefined behavior
11357         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
11358         macros.
11359
11360 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11361
11362         * tests/test-vc-list-files-git.sh: Do git config of user.email and
11363         user.name to prevent git commit from complaining.
11364
11365 2009-05-10  Bruno Haible  <bruno@clisp.org>
11366
11367         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
11368         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
11369         it rewrites every file name only once.
11370         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
11371
11372 2009-05-08  Bruno Haible  <bruno@clisp.org>
11373
11374         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
11375         instead of 'max'.
11376
11377 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11378
11379         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
11380         sockaddr_storage test.
11381
11382 2009-05-07  Simon Josefsson  <simon@josefsson.org>
11383
11384         * modules/sys_socket (Makefile.am): Substitute
11385         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
11386         * m4/sys_socket_h.m4: Check for sockaddr_storage.
11387         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
11388         * tests/test-sys_socket.c: Check sockaddr_storage.
11389
11390 2009-05-08  Bruno Haible  <bruno@clisp.org>
11391
11392         New module 'alignof'.
11393         * lib/alignof.h: New file.
11394         * modules/alignof: New file.
11395
11396 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11397             Bruno Haible  <bruno@clisp.org>
11398
11399         Fix test-file-has-acl on FreeBSD.
11400         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
11401         mask is implicitly added.
11402         * tests/test-file-has-acl.c: Include <signal.h>.
11403         (main): Terminate the test after 5 seconds.
11404         * modules/acl-tests (configure.ac): Check for alarm function.
11405
11406 2009-05-04  Bruno Haible  <bruno@clisp.org>
11407
11408         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
11409         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
11410         * modules/errno (configure.ac): Drop AC_REQUIRE.
11411         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
11412         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
11413
11414 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11415
11416         * modules/glob-tests: New module.
11417         * tests/test-glob.c: Add.
11418
11419 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11420
11421         * modules/fnmatch-tests: New module.
11422         * tests/test-fnmatch.c: Add.
11423
11424 2009-05-04  Eric Blake  <ebb9@byu.net>
11425
11426         maint: make the new no-submodule-changes rule VPATH-safe
11427         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
11428
11429 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11430             Bruno Haible  <bruno@clisp.org>
11431
11432         acl: Fix infinite loop on FreeBSD.
11433         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
11434         of return value from acl_get_entry.
11435         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
11436         Likewise.
11437
11438 2009-05-03  Bruno Haible  <bruno@clisp.org>
11439
11440         * lib/acl-internal.h (acl_entries): Clarify return value.
11441         * lib/acl_entries.c (acl_entries): Likewise.
11442
11443 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11444
11445         Bug fix in acl module.
11446         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
11447
11448 2009-05-03  Bruno Haible  <bruno@clisp.org>
11449
11450         Create gperf-generated file in the source dir, not in the build dir.
11451         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
11452         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
11453         * modules/unicase/locale-language (unicase/locale-languages.h):
11454         Likewise.
11455         * modules/unicase/special-casing (unicase/special-casing-table.h):
11456         Likewise.
11457         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
11458         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
11459         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
11460         Reported by Ralf Wildenhues.
11461
11462 2009-05-03  Bruno Haible  <bruno@clisp.org>
11463
11464         * modules/fnmatch (Description, configure.ac): Taken from
11465         fnmatch-posix.
11466         * modules/fnmatch-posix: Turn into a symbolic reference to the
11467         'fnmatch' module, and deprecate.
11468         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
11469
11470 2009-05-03  Bruno Haible  <bruno@clisp.org>
11471
11472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
11473         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
11474         Reported by Ralf Wildenhues.
11475
11476 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11477
11478         * m4/fnmatch.m4: Fix fnmatch re-define.
11479
11480 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11481
11482         priv-set: new module and tests; adapt write-any-file
11483         * lib/priv-set.c: New file.
11484         * lib/priv-set.h: New file.
11485         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
11486         * lib/write-any-file.c: Simplify by using priv-set module.
11487         * m4/priv-set.m4: New file.
11488         * modules/priv-set: New file.
11489         * modules/unlinkdir: Add dependency on priv-set module.
11490         * modules/write-any-file: Likewise.
11491
11492         Tests for module 'priv-set'.
11493         * modules/priv-set-tests: New file.
11494         * tests/test-priv-set.c: New file.
11495
11496 2009-05-03  Jim Meyering  <meyering@redhat.com>
11497             Bruno Haible  <bruno@clisp.org>
11498
11499         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
11500         use the converted UTF-8 variant of the name instead.
11501
11502 2009-05-03  Jim Meyering  <meyering@redhat.com>
11503
11504         tests: tighten some getdate tests
11505         * tests/test-getdate.c (main): Tighten tests: require equality,
11506         not just greater than.  Set TZ envvar to UTC0.
11507
11508 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11509
11510         getdate: correctly interpret "next monday" when run on a Monday
11511         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
11512         that e.g., "next tues" (when run on a tuesday) results in a date
11513         that is one week in the future, and not today's date.
11514         I.e., add a week when the wday is the same as the current one.
11515         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
11516         and earlier by Martin Bernreuther and Jan Minář.
11517         * tests/test-getdate.c (main): Check that "next DAY" is always in
11518         the future and that "last DAY" is always in the past.
11519
11520 2009-05-02  Jim Meyering  <meyering@redhat.com>
11521
11522         build: ensure that a release build fails when a submodule is unclean
11523         * top/maint.mk (no-submodule-changes): New rule.
11524         (alpha beta major): Depend on it.
11525
11526 2009-05-02  Bruno Haible  <bruno@clisp.org>
11527
11528         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
11529         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
11530         shell variable gl_fnmatch_required to detect which variant is
11531         requested.
11532         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
11533         gl_FUNC_FNMATCH_POSIX.
11534         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
11535         exclude fnmatch-posix.
11536
11537 2009-05-02  Bruno Haible  <bruno@clisp.org>
11538
11539         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
11540         * modules/mbsrtowcs (License): Change to LGPLv2+.
11541         * modules/strnlen1 (License): Likewise.
11542         Reported by Simon Josefsson.
11543
11544 2009-05-02  Bruno Haible  <bruno@clisp.org>
11545
11546         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
11547         "cross".
11548         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
11549         gnulib-tool was called with option --source-base=lib.
11550
11551 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11552
11553         Use automake *-local hooks without commands, for extensibility.
11554         * modules/localcharset (Makefile.am): Rename install-exec-local
11555         rule to install-exec-localcharset, and make it a prerequisite of
11556         install-exec-local.  Likewise, rename the uninstall-local rule to
11557         uninstall-localcharset, and make it a prerequisite of the former.
11558
11559 2009-05-01  Bruno Haible  <bruno@clisp.org>
11560
11561         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
11562         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11563         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
11564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
11565         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
11566         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11567         m4/locale-zh.m4, m4/codeset.m4.
11568
11569         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
11570         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
11571         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
11572         m4/locale-zh.m4.
11573
11574         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
11575         REPLACE_WCRTOMB if mbstate_t must be replaced.
11576         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
11577         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
11578
11579 2009-05-01  Bruno Haible  <bruno@clisp.org>
11580
11581         Avoid compiler warnings when redefining macros defined by <libintl.h>.
11582         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
11583         dngettext, dcngettext, textdomain, bindtextdomain,
11584         bind_textdomain_codeset): Undefine before redefining.
11585
11586 2009-04-30  Bruno Haible  <bruno@clisp.org>
11587
11588         Fix bug introduced on 2009-04-25.
11589         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
11590         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
11591         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
11592         is defined.
11593         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
11594         is defined.
11595         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
11596         is defined.
11597         Reported by Elbert_Pol <elbert.pol@gmail.com>.
11598
11599 2009-04-28  Bruno Haible  <bruno@clisp.org>
11600
11601         Comment tweaks.
11602         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
11603         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
11604         * lib/unicase.h (u*_casexfrm): Likewise.
11605         Reported by Paolo Bonzini.
11606
11607 2009-04-28  Bruno Haible  <bruno@clisp.org>
11608
11609         Fix a compilation error.
11610         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
11611         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
11612         Reported by Jim Meyering.
11613
11614 2009-04-27  Bruno Haible  <bruno@clisp.org>
11615
11616         New module 'libunistring'.
11617         * modules/libunistring: New file.
11618         * m4/libunistring.m4: New file.
11619         * MODULES.html.sh (Unicode string functions): Add it.
11620
11621 2009-04-27  Eric Blake  <ebb9@byu.net>
11622
11623         maint.mk: allow package-specific header to provide <config.h>
11624         * top/maint.mk (sc_require_config_h): New variable.
11625         (sc_require_config_h, sc_require_config_h_first): Use it.
11626
11627 2009-04-27  Simon Josefsson  <simon@josefsson.org>
11628
11629         * top/maint.mk (sc_avoid_if_before_free): Except
11630         useless-if-before-free script.
11631
11632 2009-04-27  Eric Blake  <ebb9@byu.net>
11633
11634         maintainer-makefile: depend on all required helper scripts
11635         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
11636         useless-if-before-free.
11637         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
11638         version, rather than assuming gnulib checkout is available.
11639         Reported by Simen Josefsson.
11640
11641 2009-04-26  Bruno Haible  <bruno@clisp.org>
11642
11643         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
11644         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
11645         "../" or "..".
11646
11647 2009-04-26  Bruno Haible  <bruno@clisp.org>
11648
11649         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
11650         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
11651         AC_LIB_HAVE_LINKFLAGS.
11652
11653 2009-04-26  Bruno Haible  <bruno@clisp.org>
11654
11655         Simplify calling convention of u*_conv_from_encoding.
11656         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
11657         u32_conv_from_encoding): Expect a resultbuf argument and return the
11658         result directly as a pointer.
11659         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
11660         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
11661         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
11662         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
11663         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
11664         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
11665         Update.
11666         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
11667         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
11668         * lib/vasnprintf.c (VASNPRINTF): Update.
11669         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
11670         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
11671         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
11672         * NEWS: Mention the change.
11673
11674 2009-04-26  Bruno Haible  <bruno@clisp.org>
11675
11676         Simplify calling convention of u*_conv_to_encoding.
11677         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
11678         u32_conv_to_encoding): Expect a resultbuf argument and return the
11679         result directly as a pointer.
11680         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
11681         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
11682         freeing scaled_offsets if mem_iconveha failed.
11683         * lib/unicase/u-casexfrm.h (FUNC): Update.
11684         * lib/uninorm/u-normxfrm.h (FUNC): Update.
11685         * lib/vasnprintf.c (VASNPRINTF): Update.
11686         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
11687         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
11688         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
11689         * NEWS: Mention the change.
11690
11691 2009-04-26  Bruno Haible  <bruno@clisp.org>
11692
11693         Avoid test failures on AIX and OSF/1.
11694         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
11695         malloc(0).
11696         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
11697         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
11698         Likewise.
11699         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
11700         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
11701         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
11702         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
11703         * doc/posix-functions/malloc.texi: Document the portability problem
11704         related to malloc(0).
11705
11706 2009-04-26  Bruno Haible  <bruno@clisp.org>
11707
11708         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
11709         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
11710         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
11711
11712 2009-04-25  Bruno Haible  <bruno@clisp.org>
11713
11714         Avoid link error when creating a namespace clean library.
11715         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
11716         as macro with arguments if already defined as an alias.
11717         * lib/signbitf.c (gl_signbitf): Don't undefine.
11718         * lib/signbitd.c (gl_signbitd): Don't undefine.
11719         * lib/signbitl.c (gl_signbitl): Don't undefine.
11720
11721 2009-04-25  Jim Meyering  <meyering@redhat.com>
11722
11723         vc-list-files: fix another quoting bug
11724         * build-aux/vc-list-files: Avoid sed backslash expansion
11725         of pathological directory names.
11726
11727 2009-04-25  Eric Blake  <ebb9@byu.net>
11728
11729         vc-list-files: fix shell quoting error
11730         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
11731         timestamp.
11732
11733 2009-04-25  Jim Meyering  <meyering@redhat.com>
11734
11735         vc-list-files: restore lost functionality with subdir argument
11736         * build-aux/vc-list-files: When given a non-"." sub-directory
11737         argument, substitute the $dir/ prefix back onto each resulting name.
11738         Otherwise, coreutils' root_tests check would fail.
11739
11740 2009-04-24  Eric Blake  <ebb9@byu.net>
11741
11742         vc-list-files: ignore git symlinks
11743         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
11744         than ls-files, to ignore git symlinks.
11745
11746         maint.mk: import improvements from m4
11747         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
11748         (move_if_change): Delete unused macro.
11749         (news-date-check, vc-diff-check): Support VPATH builds.
11750         (announcement): Likewise.  Split --bootstrap-tools list...
11751         (boostrap-tools): ...into separate list, which can be overridden
11752         in cfg.mk.
11753         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
11754         requiring dependency on useless-if-before-free module.
11755         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
11756         Support VPATH builds.
11757
11758 2009-04-24  Jim Meyering  <meyering@redhat.com>
11759
11760         maint.mk: remove coreutils-specific rules and variables
11761         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
11762         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
11763         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
11764
11765         maint.mk: remove obsolete rule
11766         * top/maint.mk (rel-check): Remove rule.
11767         (WGET, WGETFLAGS): Remove now-unused variables.
11768
11769 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11770
11771         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
11772         consistency.
11773
11774         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
11775         '$(PATH_SEPARATOR)' instead of ':'.
11776
11777 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11778
11779         * lib/getopt1.c (main): Use 'const' for static array.
11780
11781 2009-04-24  Simon Josefsson  <simon@josefsson.org>
11782
11783         * top/maint.mk: Sync with coreutils.
11784         * NEWS: Explain incompatibilities.
11785
11786 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11787             Bruno Haible  <bruno@clisp.org>
11788
11789         Fix cross-compilation results.
11790         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
11791         statement, as third argument of AC_TRY_RUN.
11792         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11793         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11794         Likewise.
11795         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11796         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
11797         Likewise.
11798         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11799         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
11800         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
11801
11802 2009-04-20  Bruno Haible  <bruno@clisp.org>
11803
11804         Avoid test failure on mingw.
11805         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
11806
11807 2009-04-20  Bruno Haible  <bruno@clisp.org>
11808
11809         Avoid compilation error on mingw.
11810         * modules/localename-tests (Depends-on): Add locale.
11811
11812 2009-04-19  Bruno Haible  <bruno@clisp.org>
11813
11814         Support for building a shared library on Windows platforms.
11815         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
11816         (main): Test the presence of UNINORM_NFC here.
11817         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
11818         (main): Test the presence of UNINORM_NFD here.
11819         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
11820         (main): Test the presence of UNINORM_NFKC here.
11821         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
11822         (main): Test the presence of UNINORM_NFKD here.
11823
11824 2009-04-19  Bruno Haible  <bruno@clisp.org>
11825
11826         Avoid a compiler warning.
11827         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
11828         Change type of variable 'sequence'.
11829
11830 2009-04-19  Bruno Haible  <bruno@clisp.org>
11831
11832         * modules/configmake (Makefile.am): When the contents of configmake.h
11833         does not change, arrange to preserve its modification time.
11834
11835 2009-04-17  Simon Josefsson  <simon@josefsson.org>
11836
11837         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
11838         gettext domain.
11839
11840 2009-04-16  Jim Meyering  <meyering@redhat.com>
11841
11842         useless-if-before-free: improve conversion code
11843         * build-aux/useless-if-before-free: Adjust code-in-comment to match
11844         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
11845
11846 2009-04-14  Bruno Haible  <bruno@clisp.org>
11847
11848         * modules/fcntl (Depends-on): Add extensions.
11849         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
11850
11851 2009-04-12  Ben Pfaff  <blp@gnu.org>
11852
11853         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
11854         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
11855
11856 2009-03-20  Ben Pfaff  <blp@gnu.org>
11857
11858         Make rename replace existing destinations on Windows.
11859         * m4/rename.m4: Add test for Mingw.
11860         * lib/rename.c: Add rename replacement that uses MoveFileEx with
11861         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
11862         * doc/posix-functions/rename.texi: Document.
11863
11864 2009-04-10  Bruno Haible  <bruno@clisp.org>
11865
11866         New include file "iconveh.h".
11867         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
11868         * lib/striconveh.h: Include it.
11869         (enum iconv_ilseq_handler): Remove definition.
11870         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
11871         striconveh.h.
11872         * lib/striconveha.c: Include striconveh.h.
11873         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
11874         * modules/striconveh (Files): Add lib/iconveh.h.
11875         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
11876         lib/striconveh.h.
11877
11878 2009-04-10  Bruno Haible  <bruno@clisp.org>
11879
11880         * lib/uniconv.h: Update comment.
11881
11882 2009-04-10  Bruno Haible  <bruno@clisp.org>
11883
11884         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
11885         always.
11886         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
11887         * lib/unistr/u16-mbtouc-aux.c: Likewise.
11888         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
11889         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
11890         "unistring-notinline.h", so that the function gets defined always.
11891         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
11892         * lib/unistr/u8-uctomb.c: Likewise.
11893         * lib/unistr/u16-mbtouc.c: Likewise.
11894         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
11895         * lib/unistr/u16-uctomb.c: Likewise.
11896         * lib/unistr/u32-mbtouc.c: Likewise.
11897         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
11898         * lib/unistr/u32-uctomb.c: Likewise.
11899
11900 2009-04-10  Bruno Haible  <bruno@clisp.org>
11901
11902         Mark 'utime' obsolete.
11903         * modules/utime (Status, Notice): New sections.
11904         Suggested by Jim Meyering.
11905
11906         Fix cross-compile guess for utime test.
11907         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
11908         autoconf.
11909         * doc/posix-functions/utime.texi: Give more precisions.
11910         Reported by Jan <ipif@ymail.com>.
11911
11912 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
11913
11914         filevercmp: correct today's change
11915         * lib/filevercmp.c: Also handle coreutils' test inputs.
11916         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
11917
11918         Fix regression in 'filevercmp' module. Thanks Sven Joachim
11919         for reporting it.
11920         * lib/filevercmp.c: Special handle for "", "." and "..".
11921         * tests/test-filevercmp.c: Enlarge the set suite.
11922
11923 2009-04-07  Jim Meyering  <meyering@redhat.com>
11924
11925         useless-if-before-free: show how to remove braced useless free, too
11926         * build-aux/useless-if-before-free: still only in a comment, though.
11927
11928 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
11929
11930         maint.mk: import changes to syntax-check macros from coreutils
11931         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
11932         Use them in the relevant macros.
11933
11934 2009-04-06  Bruno Haible  <bruno@clisp.org>
11935
11936         Fix unportable use of bit-fields.
11937         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
11938         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
11939         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
11940
11941 2009-04-06  Bruno Haible  <bruno@clisp.org>
11942
11943         Avoid test failures on AIX and OSF/1.
11944         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
11945         that malloc(0) = NULL.
11946         * tests/unicase/test-u8-tolower.c (check): Likewise.
11947         * tests/unicase/test-u8-totitle.c (check): Likewise.
11948         * tests/unicase/test-u8-toupper.c (check): Likewise.
11949         * tests/unicase/test-u16-casefold.c (check): Likewise.
11950         * tests/unicase/test-u16-tolower.c (check): Likewise.
11951         * tests/unicase/test-u16-totitle.c (check): Likewise.
11952         * tests/unicase/test-u16-toupper.c (check): Likewise.
11953         * tests/unicase/test-u32-casefold.c (check): Likewise.
11954         * tests/unicase/test-u32-tolower.c (check): Likewise.
11955         * tests/unicase/test-u32-totitle.c (check): Likewise.
11956         * tests/unicase/test-u32-toupper.c (check): Likewise.
11957         * tests/uninorm/test-u8-nfc.c (check): Likewise.
11958         * tests/uninorm/test-u8-nfd.c (check): Likewise.
11959         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
11960         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
11961         * tests/uninorm/test-u16-nfc.c (check): Likewise.
11962         * tests/uninorm/test-u16-nfd.c (check): Likewise.
11963         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
11964         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
11965         * tests/uninorm/test-u32-nfc.c (check): Likewise.
11966         * tests/uninorm/test-u32-nfd.c (check): Likewise.
11967         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
11968         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
11969
11970 2009-04-05  Bruno Haible  <bruno@clisp.org>
11971
11972         Work around an autoconf limitation.
11973         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
11974         comment line if it would be longer than 3 KB.
11975
11976 2009-04-05  Bruno Haible  <bruno@clisp.org>
11977
11978         Avoid test failure with libiconv-1.13.
11979         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
11980         of the expected test results.
11981
11982 2009-04-05  Bruno Haible  <bruno@clisp.org>
11983
11984         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
11985         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
11986         that it should be installed.
11987
11988 2009-04-05  Bruno Haible  <bruno@clisp.org>
11989
11990         * gnulib-tool: New option --copy-file.
11991         (func_usage): Document it.
11992         (func_dest_tmpfilename): Moved out of func_import.
11993         (func_add_file, func_update_file): New functions, extracted from
11994         func_import.
11995         (func_import): Update.
11996
11997 2009-04-05  Karl Berry  <karl@gnu.org>
11998
11999         * README: prominently mention gnulib-tool.
12000         Rearrange sections so getting the code is near the top.
12001
12002 2009-04-05  Bruno Haible  <bruno@clisp.org>
12003
12004         * lib/unicase.h: Mention u*_cmp2.
12005         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12006         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
12007         * lib/unicase/ulc-casecmp.c: Likewise.
12008         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
12009         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
12010         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
12011         unistr/u8-cmp.
12012         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
12013         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
12014         unistr/u16-cmp.
12015         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
12016         unistr/u32-cmp.
12017
12018         * lib/uninorm.h: Mention u*_cmp2.
12019         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12020         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
12021         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
12022         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
12023         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
12024         unistr/u8-cmp.
12025         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
12026         unistr/u16-cmp.
12027         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
12028         unistr/u32-cmp.
12029
12030         New module 'unistr/u32-cmp2'.
12031         * lib/unistr/u32-cmp2.c: New file.
12032         * modules/unistr/u32-cmp2: New file.
12033
12034         New module 'unistr/u16-cmp2'.
12035         * lib/unistr/u16-cmp2.c: New file.
12036         * modules/unistr/u16-cmp2: New file.
12037
12038         New module 'unistr/u8-cmp2'.
12039         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
12040         * lib/unistr/u8-cmp2.c: New file.
12041         * lib/unistr/u-cmp2.h: New file.
12042         * modules/unistr/u8-cmp2: New file.
12043
12044 2009-04-05  Bruno Haible  <bruno@clisp.org>
12045
12046         * lib/unictype.h (uc_property_is_valid): New macro.
12047         * tests/unictype/test-pr_byname.c (main): Use it.
12048
12049         * lib/unistr.h: Doc fixes.
12050         * lib/uniconv.h: Doc fixes.
12051         * lib/unictype.h: Doc fixes.
12052
12053 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12054
12055         Port coreutils 7.2 to Solaris 8.
12056
12057         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
12058         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
12059         for Solaris 8.  This is a bit of a hack, as it means it's the
12060         caller's responsibility to add -lnsl if needed, but most likely it
12061         won't be needed since only getaddrinfo uses this and getaddrinfo
12062         isn't needed on Solaris 8.
12063
12064         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
12065         problem to Solaris 8 encountered with coreutils 7.2, which
12066         resulted in a message "fnmatch.c:292: warning: passing argument 4
12067         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
12068         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
12069
12070 2009-04-03  Simon Josefsson  <simon@josefsson.org>
12071
12072         * m4/ld-version-script.m4: Add FIXME comment.
12073
12074 2009-04-02  Simon Josefsson  <simon@josefsson.org>
12075
12076         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
12077         SOVERSION variable.
12078
12079 2009-04-02  Bruno Haible  <bruno@clisp.org>
12080
12081         * Makefile (info, html, dvi, pdf): Combine the rules.
12082         Suggested by Jim Meyering.
12083
12084 2009-04-01  Bruno Haible  <bruno@clisp.org>
12085
12086         * Makefile (info, html, dvi, pdf): New targets.
12087         Reported by Reuben Thomas <rrt@sc3d.org>.
12088
12089 2009-04-01  Bruno Haible  <bruno@clisp.org>
12090
12091         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
12092         can be put into PATH.
12093         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
12094
12095 2009-04-01  Bruno Haible  <bruno@clisp.org>
12096
12097         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
12098
12099 2009-04-01  Bruno Haible  <bruno@clisp.org>
12100
12101         Rename module 'visibility'.
12102         * modules/lib-symbol-visibility: Renamed from modules/visibility.
12103         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
12104         * doc/gnulib.texi: Update.
12105         * MODULES.html.sh (Misc): Update.
12106         * NEWS: Mention the change.
12107
12108 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12109
12110         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
12111         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
12112         Eric Blake <ebb9@byu.net> for review.
12113         * MODULES.html.sh: Add lib-msvc-compat.
12114         * doc/gnulib.texi: Link to new section.
12115         * m4/ld-output-def.m4: New file.
12116         * doc/ld-output-def.texi: New file.
12117
12118 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12119
12120         Rename ld-version-script to lib-symbol-versions.  Suggested by
12121         Bruno Haible <bruno@clisp.org>.
12122         * modules/ld-version-script: Renamed to lib-symbol-versions.
12123         * doc/ld-version-script.texi: Fix module name.
12124         * MODULES.html.sh: Add lib-symbol-versions.
12125
12126 2009-03-31  Simon Josefsson  <simon@josefsson.org>
12127
12128         * modules/u64-tests: New file.
12129         * tests/test-u64.c: New file.
12130
12131 2009-03-04  Simon Josefsson  <simon@josefsson.org>
12132
12133         * MODULES.html.sh: Mention u64.
12134         * modules/u64: New module.
12135         * modules/crypto/sha512: Depend on u64 module instead of providing
12136         u64.h.
12137
12138 2009-03-27  Eric Blake  <ebb9@byu.net>
12139
12140         test-strerror: make debugging EAI_SYSTEM easier
12141         * modules/getaddrinfo-tests (Depends-on): Add strerror.
12142         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
12143         failure was EAI_SYSTEM.
12144
12145 2009-03-25  Bruno Haible  <bruno@clisp.org>
12146
12147         Fix a problem with --enable-relocatable on Solaris 7.
12148         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
12149         since 2008-02-24.
12150
12151 2009-03-25  Eric Blake  <ebb9@byu.net>
12152
12153         test-sockets: avoid gcc warning
12154         * tests/test-sockets.c (main): Silence compiler warning.
12155
12156 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12157
12158         New modules nproc, pthread, contributed by Glen Lenker.
12159
12160         * MODULES.html.sh: Add pthread, nproc.
12161         * lib/nproc.c: New file.
12162         * lib/nproc.h: New file.
12163         * lib/pthread.in.h: New file.
12164         * m4/pthread.m4: New file.
12165         * modules/nproc: New file.
12166         * modules/pthread: New file.
12167
12168 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12169
12170         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
12171         New variable.
12172
12173 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
12174
12175         filevercmp: handle simple~ and numbered.~3~ backup suffixes
12176         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
12177         * tests/test-filevercmp.c: Add tests for backup suffixes.
12178
12179 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12180
12181         * modules/stdlib (Depends-on): Add stdint, needed when defining
12182         struct random_data on, for example, HP-UX 10.20.  Reported by
12183         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12184
12185 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12186
12187         * lib/readline.c (readline): Call fflush on stdout after printing
12188         prompt.
12189
12190 2009-03-20  Bruno Haible  <bruno@clisp.org>
12191
12192         Remove dependency from 'close' module to -lws2_32 on native Windows.
12193         * lib/close-hook.h: New file.
12194         * lib/close-hook.c: New file.
12195         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
12196         w32sock.h.
12197         (_gl_close_fd_maybe_socket): Remove function.
12198         (rpl_close): Invoke execute_all_close_hooks instead of
12199         _gl_close_fd_maybe_socket.
12200         * lib/sockets.c: Include close-hook.h, w32sock.h.
12201         (close_fd_maybe_socket): New function, essentially from lib/close.c.
12202         (close_sockets_hook): New variable.
12203         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
12204         (gl_sockets_cleanup): Unregister it.
12205         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
12206         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
12207         * modules/close-hook: New file.
12208         * modules/close (Files): Remove lib/w32sock.h.
12209         (Depends-on): Add close-hook.
12210         (Link): Remove section.
12211         * modules/sockets (Files): Add lib/w32sock.h.
12212         (Depends-on): Add close-hook.
12213         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
12214         invocation.
12215         * NEWS: Mention that LIB_CLOSE is gone.
12216
12217 2009-03-23  Eric Blake  <ebb9@byu.net>
12218
12219         signal-tests: test previous patch
12220         * tests/test-signal.c: New file.
12221         * modules/signal-tests: Likewise.
12222
12223         signal.h: always support 'volatile sig_atomic_t'
12224         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
12225         (gl_SIGNAL_H_DEFAULTS): Add a default.
12226         * modules/signal (Makefile.am): Substitute if needed.
12227         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
12228         users can blindly add volatile.
12229         * doc/posix-headers/signal.texi (signal.h): Document it.
12230         Reported by Matthew Woehlke.
12231
12232 2009-03-23  Jim Meyering  <meyering@redhat.com>
12233
12234         pathmax: PATH_MAX: use pathconf only when available
12235         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
12236         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
12237         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
12238         This avoids a link failure in a PSP cross-compilation environment
12239         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
12240
12241         * lib/vasnprintf.c (divide): Fix typo in comment.
12242
12243 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12244
12245         * gnulib-tool (func_filter_filelist): Fix comment.
12246
12247 2009-03-20  Bruno Haible  <bruno@clisp.org>
12248
12249         Make sockets.h self-contained.
12250         * lib/sockets.c: Include sockets.h first.
12251         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
12252
12253 2009-03-19  Eric Blake  <ebb9@byu.net>
12254
12255         doc: mention more functions added in cygwin 1.7.0
12256         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
12257         addition.
12258         * doc/posix-functions/log2f.texi: Likewise.
12259
12260 2009-03-19  Jim Meyering  <meyering@redhat.com>
12261
12262         fsusage: avoid syntax error due to statement-before-declaration
12263         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
12264         after all declarations.  Reported by Matthew Woehlke in
12265         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
12266
12267 2009-03-18  Eric Blake  <ebb9@byu.net>
12268
12269         build-aux/compile: sync from automake
12270         * build-aux/compile: New file, from automake.
12271         * config/srclist.txt: Mention build-aux/compile.
12272
12273 2009-03-17  Bruno Haible  <bruno@clisp.org>
12274
12275         * lib/git-merge-changelog.c: Fix typo in comment.
12276         Reported by Reuben Thomas <rrt@sc3d.org>.
12277
12278 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
12279
12280         * m4/regex.m4: update and improve help for
12281         --without-included-regex.
12282
12283 2009-03-17  Simon Josefsson  <simon@josefsson.org>
12284
12285         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
12286         failure on missing include files.
12287
12288 2009-03-17  Eric Blake  <ebb9@byu.net>
12289
12290         doc: mention more functions added in cygwin 1.7.0
12291         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
12292         addition.
12293         * doc/posix-functions/fwscanf.texi: Likewise.
12294         * doc/posix-functions/swprintf.texi: Likewise.
12295         * doc/posix-functions/swscanf.texi: Likewise.
12296         * doc/posix-functions/vfwprintf.texi: Likewise.
12297         * doc/posix-functions/vfwscanf.texi: Likewise.
12298         * doc/posix-functions/vswprintf.texi: Likewise.
12299         * doc/posix-functions/vswscanf.texi: Likewise.
12300         * doc/posix-functions/vwprintf.texi: Likewise.
12301         * doc/posix-functions/vwscanf.texi: Likewise.
12302         * doc/posix-functions/wcscasecmp.texi: Likewise.
12303         * doc/posix-functions/wcsdup.texi: Likewise.
12304         * doc/posix-functions/wcsftime.texi: Likewise.
12305         * doc/posix-functions/wcsncasecmp.texi: Likewise.
12306         * doc/posix-functions/wprintf.texi: Likewise.
12307         * doc/posix-functions/wscanf.texi: Likewise.
12308         * doc/glibc-functions/gethostbyname2.texi: Likewise.
12309
12310 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12311
12312         maint.mk: really add $(AM_MAKEFLAGS)
12313         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
12314         was inadvertently omitted in the last commit.
12315         Spotted by Bruno Haible.
12316
12317         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
12318         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
12319         $(AM_MAKEFLAGS)' rather than plain `make'.
12320
12321         gnulib-tool: execute $MAKE not make
12322         * gnulib-tool: Default $MAKE to 'make'.
12323         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
12324         than make.  Initialize $MAKE in the do-autobuild script.
12325
12326         gnulib-tool: use $MAKE not make in generated files
12327         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
12328         make, in generated files.  Initialize $MAKE in the do-autobuild
12329         script.
12330
12331         * top/GNUmakefile (_have-git-version-gen): Fix typo.
12332
12333         GNUmakefile: disable parallelism only for multiple, recursive targets
12334         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
12335         additions in the Makefile.
12336         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
12337         by Automake.
12338         (.NOTPARALLEL): Only disable parallel builds if multiple targets
12339         are listed on the command line and at least one of them is
12340         listed in $(ALL_RECURSIVE_TARGETS).
12341
12342 2009-03-14  Bruno Haible  <bruno@clisp.org>
12343
12344         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
12345         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
12346         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
12347         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
12348         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
12349         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
12350         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
12351         unistr/u8-uctomb.
12352         * modules/unistr/u8-strchr (Depends-on): Likewise.
12353         * modules/unistr/u8-strrchr (Depends-on): Likewise.
12354         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
12355         unistr/u16-uctomb.
12356         * modules/unistr/u16-strchr (Depends-on): Likewise.
12357         * modules/unistr/u16-strrchr (Depends-on): Likewise.
12358
12359 2009-03-12  Bruno Haible  <bruno@clisp.org>
12360
12361         Work around select() bug on Interix 3.5.
12362         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
12363         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
12364         * m4/select.m4: New file.
12365         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
12366         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
12367         * modules/select (Files): Add m4/select.m4.
12368         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
12369         * modules/nanosleep (Depends-on): Add select.
12370         * modules/poll (Depends-on): Likewise.
12371         * doc/posix-functions/select.texi: Mention the Interix bug.
12372         Reported by Markus Duft <mduft@gentoo.org>.
12373
12374         * lib/select.c: Renamed from lib/winsock-select.c.
12375         * modules/select (Files): Add lib/select.c, remove
12376         lib/winsock-select.c.
12377         (configure.ac): Update.
12378
12379 2009-03-12  Jim Meyering  <meyering@redhat.com>
12380
12381         avoid gcc warnings about unused macro definitions
12382         * lib/readtokens.c (STREQ): Remove unused definition.
12383         * lib/xmalloc.c (SIZE_MAX): Likewise.
12384         * lib/openat-die.c (N_): Likewise.
12385         * lib/mountlist.c (SIZE_MAX): Remove definition.
12386         Instead, include <stdint.h>.
12387         * lib/readutmp.c: Likewise.
12388         * modules/readutmp (Depends-on): Add stdint.
12389         * modules/mountlist (Depends-on): Add stdint.
12390         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
12391
12392 2009-03-10  Bruno Haible  <bruno@clisp.org>
12393
12394         Tests for module 'mbmemcasecoll'.
12395         * modules/mbmemcasecoll-tests: New file.
12396         * tests/test-mbmemcasecoll1.sh: New file.
12397         * tests/test-mbmemcasecoll2.sh: New file.
12398         * tests/test-mbmemcasecoll3.sh: New file.
12399         * tests/test-mbmemcasecoll.c: New file.
12400
12401         New module 'mbmemcasecoll'.
12402         * lib/mbmemcasecoll.h: New file.
12403         * lib/mbmemcasecoll.c: New file.
12404         * modules/mbmemcasecoll: New file.
12405
12406         * tests/test-mbmemcasecmp.h: New file, extracted from
12407         tests/test-mbmemcasecmp.c.
12408         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
12409         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
12410         (main): Update.
12411         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
12412
12413 2009-03-09  Bruno Haible  <bruno@clisp.org>
12414
12415         Tests for module 'mbmemcasecmp'.
12416         * modules/mbmemcasecmp-tests: New file.
12417         * tests/test-mbmemcasecmp1.sh: New file.
12418         * tests/test-mbmemcasecmp2.sh: New file.
12419         * tests/test-mbmemcasecmp3.sh: New file.
12420         * tests/test-mbmemcasecmp.c: New file.
12421
12422         New module 'mbmemcasecmp'.
12423         * lib/mbmemcasecmp.h: New file.
12424         * lib/mbmemcasecmp.c: New file.
12425         * modules/mbmemcasecmp: New file.
12426
12427 2009-03-09  Bruno Haible  <bruno@clisp.org>
12428
12429         Tests for module 'unicase/ulc-casecoll'.
12430         * modules/unicase/ulc-casecoll-tests: New file.
12431         * tests/unicase/test-ulc-casecoll1.sh: New file.
12432         * tests/unicase/test-ulc-casecoll2.sh: New file.
12433         * tests/unicase/test-ulc-casecoll.c: New file.
12434
12435         New module 'unicase/ulc-casecoll'.
12436         * lib/unicase.h (ulc_casecoll): New declaration.
12437         * lib/unicase/ulc-casecoll.c: New file.
12438         * modules/unicase/ulc-casecoll: New file.
12439
12440         New module 'unicase/ulc-casexfrm'.
12441         * lib/unicase.h (ulc_casexfrm): New declaration.
12442         * lib/unicase/ulc-casexfrm.c: New file.
12443         * modules/unicase/ulc-casexfrm: New file.
12444
12445 2009-03-09  Bruno Haible  <bruno@clisp.org>
12446
12447         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
12448         invocations.
12449
12450         * m4/mbscasecmp.m4: Remove file.
12451         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
12452         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
12453
12454         * m4/mbscasestr.m4: Remove file.
12455         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
12456         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
12457
12458         * m4/mbschr.m4: Remove file.
12459         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
12460         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
12461
12462         * m4/mbscspn.m4: Remove file.
12463         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
12464         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
12465
12466         * m4/mbslen.m4: Remove file.
12467         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
12468         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
12469
12470         * m4/mbsncasecmp.m4: Remove file.
12471         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
12472         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
12473
12474         * m4/mbsnlen.m4: Remove file.
12475         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
12476         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
12477
12478         * m4/mbspbrk.m4: Remove file.
12479         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
12480         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
12481
12482         * m4/mbspcasecmp.m4: Remove file.
12483         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
12484         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
12485
12486         * m4/mbsrchr.m4: Remove file.
12487         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
12488         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
12489
12490         * m4/mbssep.m4: Remove file.
12491         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
12492         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
12493
12494         * m4/mbsspn.m4: Remove file.
12495         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
12496         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
12497
12498         * m4/mbsstr.m4: Remove file.
12499         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
12500         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
12501
12502         * m4/mbstok_r.m4: Remove file.
12503         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
12504         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
12505
12506         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
12507
12508         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
12509         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
12510
12511         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
12512
12513 2009-03-08  Bruno Haible  <bruno@clisp.org>
12514
12515         Tests for module 'unicase/ulc-casecmp'.
12516         * modules/unicase/ulc-casecmp-tests: New file.
12517         * tests/unicase/test-ulc-casecmp1.sh: New file.
12518         * tests/unicase/test-ulc-casecmp2.sh: New file.
12519         * tests/unicase/test-ulc-casecmp.c: New file.
12520
12521         New module 'unicase/ulc-casecmp'.
12522         * lib/unicase.h (ulc_casecmp): New declaration.
12523         * lib/unicase/ulc-casecmp.c: New file.
12524         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
12525         'const SRC_UNIT *'.
12526         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
12527         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
12528         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
12529         * modules/unicase/ulc-casecmp: New file.
12530
12531         Tests for module 'unicase/u32-is-cased'.
12532         * modules/unicase/u32-is-cased-tests: New file.
12533         * tests/unicase/test-u32-is-cased.c: New file.
12534
12535         Tests for module 'unicase/u16-is-cased'.
12536         * modules/unicase/u16-is-cased-tests: New file.
12537         * tests/unicase/test-u16-is-cased.c: New file.
12538
12539         Tests for module 'unicase/u8-is-cased'.
12540         * modules/unicase/u8-is-cased-tests: New file.
12541         * tests/unicase/test-u8-is-cased.c: New file.
12542         * tests/unicase/test-is-cased.h: New file.
12543
12544         New module 'unicase/u32-is-cased'.
12545         * lib/unicase/u32-is-cased.c: New file.
12546         * modules/unicase/u32-is-cased: New file.
12547
12548         New module 'unicase/u16-is-cased'.
12549         * lib/unicase/u16-is-cased.c: New file.
12550         * modules/unicase/u16-is-cased: New file.
12551
12552         New module 'unicase/u8-is-cased'.
12553         * lib/unicase/u8-is-cased.c: New file.
12554         * lib/unicase/u-is-cased.h: New file.
12555         * modules/unicase/u8-is-cased: New file.
12556
12557         Tests for module 'unicase/u32-is-casefolded'.
12558         * modules/unicase/u32-is-casefolded-tests: New file.
12559         * tests/unicase/test-u32-is-casefolded.c: New file.
12560
12561         Tests for module 'unicase/u16-is-casefolded'.
12562         * modules/unicase/u16-is-casefolded-tests: New file.
12563         * tests/unicase/test-u16-is-casefolded.c: New file.
12564
12565         Tests for module 'unicase/u8-is-casefolded'.
12566         * modules/unicase/u8-is-casefolded-tests: New file.
12567         * tests/unicase/test-u8-is-casefolded.c: New file.
12568         * tests/unicase/test-is-casefolded.h: New file.
12569
12570         New module 'unicase/u32-is-casefolded'.
12571         * lib/unicase/u32-is-casefolded.c: New file.
12572         * modules/unicase/u32-is-casefolded: New file.
12573
12574         New module 'unicase/u16-is-casefolded'.
12575         * lib/unicase/u16-is-casefolded.c: New file.
12576         * modules/unicase/u16-is-casefolded: New file.
12577
12578         New module 'unicase/u8-is-casefolded'.
12579         * lib/unicase/u8-is-casefolded.c: New file.
12580         * modules/unicase/u8-is-casefolded: New file.
12581
12582         Tests for module 'unicase/u32-is-titlecase'.
12583         * modules/unicase/u32-is-titlecase-tests: New file.
12584         * tests/unicase/test-u32-is-titlecase.c: New file.
12585
12586         Tests for module 'unicase/u16-is-titlecase'.
12587         * modules/unicase/u16-is-titlecase-tests: New file.
12588         * tests/unicase/test-u16-is-titlecase.c: New file.
12589
12590         Tests for module 'unicase/u8-is-titlecase'.
12591         * modules/unicase/u8-is-titlecase-tests: New file.
12592         * tests/unicase/test-u8-is-titlecase.c: New file.
12593         * tests/unicase/test-is-titlecase.h: New file.
12594
12595         New module 'unicase/u32-is-titlecase'.
12596         * lib/unicase/u32-is-titlecase.c: New file.
12597         * modules/unicase/u32-is-titlecase: New file.
12598
12599         New module 'unicase/u16-is-titlecase'.
12600         * lib/unicase/u16-is-titlecase.c: New file.
12601         * modules/unicase/u16-is-titlecase: New file.
12602
12603         New module 'unicase/u8-is-titlecase'.
12604         * lib/unicase/u8-is-titlecase.c: New file.
12605         * modules/unicase/u8-is-titlecase: New file.
12606
12607         Tests for module 'unicase/u32-is-lowercase'.
12608         * modules/unicase/u32-is-lowercase-tests: New file.
12609         * tests/unicase/test-u32-is-lowercase.c: New file.
12610
12611         Tests for module 'unicase/u16-is-lowercase'.
12612         * modules/unicase/u16-is-lowercase-tests: New file.
12613         * tests/unicase/test-u16-is-lowercase.c: New file.
12614
12615         Tests for module 'unicase/u8-is-lowercase'.
12616         * modules/unicase/u8-is-lowercase-tests: New file.
12617         * tests/unicase/test-u8-is-lowercase.c: New file.
12618         * tests/unicase/test-is-lowercase.h: New file.
12619
12620         New module 'unicase/u32-is-lowercase'.
12621         * lib/unicase/u32-is-lowercase.c: New file.
12622         * modules/unicase/u32-is-lowercase: New file.
12623
12624         New module 'unicase/u16-is-lowercase'.
12625         * lib/unicase/u16-is-lowercase.c: New file.
12626         * modules/unicase/u16-is-lowercase: New file.
12627
12628         New module 'unicase/u8-is-lowercase'.
12629         * lib/unicase/u8-is-lowercase.c: New file.
12630         * modules/unicase/u8-is-lowercase: New file.
12631
12632         Tests for module 'unicase/u32-is-uppercase'.
12633         * modules/unicase/u32-is-uppercase-tests: New file.
12634         * tests/unicase/test-u32-is-uppercase.c: New file.
12635
12636         Tests for module 'unicase/u16-is-uppercase'.
12637         * modules/unicase/u16-is-uppercase-tests: New file.
12638         * tests/unicase/test-u16-is-uppercase.c: New file.
12639
12640         Tests for module 'unicase/u8-is-uppercase'.
12641         * modules/unicase/u8-is-uppercase-tests: New file.
12642         * tests/unicase/test-u8-is-uppercase.c: New file.
12643         * tests/unicase/test-is-uppercase.h: New file.
12644
12645         New module 'unicase/u32-is-uppercase'.
12646         * lib/unicase/u32-is-uppercase.c: New file.
12647         * modules/unicase/u32-is-uppercase: New file.
12648
12649         New module 'unicase/u16-is-uppercase'.
12650         * lib/unicase/u16-is-uppercase.c: New file.
12651         * modules/unicase/u16-is-uppercase: New file.
12652
12653         New module 'unicase/u8-is-uppercase'.
12654         * lib/unicase/u8-is-uppercase.c: New file.
12655         * modules/unicase/u8-is-uppercase: New file.
12656
12657         New module 'unicase/u32-is-invariant'.
12658         * lib/unicase/u32-is-invariant.c: New file.
12659         * modules/unicase/u32-is-invariant: New file.
12660
12661         New module 'unicase/u16-is-invariant'.
12662         * lib/unicase/u16-is-invariant.c: New file.
12663         * modules/unicase/u16-is-invariant: New file.
12664
12665         New module 'unicase/u8-is-invariant'.
12666         * lib/unicase/u8-is-invariant.c: New file.
12667         * lib/unicase/invariant.h: New file.
12668         * lib/unicase/u-is-invariant.h: New file.
12669         * modules/unicase/u8-is-invariant: New file.
12670
12671         Tests for module 'unicase/u32-casecoll'.
12672         * modules/unicase/u32-casecoll-tests: New file.
12673         * tests/unicase/test-u32-casecoll.c: New file.
12674
12675         Tests for module 'unicase/u16-casecoll'.
12676         * modules/unicase/u16-casecoll-tests: New file.
12677         * tests/unicase/test-u16-casecoll.c: New file.
12678
12679         Tests for module 'unicase/u8-casecoll'.
12680         * modules/unicase/u8-casecoll-tests: New file.
12681         * tests/unicase/test-u8-casecoll.c: New file.
12682
12683         New module 'unicase/u32-casecoll'.
12684         * lib/unicase/u32-casecoll.c: New file.
12685         * modules/unicase/u32-casecoll: New file.
12686
12687         New module 'unicase/u16-casecoll'.
12688         * lib/unicase/u16-casecoll.c: New file.
12689         * modules/unicase/u16-casecoll: New file.
12690
12691         New module 'unicase/u8-casecoll'.
12692         * lib/unicase/u8-casecoll.c: New file.
12693         * lib/unicase/u-casecoll.h: New file.
12694         * modules/unicase/u8-casecoll: New file.
12695
12696         New module 'unicase/u32-casexfrm'.
12697         * lib/unicase/u32-casexfrm.c: New file.
12698         * modules/unicase/u32-casexfrm: New file.
12699
12700         New module 'unicase/u16-casexfrm'.
12701         * lib/unicase/u16-casexfrm.c: New file.
12702         * modules/unicase/u16-casexfrm: New file.
12703
12704         New module 'unicase/u8-casexfrm'.
12705         * lib/unicase/u8-casexfrm.c: New file.
12706         * lib/unicase/u-casexfrm.h: New file.
12707         * modules/unicase/u8-casexfrm: New file.
12708
12709         Tests for module 'unicase/u32-casecmp'.
12710         * modules/unicase/u32-casecmp-tests: New file.
12711         * tests/unicase/test-u32-casecmp.c: New file.
12712
12713         Tests for module 'unicase/u16-casecmp'.
12714         * modules/unicase/u16-casecmp-tests: New file.
12715         * tests/unicase/test-u16-casecmp.c: New file.
12716
12717         Tests for module 'unicase/u8-casecmp'.
12718         * modules/unicase/u8-casecmp-tests: New file.
12719         * tests/unicase/test-u8-casecmp.c: New file.
12720         * tests/unicase/test-casecmp.h: New file.
12721
12722         New module 'unicase/u32-casecmp'.
12723         * lib/unicase/u32-casecmp.c: New file.
12724         * modules/unicase/u32-casecmp: New file.
12725
12726         New module 'unicase/u16-casecmp'.
12727         * lib/unicase/u16-casecmp.c: New file.
12728         * modules/unicase/u16-casecmp: New file.
12729
12730         New module 'unicase/u8-casecmp'.
12731         * lib/unicase/u8-casecmp.c: New file.
12732         * lib/unicase/u-casecmp.h: New file.
12733         * modules/unicase/u8-casecmp: New file.
12734
12735         Tests for module 'unicase/u32-casefold'.
12736         * modules/unicase/u32-casefold-tests: New file.
12737         * tests/unicase/test-u32-casefold.c: New file.
12738
12739         Tests for module 'unicase/u16-casefold'.
12740         * modules/unicase/u16-casefold-tests: New file.
12741         * tests/unicase/test-u16-casefold.c: New file.
12742
12743         Tests for module 'unicase/u8-casefold'.
12744         * modules/unicase/u8-casefold-tests: New file.
12745         * tests/unicase/test-u8-casefold.c: New file.
12746
12747         New module 'unicase/u32-casefold'.
12748         * lib/unicase/u32-casefold.c: New file.
12749         * modules/unicase/u32-casefold: New file.
12750
12751         New module 'unicase/u16-casefold'.
12752         * lib/unicase/u16-casefold.c: New file.
12753         * modules/unicase/u16-casefold: New file.
12754
12755         New module 'unicase/u8-casefold'.
12756         * lib/unicase/u8-casefold.c: New file.
12757         * lib/unicase/u-casefold.h: New file.
12758         * modules/unicase/u8-casefold: New file.
12759
12760         New module 'unicase/tocasefold'.
12761         * lib/unicase/casefold.h: New file.
12762         * lib/unicase/tocasefold.c: New file.
12763         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
12764         * modules/unicase/tocasefold: New file.
12765
12766         Tests for module 'unicase/u32-totitle'.
12767         * modules/unicase/u32-totitle-tests: New file.
12768         * tests/unicase/test-u32-totitle.c: New file.
12769
12770         Tests for module 'unicase/u16-totitle'.
12771         * modules/unicase/u16-totitle-tests: New file.
12772         * tests/unicase/test-u16-totitle.c: New file.
12773
12774         Tests for module 'unicase/u8-totitle'.
12775         * modules/unicase/u8-totitle-tests: New file.
12776         * tests/unicase/test-u8-totitle.c: New file.
12777
12778         New module 'unicase/u32-totitle'.
12779         * lib/unicase/u32-totitle.c: New file.
12780         * modules/unicase/u32-totitle: New file.
12781
12782         New module 'unicase/u16-totitle'.
12783         * lib/unicase/u16-totitle.c: New file.
12784         * modules/unicase/u16-totitle: New file.
12785
12786         New module 'unicase/u8-totitle'.
12787         * lib/unicase/u8-totitle.c: New file.
12788         * lib/unicase/u-totitle.h: New file.
12789         * modules/unicase/u8-totitle: New file.
12790
12791         Tests for module 'unicase/u32-tolower'.
12792         * modules/unicase/u32-tolower-tests: New file.
12793         * tests/unicase/test-u32-tolower.c: New file.
12794
12795         Tests for module 'unicase/u16-tolower'.
12796         * modules/unicase/u16-tolower-tests: New file.
12797         * tests/unicase/test-u16-tolower.c: New file.
12798
12799         Tests for module 'unicase/u8-tolower'.
12800         * modules/unicase/u8-tolower-tests: New file.
12801         * tests/unicase/test-u8-tolower.c: New file.
12802
12803         New module 'unicase/u32-tolower'.
12804         * lib/unicase/u32-tolower.c: New file.
12805         * modules/unicase/u32-tolower: New file.
12806
12807         New module 'unicase/u16-tolower'.
12808         * lib/unicase/u16-tolower.c: New file.
12809         * modules/unicase/u16-tolower: New file.
12810
12811         New module 'unicase/u8-tolower'.
12812         * lib/unicase/u8-tolower.c: New file.
12813         * modules/unicase/u8-tolower: New file.
12814
12815         Tests for module 'unicase/u32-toupper'.
12816         * modules/unicase/u32-toupper-tests: New file.
12817         * tests/unicase/test-u32-toupper.c: New file.
12818
12819         Tests for module 'unicase/u16-toupper'.
12820         * modules/unicase/u16-toupper-tests: New file.
12821         * tests/unicase/test-u16-toupper.c: New file.
12822
12823         Tests for module 'unicase/u8-toupper'.
12824         * modules/unicase/u8-toupper-tests: New file.
12825         * tests/unicase/test-u8-toupper.c: New file.
12826
12827         New module 'unicase/u32-toupper'.
12828         * lib/unicase/u32-toupper.c: New file.
12829         * modules/unicase/u32-toupper: New file.
12830
12831         New module 'unicase/u16-toupper'.
12832         * lib/unicase/u16-toupper.c: New file.
12833         * modules/unicase/u16-toupper: New file.
12834
12835         New module 'unicase/u8-toupper'.
12836         * lib/unicase/u8-toupper.c: New file.
12837         * modules/unicase/u8-toupper: New file.
12838
12839         New module 'unicase/u32-casemap'.
12840         * lib/unicase/u32-casemap.c: New file.
12841         * modules/unicase/u32-casemap: New file.
12842
12843         New module 'unicase/u16-casemap'.
12844         * lib/unicase/u16-casemap.c: New file.
12845         * modules/unicase/u16-casemap: New file.
12846
12847         New module 'unicase/u8-casemap'.
12848         * lib/unicase/unicasemap.h: New file.
12849         * lib/unicase/u8-casemap.c: New file.
12850         * lib/unicase/u-casemap.h: New file.
12851         * modules/unicase/u8-casemap: New file.
12852
12853         New module 'unicase/special-casing'.
12854         * lib/unicase/special-casing.h: New file.
12855         * lib/unicase/special-casing.c: New file.
12856         * lib/unicase/special-casing-table.gperf: New file, generated by
12857         gen-uni-tables.c.
12858         * modules/unicase/special-casing: New file.
12859
12860         Tests for module 'unicase/locale-language'.
12861         * modules/unicase/locale-language-tests: New file.
12862         * tests/unicase/test-locale-language.sh: New file.
12863         * tests/unicase/test-locale-language.c: New file.
12864
12865         New module 'unicase/locale-language'.
12866         * lib/unicase/locale-language.c: New file.
12867         * lib/unicase/locale-languages.gperf: New file.
12868         * modules/unicase/locale-language: New file.
12869
12870         Generate more tables for case conversion and case folding.
12871         * lib/gen-uni-tables.c (SCC_*): New enum items.
12872         (struct special_casing_rule): New type.
12873         (casing_rules, num_casing_rules, allocated_casing_rules): New
12874         variables.
12875         (add_casing_rule, fill_casing_rules): New functions.
12876         (struct casefold_rule): New type.
12877         (casefolding_rules, num_casefolding_rules,
12878         allocated_casefolding_rules): New variables.
12879         (fill_casefolding_rules): New function.
12880         (unicode_casefold): New variable.
12881         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
12882         sort_casing_rules, output_casing_rules): New functions.
12883         (main): Accept to more arguments: SpecialCasing.txt and
12884         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
12885         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
12886         Output mapping for casefolding.
12887
12888         * lib/unicase.h: Include stdbool.h, uninorm.h.
12889         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
12890         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
12891         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
12892         arguments.
12893         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
12894         resultp arguments.
12895         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
12896         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
12897         resultp arguments.
12898         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
12899         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
12900         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
12901         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
12902         declarations.
12903         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
12904
12905 2009-03-08  Bruno Haible  <bruno@clisp.org>
12906
12907         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
12908         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
12909         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
12910         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
12911
12912 2009-03-07  Bruno Haible  <bruno@clisp.org>
12913
12914         Adjust u*_normcmp, u*_normcoll API.
12915         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
12916         u16_normcoll, u32_normcoll): Change failure conventions.
12917         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
12918         errno and return -1.
12919         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
12920
12921 2009-03-07  Bruno Haible  <bruno@clisp.org>
12922
12923         Tests for module 'uninorm/u32-normcoll'.
12924         * modules/uninorm/u32-normcoll-tests: New file.
12925         * tests/uninorm/test-u32-normcoll.c: New file.
12926
12927         Tests for module 'uninorm/u16-normcoll'.
12928         * modules/uninorm/u16-normcoll-tests: New file.
12929         * tests/uninorm/test-u16-normcoll.c: New file.
12930
12931         Tests for module 'uninorm/u8-normcoll'.
12932         * modules/uninorm/u8-normcoll-tests: New file.
12933         * tests/uninorm/test-u8-normcoll.c: New file.
12934
12935 2009-03-07  Bruno Haible  <bruno@clisp.org>
12936
12937         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
12938         tests/uninorm/test-u32-normcmp.c.
12939         * tests/uninorm/test-u32-normcmp.c: Include it.
12940         (test_nonascii): New function, extracted from main. Add some more
12941         tests.
12942         (main): Invoke test_ascii and test_nonascii.
12943         * modules/uninorm/u32-normcmp-tests (Files): Add
12944         tests/uninorm/test-u32-normcmp.h.
12945         (Depends-on): Remove uninorm/u32-normcmp.
12946
12947         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
12948         tests/uninorm/test-u16-normcmp.c.
12949         * tests/uninorm/test-u16-normcmp.c: Include it.
12950         (test_nonascii): New function, extracted from main. Add some more
12951         tests.
12952         (main): Invoke test_ascii and test_nonascii.
12953         * modules/uninorm/u16-normcmp-tests (Files): Add
12954         tests/uninorm/test-u16-normcmp.h.
12955         (Depends-on): Remove uninorm/u16-normcmp.
12956
12957         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
12958         tests/uninorm/test-u8-normcmp.c.
12959         * tests/uninorm/test-u8-normcmp.c: Include it.
12960         (test_nonascii): New function, extracted from main. Add some more
12961         tests.
12962         (main): Invoke test_ascii and test_nonascii.
12963         * modules/uninorm/u8-normcmp-tests (Files): Add
12964         tests/uninorm/test-u8-normcmp.h.
12965         (Depends-on): Remove uninorm/u8-normcmp.
12966
12967 2009-03-07  Bruno Haible  <bruno@clisp.org>
12968
12969         New module 'uninorm/u32-normcoll'.
12970         * lib/uninorm/u32-normcoll.c: New file.
12971         * modules/uninorm/u32-normcoll: New file.
12972
12973         New module 'uninorm/u16-normcoll'.
12974         * lib/uninorm/u16-normcoll.c: New file.
12975         * modules/uninorm/u16-normcoll: New file.
12976
12977         New module 'uninorm/u8-normcoll'.
12978         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
12979         declarations.
12980         * lib/uninorm/u8-normcoll.c: New file.
12981         * lib/uninorm/u-normcoll.h: New file.
12982         * modules/uninorm/u8-normcoll: New file.
12983
12984         New module 'uninorm/u32-normxfrm'.
12985         * lib/uninorm/u32-normxfrm.c: New file.
12986         * modules/uninorm/u32-normxfrm: New file.
12987
12988         New module 'uninorm/u16-normxfrm'.
12989         * lib/uninorm/u16-normxfrm.c: New file.
12990         * modules/uninorm/u16-normxfrm: New file.
12991
12992         New module 'uninorm/u8-normxfrm'.
12993         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
12994         declarations.
12995         * lib/uninorm/u8-normxfrm.c: New file.
12996         * lib/uninorm/u-normxfrm.h: New file.
12997         * modules/uninorm/u8-normxfrm: New file.
12998
12999 2009-03-07  Bruno Haible  <bruno@clisp.org>
13000
13001         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
13002         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
13003         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
13004
13005 2009-03-07  Bruno Haible  <bruno@clisp.org>
13006
13007         New module 'memxfrm'.
13008         * lib/memxfrm.h: New file.
13009         * lib/memxfrm.c: New file.
13010         * modules/memxfrm: New file.
13011
13012 2009-03-07  Bruno Haible  <bruno@clisp.org>
13013
13014         New module 'memcmp2'.
13015         * lib/memcmp2.h: New file.
13016         * lib/memcmp2.c: New file.
13017         * modules/memcmp2: New file.
13018
13019 2009-03-07  Bruno Haible  <bruno@clisp.org>
13020
13021         Tests for module 'uninorm/decomposing-form'.
13022         * modules/uninorm/decomposing-form-tests: New file.
13023         * tests/uninorm/test-decomposing-form.c: New file.
13024
13025         New module 'uninorm/decomposing-form'.
13026         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
13027         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
13028         Add 'decomposing_variant' field.
13029         * lib/uninorm/decomposing-form.c: New file.
13030         * lib/uninorm/nfc.c (uninorm_nfc): Update.
13031         * lib/uninorm/nfd.c (uninorm_nfd): Update.
13032         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
13033         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
13034         * modules/uninorm/decomposing-form: New file.
13035         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
13036         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
13037
13038 2009-03-07  Bruno Haible  <bruno@clisp.org>
13039
13040         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
13041         strings.
13042
13043 2009-03-06  Bruno Haible  <bruno@clisp.org>
13044
13045         Tests for module 'uninorm/u32-normcmp'.
13046         * tests/uninorm/test-u32-normcmp.c: New file.
13047         * modules/uninorm/u32-normcmp-tests: New file.
13048
13049         Tests for module 'uninorm/u16-normcmp'.
13050         * tests/uninorm/test-u16-normcmp.c: New file.
13051         * modules/uninorm/u16-normcmp-tests: New file.
13052
13053         Tests for module 'uninorm/u8-normcmp'.
13054         * tests/uninorm/test-u8-normcmp.c: New file.
13055         * modules/uninorm/u8-normcmp-tests: New file.
13056
13057         New module 'uninorm/u32-normcmp'.
13058         * lib/uninorm/u32-normcmp.c: New file.
13059         * modules/uninorm/u32-normcmp: New file.
13060
13061         New module 'uninorm/u16-normcmp'.
13062         * lib/uninorm/u16-normcmp.c: New file.
13063         * modules/uninorm/u16-normcmp: New file.
13064
13065         New module 'uninorm/u8-normcmp'.
13066         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
13067         declarations.
13068         * lib/uninorm/u8-normcmp.c: New file.
13069         * lib/uninorm/u-normcmp.h: New file.
13070         * modules/uninorm/u8-normcmp: New file.
13071
13072 2009-03-06  Bruno Haible  <bruno@clisp.org>
13073
13074         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
13075         Reported by Eric Blake.
13076
13077 2009-03-06  Eric Blake  <ebb9@byu.net>
13078             Bruno Haible  <bruno@clisp.org>
13079
13080         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
13081         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
13082         condition.
13083         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13084         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
13085         condition.
13086         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13087
13088 2009-03-06  Eric Blake  <ebb9@byu.net>
13089
13090         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
13091         to avoid compiler warnings.
13092         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
13093
13094 2009-03-05  Bruno Haible  <bruno@clisp.org>
13095
13096         * tests/test-ftell.c (main): Disable test beyond end of file on
13097         FreeMiNT.
13098         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13099
13100 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
13101
13102         * lib/filevercmp.c: Move hidden files up in ordering.
13103         * tests/test-filevercmp.c: Add tests for hidden files.
13104
13105 2009-03-04  Bruno Haible  <bruno@clisp.org>
13106
13107         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
13108         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
13109         AM_CFLAGS.
13110         Reported by Simon Josefsson.
13111
13112 2009-03-03  Bruno Haible  <bruno@clisp.org>
13113
13114         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
13115         Reported by Simon Josefsson.
13116
13117         * doc/ld-version-script.texi: Update node reference.
13118
13119 2009-03-03  Bruno Haible  <bruno@clisp.org>
13120
13121         * modules/visibility (License): Change to 'unlimited'.
13122         Suggested by Simon Josefsson.
13123
13124 2009-03-03  Jim Meyering  <meyering@redhat.com>
13125
13126         unlinkdir: cannot_unlink_dir may modify process state
13127         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
13128         it's neither thread-safe nor appropriate for use in a library.
13129
13130 2009-03-03  Eric Blake  <ebb9@byu.net>
13131
13132         test-closein: silence test under Darwin
13133         * tests/test-closein.sh: Ignore stderr from cat, since we don't
13134         care if it dies from EPIPE or EBADF.
13135
13136 2009-03-03  Bruno Haible  <bruno@clisp.org>
13137
13138         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
13139         earlier.
13140         * doc/visibility.texi: Fix @node and @section.
13141
13142 2009-03-03  Simon Josefsson  <simon@josefsson.org>
13143
13144         * doc/gnulib.texi: Link to sections for ld version script and
13145         visibility.
13146         * doc/visibility.texi: Add @node and @section.
13147         * modules/ld-version-script: New module.
13148         * m4/ld-version-script.m4: New file.
13149         * doc/ld-version-script.texi: New file.
13150
13151 2009-03-02  David Lutterkort  <lutter@redhat.com>
13152
13153         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
13154         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13155
13156 2009-03-02  Bruno Haible  <bruno@clisp.org>
13157
13158         * doc/visibility.texi: Mention libtool's -export-symbols option.
13159
13160 2009-03-02  Jim Meyering  <meyering@redhat.com>
13161
13162         announce-gen: new option: --no-print-checksums
13163         * build-aux/announce-gen (usage): Describe it.
13164         (print_checksums): Print a newline here, not in the [*] footnote.
13165         (main): Honor it.
13166
13167 2009-03-01  Bruno Haible  <bruno@clisp.org>
13168
13169         Use socklen_t in the native Windows replacements prototypes.
13170         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
13171         instead of 'int'.
13172         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13173         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13174         * modules/getsockopt (Depends-on): Add socklen.
13175         * modules/setsockopt (Depends-on): Add socklen.
13176
13177 2009-03-01  Bruno Haible  <bruno@clisp.org>
13178
13179         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
13180         least 4.2.
13181
13182 2009-03-01  Eric Blake  <ebb9@byu.net>
13183             Bruno Haible  <bruno@clisp.org>
13184
13185         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
13186         error messages.
13187         * lib/wait-process.c (wait_subprocess): Omit error message about
13188         deadly signal sent to the child of termsigp != NULL.
13189
13190 2009-03-01  Eric Blake  <ebb9@byu.net>
13191
13192         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
13193
13194 2009-03-01  Bruno Haible  <bruno@clisp.org>
13195
13196         Avoid a gcc warning.
13197         * tests/test-sched.c (b): Make global.
13198         Reported by Eric Blake.
13199
13200 2009-01-19  Martin Lambers  <marlam@marlam.de>
13201
13202         Provide POSIX semantics for socket timeout options on W32.
13203         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
13204         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
13205         * modules/setsockopt: Depend on sys_time module for struct timeval.
13206         * modules/getsockopt: Depend on sys_time module for struct timeval.
13207
13208 2009-03-01  Simon Josefsson  <simon@josefsson.org>
13209
13210         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
13211         __USE_GNU, for consistency with netdb.in.h.
13212         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13213
13214 2009-03-01  Bruno Haible  <bruno@clisp.org>
13215
13216         More support for FreeMiNT.
13217         * lib/fseeko.c (rpl_fseeko): Complete last commit.
13218         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13219
13220 2009-03-01  Bruno Haible  <bruno@clisp.org>
13221
13222         More support for FreeMiNT.
13223         * lib/fpurge.c (fpurge): Correct last commit.
13224         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13225
13226 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13227
13228         Fix unportable awk script in vc-list-files.
13229         * build-aux/vc-list-files: In the replacement awk script, use
13230         substr with a second argument of 1, not zero.
13231         Report by Simon Josefsson.
13232
13233 2009-02-28  Bruno Haible  <bruno@clisp.org>
13234
13235         More support for FreeMiNT.
13236         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
13237         to FreeMiNT today.
13238         * lib/fwriting.c (fwriting): Likewise.
13239         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
13240
13241 2009-02-28  Bruno Haible  <bruno@clisp.org>
13242
13243         * tests/test-freadseek.c (main): Disable test beyond end of file on
13244         FreeMiNT.
13245         * tests/test-ftello.c (main): Likewise.
13246         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13247
13248 2009-02-28  Bruno Haible  <bruno@clisp.org>
13249
13250         Add tentative support for FreeMiNT.
13251         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
13252         * lib/fpurge.c (fpurge): Likewise.
13253         * lib/freadable.c (freadable): Likewise.
13254         * lib/freading.c (freading): Likewise.
13255         * lib/freadptr.c (freadptr): Likewise.
13256         * lib/freadseek.c (freadptrinc): Likewise.
13257         * lib/fseeko.c (rpl_fseeko): Likewise.
13258         * lib/fseterr.c (fseterr): Likewise.
13259         * lib/fwritable.c (fwritable): Likewise.
13260         * lib/fwriting.c (fwriting): Likewise.
13261         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
13262         Hourihane.
13263         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13264
13265 2009-02-28  Bruno Haible  <bruno@clisp.org>
13266
13267         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
13268         SIGCHLD.
13269         Reported by Jim Meyering.
13270
13271 2009-02-28  Bruno Haible  <bruno@clisp.org>
13272
13273         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
13274         Mention the results of these tests on various platforms.
13275         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
13276         order.
13277         * doc/posix-functions/printf.texi: Likewise.
13278         * doc/posix-functions/snprintf.texi: Likewise.
13279         * doc/posix-functions/sprintf.texi: Likewise.
13280         * doc/posix-functions/vfprintf.texi: Likewise.
13281         * doc/posix-functions/vprintf.texi: Likewise.
13282         * doc/posix-functions/vsnprintf.texi: Likewise.
13283         * doc/posix-functions/vsprintf.texi: Likewise.
13284         * doc/glibc-functions/obstack_printf.texi: Likewise.
13285         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13286
13287 2009-02-28  Bruno Haible  <bruno@clisp.org>
13288
13289         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
13290         Reported by Loïc Minier <lool@dooz.org>.
13291
13292 2009-02-27  Bruno Haible  <bruno@clisp.org>
13293
13294         * gnulib-tool (func_import): Make the sed expression used to create the
13295         sed script for updating the .gitignore file POSIX compliant.
13296         Reported by Eric Blake.
13297
13298 2009-02-27  Bruno Haible  <bruno@clisp.org>
13299
13300         * gnulib-tool (sed): Don't alias as "sed --posix".
13301         Reported by Eric Blake.
13302
13303 2009-02-27  Bruno Haible  <bruno@clisp.org>
13304
13305         Avoid test link errors.
13306         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
13307         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
13308         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
13309         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
13310         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13311
13312 2009-02-27  Bruno Haible  <bruno@clisp.org>
13313
13314         Avoid spurious "(cached)" in configure output.
13315         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
13316         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
13317         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13318         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13319         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13320         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13321         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13322         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13323         Reported by Eric Blake.
13324
13325 2009-02-27  Eric Blake  <ebb9@byu.net>
13326
13327         printf: fix regression in previous patch
13328         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
13329
13330 2009-02-27  Bruno Haible  <bruno@clisp.org>
13331
13332         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
13333         value.
13334         * lib/stdint.in.h: Likewise.
13335         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
13336
13337 2009-02-27  Eric Blake  <ebb9@byu.net>
13338
13339         doc: mention more functions added in cygwin 1.7.0
13340         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
13341         addition.
13342         * doc/posix-functions/open_wmemstream.texi: Likewise.
13343         * doc/posix-functions/wcsnlen.texi: Likewise.
13344         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13345         * doc/posix-functions/wcstod.texi: Likewise.
13346         * doc/posix-functions/wcstof.texi: Likewise.
13347         * doc/posix-functions/wcstoimax.texi: Likewise.
13348         * doc/posix-functions/wcstok.texi: Likewise.
13349         * doc/posix-functions/wcstoumax.texi: Likewise.
13350
13351         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
13352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
13353         * doc/posix-functions/fprintf.texi: Update.
13354         * doc/posix-functions/printf.texi: Update.
13355         * doc/posix-functions/snprintf.texi: Update.
13356         * doc/posix-functions/sprintf.texi: Update.
13357         * doc/posix-functions/vfprintf.texi: Update.
13358         * doc/posix-functions/vprintf.texi: Update.
13359         * doc/posix-functions/vsnprintf.texi: Update.
13360         * doc/posix-functions/vsprintf.texi: Update.
13361         * doc/glibc-functions/obstack_printf.texi: Update.
13362         * doc/glibc-functions/obstack_vprintf.texi: Update.
13363
13364 2009-02-26  Eric Blake  <ebb9@byu.net>
13365
13366         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
13367         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
13368         compilation bug by using runtime conversion.
13369         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13370         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
13371         * modules/ceill-tests (Files): Use nan.h.
13372         * modules/floorl-tests (Files): Likewise.
13373         * modules/frexpl-tests (Files): Likewise.
13374         * modules/isnanl-tests (Files): Likewise.
13375         * modules/ldexpl-tests (Files): Likewise.
13376         * modules/roundl-tests (Files): Likewise.
13377         * modules/truncl-tests (Files): Likewise.
13378         * tests/test-ceill.c (main): Use a working NaN.
13379         * tests/test-floorl.c (main): Likewise.
13380         * tests/test-frexpl.c (main): Likewise.
13381         * tests/test-isnan.c (test_long_double): Likewise.
13382         * tests/test-isnanl.h (main): Likewise.
13383         * tests/test-ldexpl.h (main): Likewise.
13384         * tests/test-roundl.h (main): Likewise.
13385         * tests/test-truncl.h (main): Likewise.
13386         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
13387
13388 2009-02-26  Eric Blake  <ebb9@byu.net>
13389             Bruno Haible  <bruno@clisp.org>
13390
13391         Work around a *printf bug with %ls on Solaris.
13392         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
13393         precision is specified, sprintf stops converting the wide string
13394         argument when the number of bytes that have been produced by this
13395         conversion equals or exceeds the precision.
13396         * doc/posix-functions/fprintf.texi: Update.
13397         * doc/posix-functions/printf.texi: Update.
13398         * doc/posix-functions/snprintf.texi: Update.
13399         * doc/posix-functions/sprintf.texi: Update.
13400         * doc/posix-functions/vfprintf.texi: Update.
13401         * doc/posix-functions/vprintf.texi: Update.
13402         * doc/posix-functions/vsnprintf.texi: Update.
13403         * doc/posix-functions/vsprintf.texi: Update.
13404         * doc/glibc-functions/obstack_printf.texi: Update.
13405         * doc/glibc-functions/obstack_vprintf.texi: Update.
13406
13407 2009-02-26  Eric Blake  <ebb9@byu.net>
13408
13409         stdlib: favor compiler check of random.h
13410         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
13411         to avoid an ObjC random.h installed by Swarm.
13412
13413 2009-02-26  Bruno Haible  <bruno@clisp.org>
13414
13415         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
13416         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
13417         Reported by Gary V. Vaughan <gary@gnu.org>.
13418
13419 2009-02-26  Bruno Haible  <bruno@clisp.org>
13420
13421         Fix *printf behaviour regarding the %ls directive.
13422         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
13423         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
13424         NEED_PRINTF_DIRECTIVE_LS.
13425         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
13426         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
13427         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
13428         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
13429         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
13430         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
13431         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
13432         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
13433         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
13434         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
13435         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
13436         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
13437         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
13438         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
13439         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
13440         * doc/posix-functions/fprintf.texi: Update.
13441         * doc/posix-functions/printf.texi: Update.
13442         * doc/posix-functions/snprintf.texi: Update.
13443         * doc/posix-functions/sprintf.texi: Update.
13444         * doc/posix-functions/vfprintf.texi: Update.
13445         * doc/posix-functions/vprintf.texi: Update.
13446         * doc/posix-functions/vsnprintf.texi: Update.
13447         * doc/posix-functions/vsprintf.texi: Update.
13448         * doc/glibc-functions/obstack_printf.texi: Update.
13449         * doc/glibc-functions/obstack_vprintf.texi: Update.
13450         Reported by Eric Blake.
13451
13452 2009-02-25  Bruno Haible  <bruno@clisp.org>
13453
13454         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
13455         with known value.
13456         Reported by Gary V. Vaughan <gary@gnu.org>.
13457
13458 2009-02-25  Bruno Haible  <bruno@clisp.org>
13459
13460         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
13461         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
13462         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
13463         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
13464         Reported by Gary V. Vaughan <gary@gnu.org>.
13465
13466 2009-02-25  Bruno Haible  <bruno@clisp.org>
13467
13468         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
13469         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
13470         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
13471         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
13472         Reported by Gary V. Vaughan <gary@gnu.org>.
13473
13474 2009-02-25  Eric Blake  <ebb9@byu.net>
13475
13476         tests: skip fseek/ftell tests if ungetc is broken
13477         * m4/ungetc.m4: New file.
13478         * modules/fseek-tests: Split test, so ungetc dependency is
13479         separate from rest of test.
13480         * modules/fseeko-tests: Likewise.
13481         * modules/ftell-tests: Likewise.
13482         * modules/ftello-tests: Likewise.
13483         * tests/test-fseek.c (main): Isolate ungetc dependency.
13484         * tests/test-fseeko.c (main): Likewise.
13485         * tests/test-ftell.c (main): Likewise.
13486         * tests/test-ftello.c (main): Likewise.
13487         * tests/test-fseek2.sh: New file.
13488         * tests/test-fseeko2.sh: Likewise.
13489         * tests/test-ftell2.sh: Likewise.
13490         * tests/test-ftello2.sh: Likewise.
13491
13492 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
13493
13494         test-getaddrinfo: fix usage of skip return code 77
13495         * tests/test-gettaddrinfo.c: Return skip code 77 only
13496         for first occurance of skip (4x77 is not 77)
13497
13498 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
13499
13500         strtod: avoid C99 decl-after-statement
13501         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
13502
13503 2009-02-24  Eric Blake  <ebb9@byu.net>
13504
13505         strtod: detect HP-UX 11.31 bug
13506         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
13507         Reported by Gary V. Vaughan.
13508
13509 2009-02-23  Bruno Haible  <bruno@clisp.org>
13510
13511         Fix invalid read past end of memory block.
13512         * lib/vasnprintf.c (DCHAR_SET): Define.
13513         (local_wcslen): Define only when needed.
13514         (local_strnlen, local_wcsnlen): New functions.
13515         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
13516         directives that involve a conversion ourselves.
13517         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
13518         wcsnlen, mbrtowc, wcrtomb.
13519         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
13520         * tests/test-vasprintf-posix.c (test_function): Likewise.
13521         * tests/test-snprintf-posix.h (test_function): Likewise.
13522         * tests/test-sprintf-posix.h (test_function): Likewise.
13523         Reported by Ben Pfaff <blp@cs.stanford.edu>.
13524
13525 2009-02-22  Bruno Haible  <bruno@clisp.org>
13526
13527         Implement new clarified decomposition of Hangul syllables.
13528         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
13529         of type LTV, return only a pairwise decomposition.
13530         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
13531         Likewise.
13532         * tests/uninorm/test-decomposition.c (main): Updated expected result.
13533         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
13534         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
13535
13536 2009-02-22  Bruno Haible  <bruno@clisp.org>
13537
13538         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
13539         zero-length results and shrink excess allocated memory.
13540         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
13541         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
13542         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
13543         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
13544         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
13545         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
13546         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
13547         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
13548         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
13549         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
13550         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
13551         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
13552
13553 2009-02-21  Bruno Haible  <bruno@clisp.org>
13554
13555         * doc/gnulib.texi: Include safe-alloc.texi earlier.
13556         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
13557         spaces after a period. Put a space between a macro name and its
13558         argument list. Trivial rewordings.
13559         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
13560         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
13561         (main): Return 0 explicitly.
13562
13563 2009-02-21  Bruno Haible  <bruno@clisp.org>
13564
13565         Tests for module 'uninorm/filter'.
13566         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
13567         * modules/uninorm/filter-tests: New file.
13568
13569         New module 'uninorm/filter'.
13570         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
13571         uninorm_filter_flush, uninorm_filter_free): New declarations.
13572         * lib/uninorm/uninorm-filter.c: New file.
13573         * modules/uninorm/filter: New file.
13574
13575 2009-02-21  Bruno Haible  <bruno@clisp.org>
13576
13577         Tests for module 'uninorm/nfkc'.
13578         * tests/uninorm/test-nfkc.c: New file.
13579         * tests/uninorm/test-u8-nfkc.c: New file.
13580         * tests/uninorm/test-u16-nfkc.c: New file.
13581         * tests/uninorm/test-u32-nfkc.c: New file.
13582         * tests/uninorm/test-u32-nfkc-big.sh: New file.
13583         * tests/uninorm/test-u32-nfkc-big.c: New file.
13584         * modules/uninorm/nfkc-tests: New file.
13585
13586         New module 'uninorm/nfkc'.
13587         * lib/uninorm/nfkc.c: New file.
13588         * modules/uninorm/nfkc: New file.
13589
13590         Tests for module 'uninorm/nfkd'.
13591         * tests/uninorm/test-nfkd.c: New file.
13592         * tests/uninorm/test-u8-nfkd.c: New file.
13593         * tests/uninorm/test-u16-nfkd.c: New file.
13594         * tests/uninorm/test-u32-nfkd.c: New file.
13595         * tests/uninorm/test-u32-nfkd-big.sh: New file.
13596         * tests/uninorm/test-u32-nfkd-big.c: New file.
13597         * modules/uninorm/nfkd-tests: New file.
13598
13599         New module 'uninorm/nfkd'.
13600         * lib/uninorm/nfkd.c: New file.
13601         * modules/uninorm/nfkd: New file.
13602
13603         Tests for module 'uninorm/nfc'.
13604         * tests/uninorm/test-nfc.c: New file.
13605         * tests/uninorm/test-u8-nfc.c: New file.
13606         * tests/uninorm/test-u16-nfc.c: New file.
13607         * tests/uninorm/test-u32-nfc.c: New file.
13608         * tests/uninorm/test-u32-nfc-big.sh: New file.
13609         * tests/uninorm/test-u32-nfc-big.c: New file.
13610         * modules/uninorm/nfc-tests: New file.
13611
13612         New module 'uninorm/nfc'.
13613         * lib/uninorm/nfc.c: New file.
13614         * modules/uninorm/nfc: New file.
13615
13616         Tests for module 'uninorm/nfd'.
13617         * tests/uninorm/test-nfd.c: New file.
13618         * tests/uninorm/test-u8-nfd.c: New file.
13619         * tests/uninorm/test-u16-nfd.c: New file.
13620         * tests/uninorm/test-u32-nfd.c: New file.
13621         * tests/uninorm/test-u32-nfd-big.sh: New file.
13622         * tests/uninorm/test-u32-nfd-big.c: New file.
13623         * tests/uninorm/test-u32-normalize-big.h: New file.
13624         * tests/uninorm/test-u32-normalize-big.c: New file.
13625         * tests/uninorm/NormalizationTest.txt: New file, created from
13626         Unicode 5.1.0 NormalizationTest.txt.
13627         * modules/uninorm/nfd-tests: New file.
13628
13629         New module 'uninorm/nfd'.
13630         * lib/uninorm/nfd.c: New file.
13631         * modules/uninorm/nfd: New file.
13632
13633         New module 'uninorm/u32-normalize'.
13634         * lib/uninorm/u32-normalize.c: New file.
13635         * modules/uninorm/u32-normalize: New file.
13636
13637         New module 'uninorm/u16-normalize'.
13638         * lib/uninorm/u16-normalize.c: New file.
13639         * modules/uninorm/u16-normalize: New file.
13640
13641         New module 'uninorm/u8-normalize'.
13642         * lib/uninorm/u8-normalize.c: New file.
13643         * lib/uninorm/normalize-internal.h: New file.
13644         * lib/uninorm/u-normalize-internal.h: New file.
13645         * modules/uninorm/u8-normalize: New file.
13646
13647         New module 'uninorm/decompose-internal'.
13648         * lib/uninorm/decompose-internal.c: New file.
13649         * modules/uninorm/decompose-internal: New file.
13650
13651         Tests for module 'uninorm/composition'.
13652         * tests/uninorm/test-composition.c: New file.
13653         * modules/uninorm/composition-tests: New file.
13654
13655         New module 'uninorm/composition'.
13656         * lib/uninorm/composition.c: New file.
13657         * lib/uninorm/composition-table.gperf: New file, generated by
13658         gen-uni-tables.
13659         * modules/uninorm/composition: New file.
13660
13661         Tests for module 'uninorm/compat-decomposition'.
13662         * tests/uninorm/test-compat-decomposition.c: New file.
13663         * modules/uninorm/compat-decomposition-tests: New file.
13664
13665         New module 'uninorm/compat-decomposition'.
13666         * lib/uninorm/decompose-internal.h: New file.
13667         * lib/uninorm/compat-decomposition.c: New file.
13668         * modules/uninorm/compat-decomposition: New file.
13669
13670         Tests for module 'uninorm/canonical-decomposition'.
13671         * tests/uninorm/test-canonical-decomposition.c: New file.
13672         * modules/uninorm/canonical-decomposition-tests: New file.
13673
13674         New module 'uninorm/canonical-decomposition'.
13675         * lib/uninorm/canonical-decomposition.c: New file.
13676         * modules/uninorm/canonical-decomposition: New file.
13677
13678         Tests for module 'uninorm/decomposition'.
13679         * tests/uninorm/test-decomposition.c: New file.
13680         * modules/uninorm/decomposition-tests: New file.
13681
13682         New module 'uninorm/decomposition'.
13683         * lib/uninorm/decomposition.c: New file.
13684         * modules/uninorm/decomposition: New file.
13685
13686         New module 'uninorm/decomposition-table'.
13687         * lib/uninorm/decomposition-table.h: New file.
13688         * lib/uninorm/decomposition-table.c: New file.
13689         * lib/uninorm/decomposition-table1.h: New file, generated by
13690         gen-uni-tables.
13691         * lib/uninorm/decomposition-table2.h: New file, generated by
13692         gen-uni-tables.
13693         * modules/uninorm/decomposition-table: New file.
13694
13695         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
13696         (UC_DECOMP_*): New enumeration items.
13697         (get_decomposition): New function.
13698         (struct decomp_table): New type.
13699         (output_decomposition, output_decomposition_tables): New functions.
13700         (unicode_composition_exclusions): New variable.
13701         (fill_composition_exclusions, debug_output_composition_tables): New
13702         functions.
13703         (main): Accept one more argument. Invoke fill_composition_exclusions.
13704         Output decomposition and composition tables.
13705
13706         New module 'uninorm/base'.
13707         * lib/uninorm.h: New file.
13708         * lib/unictype.h: Update comment.
13709         * modules/uninorm/base: New file.
13710
13711 2009-02-21  David Lutterkort  <lutter@redhat.com>
13712
13713         Tests for module 'safe-alloc'.
13714         * tests/test-safe-alloc.c: New file.
13715         * modules/safe-alloc-tests: New file.
13716
13717         New module 'safe-alloc'.
13718         * lib/safe-alloc.h: New file.
13719         * lib/safe-alloc.c: New file.
13720         * m4/safe-alloc.m4: New file.
13721         * modules/safe-alloc: New file.
13722         * doc/safe-alloc.texi: New file.
13723         * doc/gnulib.texi: Include it.
13724         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
13725         safe-alloc.
13726
13727 2009-02-18  Bruno Haible  <bruno@clisp.org>
13728
13729         Fix link error on non-glibc systems.
13730         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
13731         variable.
13732         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13733
13734 2009-02-18  Jim Meyering  <meyering@redhat.com>
13735
13736         fts: avoid used-uninitialized error due to recent change
13737         * lib/fts.c (fts_read): Guard uses of the new member,
13738         parent->fts_n_dirs_remaining, since it's not relevant for
13739         the parent of a directory specified on the command-line.
13740
13741 2009-02-17  James Youngman  <jay@gnu.org>
13742             Bruno Haible  <bruno@clisp.org>
13743
13744         * m4/include_next.m4: Reformulate comment.
13745
13746 2009-02-16  Jim Meyering  <meyering@redhat.com>
13747
13748         fts: add #if guards so that the fts_lgpl module still builds
13749         * lib/fts.c: Guard just-added hash-table-using parts with
13750         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
13751         Reported by Simon Josefsson.
13752
13753 2009-02-15  Bruno Haible  <bruno@clisp.org>
13754
13755         * modules/array-mergesort-tests: New file.
13756         * tests/test-array-mergesort.c: New file.
13757
13758         New module 'array-mergesort'.
13759         * modules/array-mergesort: New file.
13760         * lib/array-mergesort.h: New file.
13761
13762 2009-02-15  Bruno Haible  <bruno@clisp.org>
13763
13764         Fix 2009-02-07 commit.
13765         * lib/gen-uni-tables.c (output_predicate, output_category,
13766         output_combclass, output_bidi_category, output_decimal_digit,
13767         output_digit, output_numeric, output_mirror, output_scripts,
13768         output_ident_category, output_simple_mapping): Fix format directives.
13769         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
13770
13771 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
13772
13773         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
13774         fixes are available from IBM.
13775
13776 2009-02-13  Jim Meyering  <meyering@redhat.com>
13777
13778         fts: arrange not to stat non-directories in more cases
13779         This makes GNU find (when it doesn't need to stat each file)
13780         *much* more efficient at traversing reiserfs file systems.
13781         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
13782         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
13783         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
13784         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
13785         (leaf_optimization_applies): New function.
13786         (LCO_hash, LCO_compare): New helper functions.
13787         (link_count_optimize_ok): New function.
13788         (fts_stat): Initialize new member (if dir).
13789         (fts_read): Decrement parent's fts_n_dirs_remaining count if
13790         we've just stat'ed a directory.  Skip the stat call when possible.
13791         ---
13792         Note this AFS-related exchange:
13793         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
13794         and note find's pioctl call in find/fstype.c.
13795         But that is necessary only if you want to enable the
13796         optimization for AFS, and for now, I don't.
13797
13798         fts: move a function definition "up" (no semantic change)
13799         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
13800         "up" to precede upcoming use of a related function.
13801
13802 2009-02-11  Jim Meyering  <meyering@redhat.com>
13803
13804         fts: correct internal computation of nlinks (optimization-related)
13805         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
13806         whether the current entry is a directory, so don't test it.
13807
13808 2009-02-10  Bruno Haible  <bruno@clisp.org>
13809
13810         Tests for module 'uniwbrk/ulc-wordbreaks'.
13811         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
13812         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
13813         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
13814
13815         Tests for module 'uniwbrk/u32-wordbreaks'.
13816         * modules/uniwbrk/u32-wordbreaks-tests: New file.
13817         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
13818
13819         Tests for module 'uniwbrk/u16-wordbreaks'.
13820         * modules/uniwbrk/u16-wordbreaks-tests: New file.
13821         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
13822
13823         Tests for module 'uniwbrk/u8-wordbreaks'.
13824         * modules/uniwbrk/u8-wordbreaks-tests: New file.
13825         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
13826
13827 2009-02-10  Bruno Haible  <bruno@clisp.org>
13828
13829         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
13830         property.
13831         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
13832         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
13833         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
13834
13835 2009-02-10  Simon Josefsson  <simon@josefsson.org>
13836
13837         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
13838         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
13839
13840 2009-02-10  Bruno Haible  <bruno@clisp.org>
13841
13842         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
13843         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
13844         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
13845         * lib/unilbrk/u8-possible-linebreaks.c: Update.
13846         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
13847         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
13848
13849 2009-02-09  Simon Josefsson  <simon@josefsson.org>
13850
13851         * lib/sockets.h (gl_fd_to_handle): New function.
13852
13853         * tests/test-sockets.c: Call gl_fd_to_handle.
13854
13855 2009-02-09  Bruno Haible  <bruno@clisp.org>
13856
13857         * doc/havelib.texi: Document the conventions on bi-arch systems.
13858
13859 2009-02-08  Bruno Haible  <bruno@clisp.org>
13860
13861         Document the AC_LIB_LINKFLAGS macro.
13862         * doc/havelib.texi: New file, mostly written on 2005-05-24.
13863         * doc/gnulib.texi: Include it.
13864
13865 2009-02-08  Bruno Haible  <bruno@clisp.org>
13866
13867         Fix wrong order of sections, compared to TOC.
13868         * doc/gnulib.texi: Include relocatable-maint.texi after the
13869         "Regular expressions" node, not before.
13870
13871 2009-02-08  Bruno Haible  <bruno@clisp.org>
13872
13873         Tests for module 'unicase/totitle'.
13874         * modules/unicase/totitle-tests: New file.
13875
13876         Tests for module 'unicase/tolower'.
13877         * modules/unicase/tolower-tests: New file.
13878
13879         Tests for module 'unicase/toupper'.
13880         * modules/unicase/toupper-tests: New file.
13881         * tests/unicase/test-mapping-part1.h: New file.
13882         * tests/unicase/test-mapping-part2.h: New file.
13883
13884         New module 'unicase/totitle'.
13885         * modules/unicase/totitle: New file.
13886         * lib/unicase/totitle.c: New file.
13887
13888         New module 'unicase/tolower'.
13889         * modules/unicase/tolower: New file.
13890         * lib/unicase/tolower.c: New file.
13891
13892         New module 'unicase/toupper'.
13893         * modules/unicase/toupper: New file.
13894         * lib/unicase/toupper.c: New file.
13895         * lib/unicase/simple-mapping.h: New file.
13896
13897         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
13898         (mapping_table): New structure.
13899         (output_simple_mapping): New function.
13900         (main): Invoke output_simple_mapping_test and output_simple_mapping.
13901         * modules/gen-uni-tables (Description): Update.
13902         * lib/unicase/toupper.h: New file, automatically generated by
13903         gen-uni-tables.
13904         * lib/unicase/tolower.h: New file, automatically generated by
13905         gen-uni-tables.
13906         * lib/unicase/totitle.h: New file, automatically generated by
13907         gen-uni-tables.
13908         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
13909         gen-uni-tables.
13910         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
13911         gen-uni-tables.
13912         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
13913         gen-uni-tables.
13914
13915         New module 'unicase/base'.
13916         * modules/unicase/base: New file.
13917         * lib/unicase.h: New file.
13918
13919 2009-02-08  Bruno Haible  <bruno@clisp.org>
13920
13921         New module 'uniwbrk/ulc-wordbreaks'.
13922         * modules/uniwbrk/ulc-wordbreaks: New file.
13923         * lib/uniwbrk/ulc-wordbreaks.c: New file.
13924
13925         New module 'uniwbrk/u32-wordbreaks'.
13926         * modules/uniwbrk/u32-wordbreaks: New file.
13927         * lib/uniwbrk/u32-wordbreaks.c: New file.
13928
13929         New module 'uniwbrk/u16-wordbreaks'.
13930         * modules/uniwbrk/u16-wordbreaks: New file.
13931         * lib/uniwbrk/u16-wordbreaks.c: New file.
13932
13933         New module 'uniwbrk/u8-wordbreaks'.
13934         * modules/uniwbrk/u8-wordbreaks: New file.
13935         * lib/uniwbrk/u8-wordbreaks.c: New file.
13936         * lib/uniwbrk/u-wordbreaks.h: New file.
13937
13938         New module 'uniwbrk/table'.
13939         * modules/uniwbrk/table: New file.
13940         * lib/uniwbrk/wbrktable.h: New file.
13941         * lib/uniwbrk/wbrktable.c: New file.
13942
13943         New module 'uniwbrk/wordbreak-property'.
13944         * modules/uniwbrk/wordbreak-property: New file.
13945         * lib/uniwbrk/wordbreak-property.c: New file.
13946
13947         * lib/gen-uni-tables.c (WBP_*): New enum items.
13948         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
13949         (unicode_org_wbp): New variable.
13950         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
13951         New functions.
13952         (wbp_table): New structure.
13953         (output_wbp, output_wbrk_tables): New functions.
13954         (main): Accept additional argument. Invoke fill_org_wbp,
13955         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
13956         output_wbrk_tables.
13957         * modules/gen-uni-tables (Description): Update.
13958         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
13959         gen-uni-tables.
13960
13961         New module 'uniwbrk/base'.
13962         * modules/uniwbrk/base: New file.
13963         * lib/uniwbrk.h: New file.
13964
13965 2009-02-08  Bruno Haible  <bruno@clisp.org>
13966
13967         Update to Unicode 5.1.0.
13968         * lib/gen-uni-tables.c (is_property_alphabetic): Include
13969         U+2185..U+2188.
13970         (is_property_default_ignorable_code_point): Don't include characters
13971         of category Cc or Cs and not-a-characters.
13972         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
13973         U+0D79, U+109E, U+109F, U+A60C.
13974         * lib/unictype/bidi_of.h: Regenerated.
13975         * lib/unictype/blocks.h: Regenerated.
13976         * lib/unictype/categ_C.h: Regenerated.
13977         * lib/unictype/categ_Cf.h: Regenerated.
13978         * lib/unictype/categ_Cn.h: Regenerated.
13979         * lib/unictype/categ_L.h: Regenerated.
13980         * lib/unictype/categ_Ll.h: Regenerated.
13981         * lib/unictype/categ_Lm.h: Regenerated.
13982         * lib/unictype/categ_Lo.h: Regenerated.
13983         * lib/unictype/categ_Lu.h: Regenerated.
13984         * lib/unictype/categ_M.h: Regenerated.
13985         * lib/unictype/categ_Mc.h: Regenerated.
13986         * lib/unictype/categ_Me.h: Regenerated.
13987         * lib/unictype/categ_Mn.h: Regenerated.
13988         * lib/unictype/categ_N.h: Regenerated.
13989         * lib/unictype/categ_Nd.h: Regenerated.
13990         * lib/unictype/categ_Nl.h: Regenerated.
13991         * lib/unictype/categ_No.h: Regenerated.
13992         * lib/unictype/categ_P.h: Regenerated.
13993         * lib/unictype/categ_Pd.h: Regenerated.
13994         * lib/unictype/categ_Pe.h: Regenerated.
13995         * lib/unictype/categ_Pf.h: Regenerated.
13996         * lib/unictype/categ_Pi.h: Regenerated.
13997         * lib/unictype/categ_Po.h: Regenerated.
13998         * lib/unictype/categ_Ps.h: Regenerated.
13999         * lib/unictype/categ_S.h: Regenerated.
14000         * lib/unictype/categ_Sk.h: Regenerated.
14001         * lib/unictype/categ_Sm.h: Regenerated.
14002         * lib/unictype/categ_So.h: Regenerated.
14003         * lib/unictype/categ_of.h: Regenerated.
14004         * lib/unictype/combining.h: Regenerated.
14005         * lib/unictype/ctype_alnum.h: Regenerated.
14006         * lib/unictype/ctype_alpha.h: Regenerated.
14007         * lib/unictype/ctype_graph.h: Regenerated.
14008         * lib/unictype/ctype_lower.h: Regenerated.
14009         * lib/unictype/ctype_print.h: Regenerated.
14010         * lib/unictype/ctype_punct.h: Regenerated.
14011         * lib/unictype/ctype_upper.h: Regenerated.
14012         * lib/unictype/decdigit.h: Regenerated.
14013         * lib/unictype/digit.h: Regenerated.
14014         * lib/unictype/mirror.h: Regenerated.
14015         * lib/unictype/numeric.h: Regenerated.
14016         * lib/unictype/pr_alphabetic.h: Regenerated.
14017         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
14018         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
14019         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
14020         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
14021         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
14022         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
14023         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
14024         * lib/unictype/pr_combining.h: Regenerated.
14025         * lib/unictype/pr_dash.h: Regenerated.
14026         * lib/unictype/pr_decimal_digit.h: Regenerated.
14027         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
14028         * lib/unictype/pr_deprecated.h: Regenerated.
14029         * lib/unictype/pr_diacritic.h: Regenerated.
14030         * lib/unictype/pr_extender.h: Regenerated.
14031         * lib/unictype/pr_format_control.h: Regenerated.
14032         * lib/unictype/pr_grapheme_base.h: Regenerated.
14033         * lib/unictype/pr_grapheme_extend.h: Regenerated.
14034         * lib/unictype/pr_grapheme_link.h: Regenerated.
14035         * lib/unictype/pr_id_continue.h: Regenerated.
14036         * lib/unictype/pr_id_start.h: Regenerated.
14037         * lib/unictype/pr_ideographic.h: Regenerated.
14038         * lib/unictype/pr_ignorable_control.h: Regenerated.
14039         * lib/unictype/pr_lowercase.h: Regenerated.
14040         * lib/unictype/pr_math.h: Regenerated.
14041         * lib/unictype/pr_numeric.h: Regenerated.
14042         * lib/unictype/pr_other_alphabetic.h: Regenerated.
14043         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
14044         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
14045         * lib/unictype/pr_other_id_continue.h: Regenerated.
14046         * lib/unictype/pr_other_lowercase.h: Regenerated.
14047         * lib/unictype/pr_other_math.h: Regenerated.
14048         * lib/unictype/pr_punctuation.h: Regenerated.
14049         * lib/unictype/pr_sentence_terminal.h: Regenerated.
14050         * lib/unictype/pr_soft_dotted.h: Regenerated.
14051         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
14052         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
14053         * lib/unictype/pr_unified_ideograph.h: Regenerated.
14054         * lib/unictype/pr_uppercase.h: Regenerated.
14055         * lib/unictype/pr_xid_continue.h: Regenerated.
14056         * lib/unictype/pr_xid_start.h: Regenerated.
14057         * lib/unictype/pr_zero_width.h: Regenerated.
14058         * lib/unictype/scripts.h: Regenerated.
14059         * lib/unictype/scripts_byname.gperf: Regenerated.
14060         * lib/unictype/sy_java_ident.h: Regenerated.
14061         * lib/unilbrk/lbrkprop1.h: Regenerated.
14062         * lib/unilbrk/lbrkprop2.h: Regenerated.
14063         * tests/unictype/test-categ_C.c: Regenerated.
14064         * tests/unictype/test-categ_Cf.c: Regenerated.
14065         * tests/unictype/test-categ_Cn.c: Regenerated.
14066         * tests/unictype/test-categ_L.c: Regenerated.
14067         * tests/unictype/test-categ_Ll.c: Regenerated.
14068         * tests/unictype/test-categ_Lm.c: Regenerated.
14069         * tests/unictype/test-categ_Lo.c: Regenerated.
14070         * tests/unictype/test-categ_Lu.c: Regenerated.
14071         * tests/unictype/test-categ_M.c: Regenerated.
14072         * tests/unictype/test-categ_Mc.c: Regenerated.
14073         * tests/unictype/test-categ_Me.c: Regenerated.
14074         * tests/unictype/test-categ_Mn.c: Regenerated.
14075         * tests/unictype/test-categ_N.c: Regenerated.
14076         * tests/unictype/test-categ_Nd.c: Regenerated.
14077         * tests/unictype/test-categ_Nl.c: Regenerated.
14078         * tests/unictype/test-categ_No.c: Regenerated.
14079         * tests/unictype/test-categ_P.c: Regenerated.
14080         * tests/unictype/test-categ_Pd.c: Regenerated.
14081         * tests/unictype/test-categ_Pe.c: Regenerated.
14082         * tests/unictype/test-categ_Pf.c: Regenerated.
14083         * tests/unictype/test-categ_Pi.c: Regenerated.
14084         * tests/unictype/test-categ_Po.c: Regenerated.
14085         * tests/unictype/test-categ_Ps.c: Regenerated.
14086         * tests/unictype/test-categ_S.c: Regenerated.
14087         * tests/unictype/test-categ_Sk.c: Regenerated.
14088         * tests/unictype/test-categ_Sm.c: Regenerated.
14089         * tests/unictype/test-categ_So.c: Regenerated.
14090         * tests/unictype/test-ctype_alnum.c: Regenerated.
14091         * tests/unictype/test-ctype_alpha.c: Regenerated.
14092         * tests/unictype/test-ctype_graph.c: Regenerated.
14093         * tests/unictype/test-ctype_lower.c: Regenerated.
14094         * tests/unictype/test-ctype_print.c: Regenerated.
14095         * tests/unictype/test-ctype_punct.c: Regenerated.
14096         * tests/unictype/test-ctype_upper.c: Regenerated.
14097         * tests/unictype/test-decdigit.h: Regenerated.
14098         * tests/unictype/test-digit.h: Regenerated.
14099         * tests/unictype/test-numeric.h: Regenerated.
14100         * tests/unictype/test-pr_alphabetic.c: Regenerated.
14101         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
14102         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
14103         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
14104         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
14105         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
14106         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
14107         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
14108         * tests/unictype/test-pr_combining.c: Regenerated.
14109         * tests/unictype/test-pr_dash.c: Regenerated.
14110         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
14111         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
14112         * tests/unictype/test-pr_deprecated.c: Regenerated.
14113         * tests/unictype/test-pr_diacritic.c: Regenerated.
14114         * tests/unictype/test-pr_extender.c: Regenerated.
14115         * tests/unictype/test-pr_format_control.c: Regenerated.
14116         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
14117         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
14118         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
14119         * tests/unictype/test-pr_id_continue.c: Regenerated.
14120         * tests/unictype/test-pr_id_start.c: Regenerated.
14121         * tests/unictype/test-pr_ideographic.c: Regenerated.
14122         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
14123         * tests/unictype/test-pr_lowercase.c: Regenerated.
14124         * tests/unictype/test-pr_math.c: Regenerated.
14125         * tests/unictype/test-pr_numeric.c: Regenerated.
14126         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
14127         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
14128         Regenerated.
14129         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
14130         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
14131         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
14132         * tests/unictype/test-pr_other_math.c: Regenerated.
14133         * tests/unictype/test-pr_punctuation.c: Regenerated.
14134         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
14135         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
14136         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
14137         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
14138         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
14139         * tests/unictype/test-pr_uppercase.c: Regenerated.
14140         * tests/unictype/test-pr_xid_continue.c: Regenerated.
14141         * tests/unictype/test-pr_xid_start.c: Regenerated.
14142         * tests/unictype/test-pr_zero_width.c: Regenerated.
14143
14144         Update to Unicode 5.1.0.
14145         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
14146         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
14147         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
14148         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
14149         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
14150         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
14151         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
14152         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
14153         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
14154         (nonspacing_table_ind): Update.
14155         * tests/uniwidth/test-uc_width2.sh: Update expected result.
14156
14157         Update to Unicode 5.1.0.
14158         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
14159         code transform.
14160         * lib/uniname/uniname.c (unicode_character_name,
14161         unicode_name_character): Add the range 0x1Fxxx to the code transform.
14162         * lib/uniname/uninames.h: Regenerated.
14163         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
14164
14165 2009-02-07  Bruno Haible  <bruno@clisp.org>
14166
14167         Merge gen-ctype and gen-lbrk into a single program.
14168         * lib/gen-uni-tables.c: New file, incorporating
14169         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
14170         Add directory prefixes to the names of the generated files.
14171         * lib/unictype/gen-ctype.c: Remove file.
14172         * lib/unilbrk/gen-lbrk.c: Remove file.
14173         * modules/gen-uni-tables: New file.
14174         * modules/unictype/gen-ctype: Remove file.
14175         * modules/unilbrk/gen-lbrk: Remove file.
14176
14177 2009-02-07  Bruno Haible  <bruno@clisp.org>
14178
14179         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
14180
14181         New module 'unistr/u32-strcoll'.
14182         * modules/unistr/u32-strcoll: New file.
14183         * lib/unistr/u32-strcoll.c: New file.
14184
14185         New module 'unistr/u16-strcoll'.
14186         * modules/unistr/u16-strcoll: New file.
14187         * lib/unistr/u16-strcoll.c: New file.
14188
14189         New module 'unistr/u8-strcoll'.
14190         * modules/unistr/u8-strcoll: New file.
14191         * lib/unistr/u8-strcoll.c: New file.
14192         * lib/unistr/u-strcoll.h: New file.
14193
14194 2009-02-07  Bruno Haible  <bruno@clisp.org>
14195
14196         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
14197         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14198         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14199         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
14200         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
14201         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
14202
14203 2009-02-07  Bruno Haible  <bruno@clisp.org>
14204
14205         Make 64-bit clean.
14206         * lib/unictype/gen-ctype.c (output_predicate, output_category,
14207         output_combclass, output_bidi_category, output_decimal_digit,
14208         output_digit, output_numeric, output_mirror, output_scripts,
14209         output_ident_category): Use proper width specifier in format strings.
14210
14211 2009-02-07  Bruno Haible  <bruno@clisp.org>
14212
14213         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
14214         failure behaviour.
14215
14216 2009-02-07  Jim Meyering  <meyering@redhat.com>
14217
14218         regex: avoid compilation failure with upcoming gcc-4.4
14219         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
14220         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
14221         "... error: integer overflow in preprocessor expression".
14222
14223 2009-02-05  Ben Pfaff  <blp@gnu.org>
14224
14225         Fix link errors on Windows when close module is used.
14226         * modules/close: Add $(LIB_CLOSE) to Link section.
14227         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
14228         $(LIB_CLOSE) on Windows.
14229
14230 2009-02-05  Jim Meyering  <meyering@redhat.com>
14231
14232         still avoid unused-parameter warnings, but do it cleanly
14233         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
14234         (get_fs_usage): Cast to void instead.
14235         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
14236         (dev_from_mount_options, read_file_system_list): Cast to void.
14237         Prompted by Bruno Haible.
14238
14239 2009-02-04  Jim Meyering  <meyering@redhat.com>
14240
14241         fsusage.c: correct copyright year
14242         * lib/fsusage.c: Reflect year in which the change is pushed into
14243
14244         avoid misc. warnings
14245         * lib/fsusage.c (UNUSED_PARAM): Define.
14246         (get_fs_usage): Mark parameter "disk" as unused.
14247         * lib/getugroups.c (getgrent): Use "void" in prototype.
14248         * lib/mountlist.c: Mark unused parameters.
14249         (read_file_system_list): Declare a local with "const".
14250         * lib/nanosleep.c (getnow): Declare static.
14251         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
14252
14253         dirfd: set errno upon failure
14254         * lib/dirfd.c: Include <errno.h>.
14255         Set errno to ENOTSUP when returning -1.
14256         * modules/dirfd (Depends-on): Add errno.
14257         Suggested by John Kodis <kodis@comcast.net>.
14258
14259 2009-02-01  Bruno Haible  <bruno@clisp.org>
14260
14261         Don't assume sizeof (long) >= sizeof (void *).
14262         * lib/memcmp.c: Include stdint.h.
14263         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
14264         srcp2 to 'const byte *'.
14265         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
14266         types to uintptr_t.
14267         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
14268         * modules/memcmp (Depends-on): Add stdint.
14269         Reported by Ozkan Sezer <sezeroz@gmail.com>.
14270
14271 2009-01-30  Eric Blake  <ebb9@byu.net>
14272
14273         fix more require-before-expand issues
14274         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
14275         expand, AC_PROG_AWK.
14276         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
14277
14278 2009-01-28  Eric Blake  <ebb9@byu.net>
14279
14280         version-etc: use consistent URL formatting
14281         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
14282         Improve formatting.  Use fputs for string without %.
14283
14284 2009-01-28  Jim Meyering  <meyering@redhat.com>
14285
14286         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
14287         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
14288         "underquoted definition of NAME" from autoconf-2.59.
14289
14290 2009-01-28  Bruno Haible  <bruno@clisp.org>
14291
14292         * doc/gnulib.texi: Add "Obsolete modules" to index.
14293
14294 2009-01-28  Jim Meyering  <meyering@redhat.com>
14295
14296         useless-if-before-free: recognize more variants
14297         * build-aux/useless-if-before-free: Also recognize e.g.,
14298         if (NULL != p) free (p);
14299
14300 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
14301
14302         test-getaddrinfo: skip (don't fail) this test when there's no network
14303         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
14304         on the presumption that it means you lack network access.
14305
14306 2009-01-26  Jim Meyering  <meyering@redhat.com>
14307
14308         fflush: avoid warnings on modern systems
14309         * lib/fflush.c (rpl_fflush): Move declarations of locals,
14310         pos and result, into scopes where they're used.
14311
14312 2009-01-26  Eric Blake  <ebb9@byu.net>
14313
14314         Silence warning reintroduced by recent extensions patch.
14315         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
14316         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
14317         autoconf.
14318
14319         Backport improved autoconf semantics of AC_DEFUN_ONCE.
14320         * m4/00gnulib.m4: New file.
14321         * gnulib-tool (func_get_filelist): Always use it.
14322         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
14323         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
14324
14325 2009-01-25  Bruno Haible  <bruno@clisp.org>
14326
14327         Make test-quotearg work on MacOS X and AIX.
14328         * tests/test-quotearg.sh: New file.
14329         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
14330         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
14331         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
14332         include <libintl.h>.
14333         (fake_locale): Remove variable.
14334         (gettext, dgettext, dcgettext): Remove functions.
14335         (main): Instead of setting a fake locale, set a real locale. Call
14336         textdomain and bindtextdomain.
14337         * modules/quotearg-tests (Files): Add the new files.
14338         (Depends-on): Add gettext, setenv, unsetenv.
14339         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
14340         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
14341         Augment TESTS_ENVIRONMENT.
14342
14343 2009-01-25  Bruno Haible  <bruno@clisp.org>
14344
14345         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
14346         fr_FR.ISO8859-1 locale on MacOS X.
14347         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
14348         ja_JP.eucJP locale on MacOS X.
14349         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
14350         zh_CN.GB18030 locale on MacOS X.
14351
14352 2009-01-25  Bruno Haible  <bruno@clisp.org>
14353
14354         Avoid link errors on MacOS X 10.3.
14355         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
14356         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14357
14358 2009-01-25  Bruno Haible  <bruno@clisp.org>
14359
14360         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14361         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
14362         * modules/pipe (Files): Remove m4/posix_spawn.m4.
14363         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14364         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
14365         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14366         posix_spawnattr_init, posix_spawnattr_setsigmask,
14367         posix_spawnattr_setflags, posix_spawnattr_destroy.
14368
14369         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14370         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
14371         * modules/execute (Files): Remove m4/posix_spawn.m4.
14372         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14373         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14374         posix_spawnattr_init, posix_spawnattr_setsigmask,
14375         posix_spawnattr_setflags, posix_spawnattr_destroy.
14376
14377 2009-01-25  Bruno Haible  <bruno@clisp.org>
14378
14379         * lib/glthread/threadlib.c: Include <stdlib.h>.
14380
14381 2009-01-25  Bruno Haible  <bruno@clisp.org>
14382
14383         * lib/glthread/threadlib.c (dummy): New declaration.
14384
14385 2009-01-25  Bruno Haible  <bruno@clisp.org>
14386
14387         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
14388         multibyte characters also for the GB18030 encoding. Don't crash when
14389         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
14390
14391 2009-01-25  Bruno Haible  <bruno@clisp.org>
14392
14393         Avoid redefining 'struct random_data' on OSF/1 5.1.
14394         * lib/stdlib.in.h: Include <random.h> if it exists.
14395         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
14396         HAVE_RANDOM_H. Include <random.h> when testing whether
14397         'struct random_data' exists.
14398         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
14399
14400 2009-01-25  Bruno Haible  <bruno@clisp.org>
14401
14402         Don't install charset.alias on MacOS X >= 10.3.
14403         * lib/localcharset.c (DARWIN7): New macro.
14404         (get_charset_aliases): Hardcode the result for Darwin7.
14405         * modules/localcharset (install-exec-local): Don't install
14406         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
14407
14408 2009-01-25  Bruno Haible  <bruno@clisp.org>
14409
14410         Don't install charset.alias on mingw and Cygwin.
14411         * modules/localcharset (install-exec-local): Don't install
14412         charset.alias on mingw and Cygwin, if the file does not yet exist.
14413         The result for these platforms is hardcoded in localcharset.c.
14414
14415 2009-01-25  Bruno Haible  <bruno@clisp.org>
14416
14417         Make it possible again to use AC_GNU_SOURCE together with gnulib.
14418         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
14419         before requiring AC_USE_SYSTEM_EXTENSIONS.
14420
14421 2009-01-25  Jim Meyering  <meyering@redhat.com>
14422
14423         c-strtod: avoid warnings
14424         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
14425         "assignment discards qualifiers from pointer target type" warnings.
14426
14427 2009-01-24  Bruno Haible  <bruno@clisp.org>
14428
14429         Add support for non-UTF-8 locales on MacOS X.
14430         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
14431         canonical encodings. For Darwin 7 and newer, don't map traditional
14432         encodings to UTF-8.
14433         Reported by Vincent Lefevre <vincent@vinc17.org>
14434         at <http://savannah.gnu.org/bugs/?25235>.
14435
14436 2009-01-24  Bruno Haible  <bruno@clisp.org>
14437
14438         * doc/gnulib.texi (Obsolete modules): New section.
14439         Reported by Mike Frysinger <vapier@gentoo.org>.
14440
14441 2009-01-24  Bruno Haible  <bruno@clisp.org>
14442
14443         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
14444         (%.dvi): New rule.
14445
14446 2009-01-24  Bruno Haible  <bruno@clisp.org>
14447
14448         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
14449         Reported by Eric Blake.
14450
14451 2009-01-24  Bruno Haible  <bruno@clisp.org>
14452
14453         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
14454         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
14455         Reported by Gary V. Vaughan <gary@gnu.org>.
14456
14457 2009-01-24  Bruno Haible  <bruno@clisp.org>
14458
14459         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
14460
14461 2009-01-23  Bruno Haible  <bruno@clisp.org>
14462
14463         Make c-strtod, c-strtold usable in libraries.
14464         * lib/c-strtod.c: Include string.h instead of xalloc.h.
14465         (C_STRTOD): Call strdup instead of xstrdup.
14466         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
14467         * modules/c-strtold (Depends-on): Likewise.
14468         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
14469         * NEWS: Mention the change.
14470         Reported by Michael Gold <mgold@ncf.ca>.
14471
14472 2009-01-23  Jim Meyering  <meyering@redhat.com>
14473
14474         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
14475         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
14476         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
14477
14478 2009-01-23  Simon Josefsson  <simon@josefsson.org>
14479
14480         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
14481         GNU CoreUtils.
14482         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
14483         * modules/version-etc (Description): Update.
14484
14485 2009-01-22  Bruno Haible  <bruno@clisp.org>
14486
14487         Cache the C locale object.
14488         * lib/c-strtod.c (c_locale_cache): New variable.
14489         (c_locale): New function.
14490         (C_STRTOD): Use it, and don't call freelocale.
14491         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
14492         Suggested by Paolo Bonzini.
14493
14494 2009-01-21  Bruno Haible  <bruno@clisp.org>
14495
14496         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
14497         conditions other than overflow.
14498
14499 2009-01-21  Bruno Haible  <bruno@clisp.org>
14500
14501         * lib/c-strtod.c: Include errno.h.
14502         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
14503         value from STRTOD_L and STRTOD.
14504
14505 2009-01-21  Bruno Haible  <bruno@clisp.org>
14506         and Jim Meyering  <meyering@redhat.com>
14507
14508         nanosleep: skip configure test (fail it) for apple universal builds
14509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
14510         universal builds, assume that nanosleep does not work.
14511         * modules/nanosleep (Depends-on): Add multiarch.
14512
14513         mktime: skip configure test (fail it) for apple universal builds
14514         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
14515         universal builds, assume that mktime does not work.
14516         * modules/mktime (Depends-on): Add multiarch.
14517
14518 2009-01-21  Eric Blake  <ebb9@byu.net>
14519
14520         multiarch: avoid expand-before-require warning
14521         * modules/multiarch (configure.ac): Require, rather than expand,
14522         gl_MULTIARCH.
14523         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
14524         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
14525         enforce that all clients require it.  Partial reversion of
14526         2008-12-29 patch.
14527
14528         error: avoid expand-before-require warning
14529         * modules/errno (configure.ac): Require, rather than expand,
14530         gl_HEADER_ERRNO_H.
14531         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
14532         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
14533         enforce that all clients require it.
14534
14535         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
14536         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
14537         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
14538         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
14539
14540 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
14541
14542         Revert:
14543         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14544
14545         regex: do not depend on obsolete modules.
14546         * modules/regex: Remove memcmp and memmove.
14547
14548 2009-01-20  Bruno Haible  <bruno@clisp.org>
14549
14550         Make the 'link' module link on Windows NT 4.
14551         * lib/link.c (_WIN32_WINNT): Don't define.
14552         (CreateHardLinkFuncType): New type.
14553         (CreateHardLinkFunc, initialized): New variables.
14554         (initialize): New function.
14555         (link): Invoke CreateHardLink indirectly through the function pointer.
14556
14557 2009-01-20  Bruno Haible  <bruno@clisp.org>
14558
14559         Fix compilation failure on mingw.
14560         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
14561
14562 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
14563
14564         * doc/c-strtod.texi: Mention a couple of restrictions.
14565
14566 2009-01-20  Jim Meyering  <meyering@redhat.com>
14567
14568         gettimeofday: move more declarations out of functions
14569         * lib/gettimeofday.c: Move extern declarations of tzset and
14570         gmtime out of containing functions.  Prompted by Bruno Haible.
14571
14572 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
14573
14574         regex: do not depend on obsolete modules.
14575         * modules/regex: Remove memcmp and memmove.
14576
14577 2009-01-19  Bruno Haible  <bruno@clisp.org>
14578
14579         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14580         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
14581         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14582         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
14583         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
14584
14585 2009-01-19  Bruno Haible  <bruno@clisp.org>
14586
14587         * tests/test-link.c: Include <errno.h>.
14588         (main): Exit with code 77 when a hard link cannot be created due to
14589         the file system.
14590         * tests/test-link.sh: Skip test when a hard link cannot be created due
14591         to the file system.
14592         Suggested by Eric Blake.
14593
14594 2009-01-19  Martin Lambers  <marlam@marlam.de>
14595
14596         * modules/link-tests: New file.
14597         * tests/test-link.sh: New file.
14598         * tests/test-link.c: New file.
14599
14600 2009-01-19  Eric Blake  <ebb9@byu.net>
14601
14602         doc: mention another function added in cygwin 1.7.0
14603         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
14604         Another new function in cygwin 1.7.
14605
14606 2009-01-19  Bruno Haible  <bruno@clisp.org>
14607
14608         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
14609         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
14610         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
14611         gl_BIGENDIAN, not AC_C_BIGENDIAN.
14612         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14613         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14614         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14615         * m4/md4.m4 (gl_MD4): Likewise.
14616         * m4/md5.m4 (gl_MD5): Likewise.
14617         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
14618         * m4/sha1.m4 (gl_SHA1): Likewise.
14619         * m4/sha256.m4 (gl_SHA256): Likewise.
14620         * m4/sha512.m4 (gl_SHA512): Likewise.
14621
14622 2009-01-19  Bruno Haible  <bruno@clisp.org>
14623
14624         * modules/uniname/uniname-tests (Depends-on): Add progname.
14625         * tests/uniname/test-uninames.c: Include progname.h.
14626         (main): Call set_program_name.
14627
14628         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
14629         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
14630         (main): Call set_program_name.
14631
14632         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
14633         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
14634         (main): Call set_program_name.
14635
14636         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
14637         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
14638         (main): Call set_program_name.
14639
14640         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
14641         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
14642         (main): Call set_program_name.
14643
14644         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
14645         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
14646         (main): Call set_program_name.
14647
14648         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
14649         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
14650         (main): Call set_program_name.
14651
14652         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
14653         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
14654         (main): Call set_program_name.
14655
14656         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
14657         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
14658         (main): Call set_program_name.
14659
14660 2009-01-19  Eric Blake  <ebb9@byu.net>
14661
14662         test-unistd: test previous patch
14663         * tests/test-unistd.c: Test *_FILENO macros.
14664
14665         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
14666         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14667         Guarantee a definition.
14668         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
14669         * modules/unistd-safer (Depends-on): Add dependency on unistd.
14670         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
14671         * lib/dup-safer.c (STDERR_FILENO): Likewise.
14672         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14673         Likewise.
14674         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
14675         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
14676         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
14677         Likewise.
14678         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
14679         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
14680         (STDERR_FILENO): Likewise.
14681         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
14682         (STDERR_FILENO): Likewise.
14683         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
14684         (STDERR_FILENO): Likewise.
14685         Reported by Elbert Pol.
14686
14687 2009-01-19  Eric Blake  <ebb9@byu.net>
14688
14689         doc: mention more functions added in cygwin 1.7.0
14690         * doc/posix-functions/abort.texi (abort): Update wording related
14691         to cygwin.
14692         * doc/posix-functions/daylight.texi (daylight): Likewise.
14693         * doc/posix-functions/optarg.texi (optarg): Likewise.
14694         * doc/posix-functions/optarg.texi (opterr): Likewise.
14695         * doc/posix-functions/optarg.texi (optind): Likewise.
14696         * doc/posix-functions/optarg.texi (optopt): Likewise.
14697         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
14698         worked in 1.5.x, and was withdrawn in 1.7.
14699         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
14700         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
14701         cygwin versions.
14702         * doc/posix-functions/perror.texi (perror): Likewise.
14703         * doc/posix-functions/printf.texi (printf): Likewise.
14704         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
14705         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
14706         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14707         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14708         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14709         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
14710         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
14711         Likewise.
14712         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
14713         Likewise.
14714         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
14715         this function.
14716         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
14717         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
14718         Likewise.
14719         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
14720         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
14721         * doc/posix-functions/confstr.texi (confstr): Likewise.
14722         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
14723         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
14724         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
14725         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
14726         * doc/posix-functions/fputws.texi (fputws): Likewise.
14727         * doc/posix-functions/fwide.texi (fwide): Likewise.
14728         * doc/posix-functions/getwc.texi (getwc): Likewise.
14729         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
14730         * doc/posix-functions/putwc.texi (putwc): Likewise.
14731         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
14732         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
14733         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
14734         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
14735         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
14736         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
14737         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
14738         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
14739         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
14740         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
14741         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
14742
14743 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
14744
14745         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
14746         * lib/ioctl.c: Include <sys/ioctl.h>.
14747
14748 2009-01-19  Simon Josefsson  <simon@josefsson.org>
14749
14750         * modules/getdate-tests (Depends-on): Add progname.
14751         * tests/test-getdate.c: Use progname module, to avoid link errors
14752         on non-glibc systems.
14753
14754 2009-01-18  Simon Josefsson  <simon@josefsson.org>
14755
14756         * modules/filenamecat-tests (Depends-on): Add progname.
14757         * modules/fstrcmp-tests (Depends-on): Likewise.
14758
14759         * tests/test-filenamecat.c: Use progname module, to avoid link
14760         errors on non-glibc systems.
14761         * tests/test-fstrcmp.c: Likewise.
14762
14763 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
14764
14765         gettimeofday: avoid warning: nested extern declaration of 'localtime'
14766         * lib/gettimeofday.c: Move extern declaration out of function.
14767
14768 2009-01-18  Bruno Haible  <bruno@clisp.org>
14769
14770         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
14771         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
14772         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
14773
14774 2009-01-18  Bruno Haible  <bruno@clisp.org>
14775
14776         * lib/strftime.c (MEMPCPY): Remove unused macro.
14777         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
14778
14779 2009-01-18  Martin Lambers  <marlam@marlam.de>
14780
14781         New module 'link'.
14782         * lib/unistd.in.h (link): New declaration.
14783         * lib/link.c: New file.
14784         * m4/link.m4: New file.
14785         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
14786         HAVE_LINK.
14787         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
14788         * modules/link: New file.
14789         * doc/posix-functions/link.texi: Mention the new module.
14790
14791 2009-01-18  Bruno Haible  <bruno@clisp.org>
14792
14793         * tests/test-avltree_list.c (main): Call set_program_name.
14794         * tests/test-avltree_oset.c (main): Likewise.
14795         * tests/test-obstack-printf.c: Include progname.h.
14796         (main): Call set_program_name.
14797         * tests/test-quotearg.c: Include progname.h.
14798         (main): Call set_program_name.
14799         * tests/test-xmemdup0.c: Include progname.h.
14800         (main): Call set_program_name.
14801
14802 2009-01-18  Bruno Haible  <bruno@clisp.org>
14803
14804         New module 'alphasort'.
14805         * lib/dirent.in.h (alphasort): New declaration.
14806         * lib/alphasort.c: New file, from glibc with modifications.
14807         * m4/alphasort.m4: New file.
14808         * modules/alphasort: New file.
14809         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
14810         HAVE_ALPHASORT.
14811         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
14812         HAVE_ALPHASORT.
14813         * doc/posix-functions/alphasort.texi: Mention the new module and the
14814         portability problems.
14815
14816 2009-01-18  Bruno Haible  <bruno@clisp.org>
14817
14818         New module 'scandir'.
14819         * lib/dirent.in.h (scandir): New declaration.
14820         * lib/scandir.c: New file, from glibc with modifications.
14821         * m4/scandir.m4: New file.
14822         * modules/scandir: New file.
14823         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
14824         HAVE_SCANDIR.
14825         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
14826         HAVE_SCANDIR.
14827         * doc/posix-functions/scandir.texi: Mention the new module and the
14828         portability problems.
14829
14830 2009-01-17  Bruno Haible  <bruno@clisp.org>
14831
14832         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
14833         Update documentation.
14834         (func_remove_suffix): Escape all dots in the suffix. Update
14835         documentation.
14836         (func_filter_filelist): Update documentation.
14837         Reported by Ralf Wildenhues.
14838
14839 2009-01-17  Bruno Haible  <bruno@clisp.org>
14840
14841         * modules/dprintf-posix-tests: New file.
14842         * tests/test-dprintf-posix.sh: New file.
14843         * tests/test-dprintf-posix.c: New file.
14844
14845         New modules 'dprintf', 'dprintf-posix'.
14846         * lib/stdio.in.h (dprintf): New declaration.
14847         * lib/dprintf.c: New file.
14848         * m4/dprintf.m4: New file.
14849         * m4/dprintf-posix.m4: New file.
14850         * modules/dprintf: New file.
14851         * modules/dprintf-posix: New file.
14852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
14853         HAVE_DPRINTF, REPLACE_DPRINTF.
14854         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
14855         HAVE_DPRINTF, REPLACE_DPRINTF.
14856         * doc/posix-functions/dprintf.texi: Mention the new modules.
14857
14858 2009-01-17  Bruno Haible  <bruno@clisp.org>
14859
14860         * modules/vdprintf-posix-tests: New file.
14861         * tests/test-vdprintf-posix.sh: New file.
14862         * tests/test-vdprintf-posix.c: New file.
14863
14864         New modules 'vdprintf', 'vdprintf-posix'.
14865         * lib/stdio.in.h (vdprintf): New declaration.
14866         * lib/vdprintf.c: New file.
14867         * m4/vdprintf.m4: New file.
14868         * m4/vdprintf-posix.m4: New file.
14869         * modules/vdprintf: New file.
14870         * modules/vdprintf-posix: New file.
14871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
14872         HAVE_VDPRINTF, REPLACE_VDPRINTF.
14873         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
14874         HAVE_VDPRINTF, REPLACE_VDPRINTF.
14875         * doc/posix-functions/vdprintf.texi: Mention the new modules.
14876
14877 2009-01-17  Bruno Haible  <bruno@clisp.org>
14878
14879         Fix replacement of fopen on mingw.
14880         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
14881         mingw.
14882
14883 2009-01-17  Bruno Haible  <bruno@clisp.org>
14884
14885         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
14886         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
14887
14888 2009-01-17  Bruno Haible  <bruno@clisp.org>
14889
14890         Avoid test-fflush2.sh failure on mingw.
14891         * tests/test-fflush2.c: Include binary-io.h.
14892         (main): Put standard input into binary mode.
14893         * modules/fflush-tests (Depends-on): Add binary-io.
14894
14895 2009-01-17  Bruno Haible  <bruno@clisp.org>
14896
14897         * lib/wchar.in.h: In another particular situation, include only the
14898         system's <wchar.h> file.
14899         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
14900         Reported by Albert Chin-A-Young <china@thewrittenword.com>
14901         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
14902
14903 2009-01-17  Bruno Haible  <bruno@clisp.org>
14904
14905         Support for stripping executables in --enable-relocatable.
14906         * build-aux/install-reloc: Expect one more argument, or an environment
14907         variable RELOC_STRIP_PROG. If set, strip the destination program and
14908         its wrapper.
14909         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
14910         RELOC_STRIP_PROG.
14911         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
14912         to set RELOCATABLE_STRIP.
14913         * NEWS: Mention the new Makefile requirement.
14914
14915 2009-01-17  Bruno Haible  <bruno@clisp.org>
14916
14917         * build-aux/install-reloc: Remove debugging information left over by
14918         C compiler on MacOS X.
14919
14920 2009-01-17  Bruno Haible  <bruno@clisp.org>
14921
14922         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
14923         * lib/progreloc.c (find_executable): Fix type of pointer passed to
14924         _NSGetExecutablePath.
14925
14926 2009-01-16  Jim Meyering  <meyering@redhat.com>
14927
14928         strerror: avoid warnings about discarding "const"
14929         * lib/strerror.c (rpl_strerror): Instead of returning a const
14930         string from each and every "case", use a variable, and add a single
14931         cast after the switch.
14932
14933 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
14934
14935         * lib/arpa_inet.in.h: Add extern "C" block for C++.
14936
14937 2009-01-16  Bruno Haible  <bruno@clisp.org>
14938
14939         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
14940         array initializer syntax that also works in C++ mode.
14941         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14942
14943 2009-01-16  Jim Meyering  <meyering@redhat.com>
14944
14945         poll: suppress a warning
14946         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
14947         to ignore "...unsigned expression < 0 is always false" warnings.
14948
14949 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
14950
14951         poll: remove declarations of unused variables
14952         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
14953         sockbuf and optlen.
14954
14955 2009-01-15  Bruno Haible  <bruno@clisp.org>
14956
14957         Make fflush-after-ungetc POSIX compliant on BSD systems.
14958         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
14959         (clear_ungetc_buffer): Implement also for other systems.
14960         (rpl_fflush): On glibc systems, invoke
14961         clear_ungetc_buffer_preserving_position. Otherwise, invoke
14962         clear_ungetc_buffer after fetching the stream's position, not before.
14963
14964 2009-01-15  Bruno Haible  <bruno@clisp.org>
14965
14966         Make fflush-after-ungetc POSIX compliant on glibc systems.
14967         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
14968         after ungetc.
14969         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
14970         (rpl_fflush): On glibc systems, simply call the system's fflush
14971         function after clearing the ungetc buffer.
14972         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
14973         Instead, lseek only to the end of file, then use the system's fseeko
14974         for the rest. On glibc systems, reset the EOF indicator bit.
14975
14976 2009-01-15  Jim Meyering  <meyering@redhat.com>
14977
14978         openmp.m4: revert quote-adding change, for portability to older autoconf
14979         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
14980         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
14981         Simon Josefsson noticed the problem when using autoconf-2.61.
14982
14983 2009-01-15  Bruno Haible  <bruno@clisp.org>
14984
14985         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
14986         * tests/test-fflush2.c (ASSERT): Always fail.
14987         (main): Add two tests for fflush() after ungetc(), taking into account
14988         the Austin Group's clarification.
14989         Suggested by Eric Blake.
14990
14991 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
14992
14993         mktime.m4: remove K&R-style function prototypes
14994         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
14995         for the Sun C++ compiler.
14996
14997 2009-01-14  Bruno Haible  <bruno@clisp.org>
14998
14999         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
15000         while including <wchar.h>.
15001         * lib/wchar.in.h: In two particular situations on HP-UX, include only
15002         the system's <wchar.h> file.
15003         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15004
15005 2009-01-14  Bruno Haible  <bruno@clisp.org>
15006
15007         * m4/csharp.m4: Don't mention gettext on the serial number line.
15008         * m4/csharpexec.m4: Likewise.
15009         * m4/eaccess.m4: Likewise.
15010         * m4/javaexec.m4: Likewise.
15011         * m4/sig_atomic_t.m4: Likewise.
15012         * m4/tmpdir.m4: Likewise.
15013         * m4/intldir.m4: Bump gettext version.
15014         * m4/lib-ld.m4: Likewise.
15015
15016 2009-01-14  Bruno Haible  <bruno@clisp.org>
15017
15018         * lib/progname.c (set_program_name): Add more comments.
15019         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15020
15021 2009-01-14  Simon Josefsson  <simon@josefsson.org>
15022
15023         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
15024         were sys/stat.h does not define it.
15025
15026 2009-01-14  Jim Meyering  <meyering@redhat.com>
15027
15028         many *.m4 files: improve m4 quoting
15029         99% of this change was performed by running the following commands:
15030         git ls-files | grep '\.m4$' | xargs perl -pi \
15031           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
15032           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15033           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15034           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
15035         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
15036         The remainder were to add Copyright dates, increment serial numbers,
15037         undo some changes in comments, exclude m4/intl.m4, and add quotes
15038         around the "1" in ",1" where the unusual spacing prohibited the
15039         above regexps from doing the job.  For more details, see
15040         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
15041         * m4/acl.m4: Modified.
15042         * m4/afs.m4: Likewise.
15043         * m4/alloca.m4: Likewise.
15044         * m4/argp.m4: Likewise.
15045         * m4/argz.m4: Likewise.
15046         * m4/atexit.m4: Likewise.
15047         * m4/bison-i18n.m4: Likewise.
15048         * m4/bison.m4: Likewise.
15049         * m4/byteswap.m4: Likewise.
15050         * m4/c-stack.m4: Likewise.
15051         * m4/c-strtod.m4: Likewise.
15052         * m4/calloc.m4: Likewise.
15053         * m4/canonicalize-lgpl.m4: Likewise.
15054         * m4/chown.m4: Likewise.
15055         * m4/clock_time.m4: Likewise.
15056         * m4/codeset.m4: Likewise.
15057         * m4/copy-file.m4: Likewise.
15058         * m4/csharp.m4: Likewise.
15059         * m4/csharpcomp.m4: Likewise.
15060         * m4/csharpexec.m4: Likewise.
15061         * m4/d-ino.m4: Likewise.
15062         * m4/d-type.m4: Likewise.
15063         * m4/dirfd.m4: Likewise.
15064         * m4/double-slash-root.m4: Likewise.
15065         * m4/eaccess.m4: Likewise.
15066         * m4/eealloc.m4: Likewise.
15067         * m4/environ.m4: Likewise.
15068         * m4/errno_h.m4: Likewise.
15069         * m4/euidaccess.m4: Likewise.
15070         * m4/execute.m4: Likewise.
15071         * m4/fatal-signal.m4: Likewise.
15072         * m4/fchdir.m4: Likewise.
15073         * m4/fcntl_h.m4: Likewise.
15074         * m4/fileblocks.m4: Likewise.
15075         * m4/filenamecat.m4: Likewise.
15076         * m4/findprog.m4: Likewise.
15077         * m4/flexmember.m4: Likewise.
15078         * m4/fnmatch.m4: Likewise.
15079         * m4/fopen.m4: Likewise.
15080         * m4/fpending.m4: Likewise.
15081         * m4/fprintf-posix.m4: Likewise.
15082         * m4/free.m4: Likewise.
15083         * m4/frexp.m4: Likewise.
15084         * m4/frexpl.m4: Likewise.
15085         * m4/fsusage.m4: Likewise.
15086         * m4/ftruncate.m4: Likewise.
15087         * m4/gc-camellia.m4: Likewise.
15088         * m4/gc-random.m4: Likewise.
15089         * m4/gc.m4: Likewise.
15090         * m4/getaddrinfo.m4: Likewise.
15091         * m4/getcwd-abort-bug.m4: Likewise.
15092         * m4/getcwd-path-max.m4: Likewise.
15093         * m4/getdate.m4: Likewise.
15094         * m4/getdomainname.m4: Likewise.
15095         * m4/getgroups.m4: Likewise.
15096         * m4/gethostname.m4: Likewise.
15097         * m4/gethrxtime.m4: Likewise.
15098         * m4/getline.m4: Likewise.
15099         * m4/getloadavg.m4: Likewise.
15100         * m4/getndelim2.m4: Likewise.
15101         * m4/getpass.m4: Likewise.
15102         * m4/gettext.m4: Likewise.
15103         * m4/gettime.m4: Likewise.
15104         * m4/gettimeofday.m4: Likewise.
15105         * m4/gnulib-common.m4: Likewise.
15106         * m4/group-member.m4: Likewise.
15107         * m4/host-os.m4: Likewise.
15108         * m4/iconv.m4: Likewise.
15109         * m4/iconv_open.m4: Likewise.
15110         * m4/inet_ntop.m4: Likewise.
15111         * m4/inet_pton.m4: Likewise.
15112         * m4/inline.m4: Likewise.
15113         * m4/intldir.m4: Likewise.
15114         * m4/intlmacosx.m4: Likewise.
15115         * m4/intmax.m4: Likewise.
15116         * m4/intmax_t.m4: Likewise.
15117         * m4/inttypes.m4: Likewise.
15118         * m4/inttypes_h.m4: Likewise.
15119         * m4/inttypes-pri.m4: Likewise.
15120         * m4/isapipe.m4: Likewise.
15121         * m4/isnand.m4: Likewise.
15122         * m4/isnanf.m4: Likewise.
15123         * m4/isnanl.m4: Likewise.
15124         * m4/javacomp.m4: Likewise.
15125         * m4/javaexec.m4: Likewise.
15126         * m4/jm-winsz1.m4: Likewise.
15127         * m4/jm-winsz2.m4: Likewise.
15128         * m4/lchown.m4: Likewise.
15129         * m4/lcmessage.m4: Likewise.
15130         * m4/ldexpl.m4: Likewise.
15131         * m4/lib-ld.m4: Likewise.
15132         * m4/lib-link.m4: Likewise.
15133         * m4/libsigsegv.m4: Likewise.
15134         * m4/link-follow.m4: Likewise.
15135         * m4/localcharset.m4: Likewise.
15136         * m4/locale-fr.m4: Likewise.
15137         * m4/locale-ja.m4: Likewise.
15138         * m4/locale-tr.m4: Likewise.
15139         * m4/locale-zh.m4: Likewise.
15140         * m4/lock.m4: Likewise.
15141         * m4/longlong.m4: Likewise.
15142         * m4/ls-mntd-fs.m4: Likewise.
15143         * m4/lstat.m4: Likewise.
15144         * m4/malloc.m4: Likewise.
15145         * m4/mathl.m4: Likewise.
15146         * m4/mbrtowc.m4: Likewise.
15147         * m4/mbstate_t.m4: Likewise.
15148         * m4/mbswidth.m4: Likewise.
15149         * m4/memchr.m4: Likewise.
15150         * m4/memcmp.m4: Likewise.
15151         * m4/memcpy.m4: Likewise.
15152         * m4/memmem.m4: Likewise.
15153         * m4/memmove.m4: Likewise.
15154         * m4/mempcpy.m4: Likewise.
15155         * m4/memrchr.m4: Likewise.
15156         * m4/memset.m4: Likewise.
15157         * m4/minmax.m4: Likewise.
15158         * m4/mkdir-slash.m4: Likewise.
15159         * m4/mkdtemp.m4: Likewise.
15160         * m4/mktime.m4: Likewise.
15161         * m4/mmap-anon.m4: Likewise.
15162         * m4/mountlist.m4: Likewise.
15163         * m4/nanosleep.m4: Likewise.
15164         * m4/nls.m4: Likewise.
15165         * m4/nocrash.m4: Likewise.
15166         * m4/open.m4: Likewise.
15167         * m4/openat.m4: Likewise.
15168         * m4/openmp.m4: Likewise.
15169         * m4/pathmax.m4: Likewise.
15170         * m4/perl.m4: Likewise.
15171         * m4/physmem.m4: Likewise.
15172         * m4/pipe.m4: Likewise.
15173         * m4/po.m4: Likewise.
15174         * m4/poll.m4: Likewise.
15175         * m4/posixtm.m4: Likewise.
15176         * m4/posixver.m4: Likewise.
15177         * m4/printf-frexp.m4: Likewise.
15178         * m4/printf-frexpl.m4: Likewise.
15179         * m4/printf-posix.m4: Likewise.
15180         * m4/printf-posix-rpl.m4: Likewise.
15181         * m4/printf.m4: Likewise.
15182         * m4/progtest.m4: Likewise.
15183         * m4/putenv.m4: Likewise.
15184         * m4/readline.m4: Likewise.
15185         * m4/readlink.m4: Likewise.
15186         * m4/readutmp.m4: Likewise.
15187         * m4/realloc.m4: Likewise.
15188         * m4/regex.m4: Likewise.
15189         * m4/relocatable.m4: Likewise.
15190         * m4/relocatable-lib.m4: Likewise.
15191         * m4/rename-dest-slash.m4: Likewise.
15192         * m4/rename.m4: Likewise.
15193         * m4/rmdir-errno.m4: Likewise.
15194         * m4/rmdir.m4: Likewise.
15195         * m4/roundf.m4: Likewise.
15196         * m4/roundl.m4: Likewise.
15197         * m4/rpmatch.m4: Likewise.
15198         * m4/save-cwd.m4: Likewise.
15199         * m4/selinux-selinux-h.m4: Likewise.
15200         * m4/setenv.m4: Likewise.
15201         * m4/settime.m4: Likewise.
15202         * m4/sig2str.m4: Likewise.
15203         * m4/sig_atomic_t.m4: Likewise.
15204         * m4/signalblocking.m4: Likewise.
15205         * m4/signbit.m4: Likewise.
15206         * m4/sigpipe.m4: Likewise.
15207         * m4/sockets.m4: Likewise.
15208         * m4/sockpfaf.m4: Likewise.
15209         * m4/st_dm_mode.m4: Likewise.
15210         * m4/stat-time.m4: Likewise.
15211         * m4/stdbool.m4: Likewise.
15212         * m4/stdint.m4: Likewise.
15213         * m4/stdint_h.m4: Likewise.
15214         * m4/stpcpy.m4: Likewise.
15215         * m4/stpncpy.m4: Likewise.
15216         * m4/strcase.m4: Likewise.
15217         * m4/strchrnul.m4: Likewise.
15218         * m4/strcspn.m4: Likewise.
15219         * m4/strdup.m4: Likewise.
15220         * m4/strftime.m4: Likewise.
15221         * m4/strndup.m4: Likewise.
15222         * m4/strnlen.m4: Likewise.
15223         * m4/strpbrk.m4: Likewise.
15224         * m4/strptime.m4: Likewise.
15225         * m4/strsep.m4: Likewise.
15226         * m4/strtod.m4: Likewise.
15227         * m4/strtoimax.m4: Likewise.
15228         * m4/strtok_r.m4: Likewise.
15229         * m4/strtol.m4: Likewise.
15230         * m4/strtoll.m4: Likewise.
15231         * m4/strtoul.m4: Likewise.
15232         * m4/strtoull.m4: Likewise.
15233         * m4/strtoumax.m4: Likewise.
15234         * m4/strverscmp.m4: Likewise.
15235         * m4/threadlib.m4: Likewise.
15236         * m4/timegm.m4: Likewise.
15237         * m4/tm_gmtoff.m4: Likewise.
15238         * m4/tmpdir.m4: Likewise.
15239         * m4/tmpfile.m4: Likewise.
15240         * m4/tzset.m4: Likewise.
15241         * m4/uintmax_t.m4: Likewise.
15242         * m4/unlinkdir.m4: Likewise.
15243         * m4/unlocked-io.m4: Likewise.
15244         * m4/uptime.m4: Likewise.
15245         * m4/userspec.m4: Likewise.
15246         * m4/utimbuf.m4: Likewise.
15247         * m4/utime.m4: Likewise.
15248         * m4/utimes-null.m4: Likewise.
15249         * m4/utimes.m4: Likewise.
15250         * m4/vararrays.m4: Likewise.
15251         * m4/vasnprintf.m4: Likewise.
15252         * m4/vfprintf-posix.m4: Likewise.
15253         * m4/vprintf-posix.m4: Likewise.
15254         * m4/wait-process.m4: Likewise.
15255         * m4/wchar_t.m4: Likewise.
15256         * m4/wint_t.m4: Likewise.
15257         * m4/write-any-file.m4: Likewise.
15258         * m4/yield.m4: Likewise.
15259
15260 2009-01-13  Bruno Haible  <bruno@clisp.org>
15261
15262         Avoid test-copy-file.sh failures when ACL support insufficient.
15263         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
15264         TESTS_ENVIRONMENT.
15265         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
15266         Reported by Jim Meyering.
15267
15268 2009-01-13  Bruno Haible  <bruno@clisp.org>
15269
15270         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
15271         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
15272         * modules/unistdio/u8-printf-parse (Files): Likewise.
15273         * modules/unistdio/u32-printf-parse (Files): Likewise.
15274         * modules/unistdio/ulc-printf-parse (Files): Likewise.
15275
15276 2009-01-13  Simon Josefsson  <simon@josefsson.org>
15277
15278         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
15279         and m4/inttypes_h.m4 too.
15280
15281 2009-01-12  Eric Blake  <ebb9@byu.net>
15282
15283         tests: IRIX 6.2 cc can't compile -0.0 into .data
15284         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
15285         rather than at compile-time.
15286         * tests/test-floorl.c (minus_zero): Likewise.
15287         * tests/test-frexpl.c (minus_zero): Likewise.
15288         * tests/test-isnan.c (minus_zerol): Likewise.
15289         * tests/test-isnanl.h (minus_zero): Likewise.
15290         * tests/test-ldexpl.c (minus_zero): Likewise.
15291         * tests/test-roundl.c (minus_zero): Likewise.
15292         * tests/test-signbit.c (minus_zerol): Likewise.
15293         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15294         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15295         * tests/test-truncl.c (minus_zero): Likewise.
15296         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15297         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15298         Reported by Tom G. Christensen and Nelson H. F. Beebe.
15299
15300 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15301
15302         regex: fix glibc bug 9697
15303         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
15304         handling.
15305
15306 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15307
15308         regex: fix glibc bug 697
15309         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
15310         being NULL also if there are no backreferences.
15311
15312 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15313
15314         regex: merge glibc changes
15315         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
15316         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
15317         re_string_skip_chars, re_string_reconstruct): Likewise.
15318         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
15319
15320 2009-01-07  Jim Meyering  <meyering@redhat.com>
15321
15322         poll: filter through cppi
15323         * lib/poll.c: Indent cpp directives to reflect nesting.
15324
15325 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
15326
15327         poll: don't return uninitialized
15328         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
15329
15330 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
15331
15332         avoid compile failure on AIX 6.1
15333         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
15334         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
15335
15336 2009-01-04  Jim Meyering  <meyering@redhat.com>
15337
15338         remove duplicate inclusion of <stdio.h>
15339         * tests/test-fprintf-posix.c: Likewise.
15340         * tests/test-printf-posix.c: Likewise.
15341         * tests/test-snprintf-posix.c: Likewise.
15342         * tests/test-sprintf-posix.c: Likewise.
15343         * tests/test-vasprintf-posix.c: Likewise.
15344         * tests/test-vfprintf-posix.c: Likewise.
15345         * tests/test-vprintf-posix.c: Likewise.
15346         * tests/test-vsnprintf-posix.c: Likewise.
15347         * tests/test-vsprintf-posix.c: Likewise.
15348
15349 2009-01-03  Jim Meyering  <meyering@redhat.com>
15350
15351         gnulib-tool: fix sed-based filtering
15352         * gnulib-tool (func_filter_filelist): Remove extra backslash
15353         in sed_fff_filter definition.
15354
15355 2009-01-02  Jim Meyering  <meyering@redhat.com>
15356
15357         strftime: avoid compilation failure on Solaris 2.6
15358         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
15359         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
15360         Don't #define mbrlen or mbsinit, since now they're guaranteed to
15361         be available.  Reported by Tom G. Christensen.  Details in
15362         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
15363
15364 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15365             Bruno Haible  <bruno@clisp.org>
15366
15367         Speed up gnulib-tool by doing more string processing through shell
15368         built-ins.
15369         * gnulib-tool (fast_func_append): New variable.
15370         (func_remove_prefix, func_remove_suffix): New functions.
15371         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
15372         (func_filter_filelist): New function.
15373         (func_get_dependencies): Use func_remove_suffix instead of sed.
15374         (func_get_automake_snippet): Use func_filter_filelist instead of a
15375         subshell and sed invocation.
15376
15377 2009-01-01  Bruno Haible  <bruno@clisp.org>
15378
15379         Fix a security bug.
15380         * gnulib-tool (func_import, import, update): Don't allow the characters
15381         '"', '$', '`', '\' in macro arguments that become part of commands that
15382         are evaluated.
15383
15384 2009-01-01  Bruno Haible  <bruno@clisp.org>
15385
15386         * gnulib-tool (func_reset_sigpipe): Add more comments.
15387
15388 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15389
15390         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
15391         func_emit_tests_Makefile_am, func_import): Abort loops early if we
15392         already know the answer.
15393
15394 2009-01-01  Jim Meyering  <meyering@redhat.com>
15395
15396         * lib/version-etc.c (version_etc_va): Update copyright year.
15397
15398 2008-12-30  Bruno Haible  <bruno@clisp.org>
15399
15400         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
15401         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
15402         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
15403
15404 2008-12-29  Eric Blake  <ebb9@byu.net>
15405
15406         multiarch: avoid autoconf AC_REQUIRE bug
15407         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
15408         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
15409         2.63 and older.
15410         Reported by Bruno Haible, and analyzed in
15411         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
15412
15413 2008-12-29  Bruno Haible  <bruno@clisp.org>
15414
15415         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
15416         files in subdirectories correctly.
15417         Reported by Ralf Wildenhues.
15418
15419 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15420
15421         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
15422         rather than 'join FILE -', for Solaris join.
15423
15424 2008-12-29  Bruno Haible  <bruno@clisp.org>
15425
15426         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
15427         quoting.
15428         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15429         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15430         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15431         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
15432         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15433         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15434         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15435         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15436         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15437         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15438         * m4/nls.m4 (AM_NLS): Likewise.
15439         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
15440         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15441         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15442         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15443         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15444         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15445         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
15446         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15447         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15448         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15449         * m4/xsize.m4 (gl_XSIZE): Likewise.
15450         Suggested by Jim Meyering.
15451
15452 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15453
15454         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
15455         * lib/parse-duration.c: use a switch instead of cascading if's.
15456
15457 2008-12-29  Eric Blake  <ebb9@byu.net>
15458
15459         wchar.h: supply WEOF on Irix 5.3
15460         * lib/wchar.in.h (wint_t): Also supply WEOF.
15461         * lib/wctype.in.h (wint_t): Likewise.
15462         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
15463         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
15464         Reported by Tom G. Christensen.
15465
15466 2008-12-26  Bruno Haible  <bruno@clisp.org>
15467
15468         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
15469         i486, i586, i686.
15470
15471 2008-12-26  Bruno Haible  <bruno@clisp.org>
15472
15473         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
15474
15475 2008-12-26  Bruno Haible  <bruno@clisp.org>
15476
15477         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
15478         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
15479         not __STDC_CONSTANT_MACROS.
15480         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
15481
15482 2008-12-25  Bruno Haible  <bruno@clisp.org>
15483
15484         Add support for universal builds to vasnprintf.
15485         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
15486         universal builds, guess no.
15487         * modules/vasnprintf-posix (Depends-on): Add multiarch.
15488         * modules/vasprintf-posix (Depends-on): Likewise.
15489         * modules/fprintf-posix (Depends-on): Likewise.
15490         * modules/vfprintf-posix (Depends-on): Likewise.
15491         * modules/snprintf-posix (Depends-on): Likewise.
15492         * modules/vsnprintf-posix (Depends-on): Likewise.
15493         * modules/sprintf-posix (Depends-on): Likewise.
15494         * modules/vsprintf-posix (Depends-on): Likewise.
15495         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15496         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15497         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15498         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15499         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15500         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15501         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15502
15503         Add support for universal builds to <inttypes.h>.
15504         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
15505         _SCNu64_PREFIX): In Apple
15506         universal builds, define directly, using _LP64.
15507         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
15508         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
15509         * modules/inttypes (Depends-on): Add multiarch.
15510         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15511
15512         Add support for universal builds to <stdint.h>.
15513         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
15514         universal builds, define directly, using _LP64.
15515         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
15516         Apple universal builds, don't test for the size and suffix of ptrdiff_t
15517         and size_t.
15518         * modules/stdint (Depends-on): Add multiarch.
15519         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
15520
15521         New module 'multiarch'.
15522         * modules/multiarch: New file.
15523         * m4/multiarch.m4: New file.
15524
15525 2008-12-25  Bruno Haible  <bruno@clisp.org>
15526
15527         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
15528
15529 2008-12-25  Bruno Haible  <bruno@clisp.org>
15530
15531         * modules/btowc (License): Relicense under LGPLv2+.
15532         * modules/mbsinit (License): Likewise.
15533         * modules/mbrtowc (License): Likewise.
15534         * modules/wcrtomb (License): Likewise.
15535         * modules/streq (License): Likewise.
15536         Reported by David Lutterkort <lutter@redhat.com>.
15537
15538 2008-12-23  Bruno Haible  <bruno@clisp.org>
15539
15540         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
15541
15542 2008-12-23  Bruno Haible  <bruno@clisp.org>
15543
15544         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
15545         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
15546         GETADDRINFO_LIB, not in LIBS.
15547         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
15548         * modules/canon-host (Link): Likewise.
15549         * NEWS: Mention the change.
15550         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
15551         GETADDRINFO_LIB.
15552
15553 2008-12-22  Bruno Haible  <bruno@clisp.org>
15554
15555         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
15556         * doc/posix-functions/iswalpha_l.texi: Likewise.
15557         * doc/posix-functions/iswblank_l.texi: Likewise.
15558         * doc/posix-functions/iswcntrl_l.texi: Likewise.
15559         * doc/posix-functions/iswctype_l.texi: Likewise.
15560         * doc/posix-functions/iswdigit_l.texi: Likewise.
15561         * doc/posix-functions/iswgraph_l.texi: Likewise.
15562         * doc/posix-functions/iswlower_l.texi: Likewise.
15563         * doc/posix-functions/iswprint_l.texi: Likewise.
15564         * doc/posix-functions/iswpunct_l.texi: Likewise.
15565         * doc/posix-functions/iswspace_l.texi: Likewise.
15566         * doc/posix-functions/iswupper_l.texi: Likewise.
15567         * doc/posix-functions/iswxdigit_l.texi: Likewise.
15568         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
15569         * doc/posix-functions/open_wmemstream.texi: Likewise.
15570         * doc/posix-functions/swscanf.texi: Likewise.
15571         * doc/posix-functions/towctrans_l.texi: Likewise.
15572         * doc/posix-functions/towlower.texi: Likewise.
15573         * doc/posix-functions/towlower_l.texi: Likewise.
15574         * doc/posix-functions/towupper.texi: Likewise.
15575         * doc/posix-functions/towupper_l.texi: Likewise.
15576         * doc/posix-functions/vfwprintf.texi: Likewise.
15577         * doc/posix-functions/vfwscanf.texi: Likewise.
15578         * doc/posix-functions/vswscanf.texi: Likewise.
15579         * doc/posix-functions/vwprintf.texi: Likewise.
15580         * doc/posix-functions/vwscanf.texi: Likewise.
15581         * doc/posix-functions/wcpcpy.texi: Likewise.
15582         * doc/posix-functions/wcpncpy.texi: Likewise.
15583         * doc/posix-functions/wcscasecmp.texi: Likewise.
15584         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
15585         * doc/posix-functions/wcscoll_l.texi: Likewise.
15586         * doc/posix-functions/wcsdup.texi: Likewise.
15587         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15588         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
15589         * doc/posix-functions/wcsnlen.texi: Likewise.
15590         * doc/posix-functions/wcsnrtombs.texi: Likewise.
15591         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
15592         * doc/posix-functions/wctrans_l.texi: Likewise.
15593         * doc/posix-functions/wctype_l.texi: Likewise.
15594         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
15595         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
15596         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
15597         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
15598         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
15599         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
15600         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
15601         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
15602         * doc/glibc-functions/wcschrnul.texi: Likewise.
15603         * doc/glibc-functions/wcsftime_l.texi: Likewise.
15604         * doc/glibc-functions/wcstod_l.texi: Likewise.
15605         * doc/glibc-functions/wcstof_l.texi: Likewise.
15606         * doc/glibc-functions/wcstol_l.texi: Likewise.
15607         * doc/glibc-functions/wcstold_l.texi: Likewise.
15608         * doc/glibc-functions/wcstoll_l.texi: Likewise.
15609         * doc/glibc-functions/wcstoq.texi: Likewise.
15610         * doc/glibc-functions/wcstoul_l.texi: Likewise.
15611         * doc/glibc-functions/wcstoull_l.texi: Likewise.
15612         * doc/glibc-functions/wcstouq.texi: Likewise.
15613         * doc/glibc-functions/wmempcpy.texi: Likewise.
15614
15615 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
15616             Eric Blake  <ebb9@byu.net>
15617             Paolo Bonzini  <bonzini@gnu.org>
15618             Bruno Haible  <bruno@clisp.org>
15619
15620         Make c-stack work on Haiku.
15621         * lib/c-stack.c (SA_ONSTACK): Define fallback.
15622         (c_stack_action): Use SA_ONSTACK flag.
15623
15624 2008-12-22  Bruno Haible  <bruno@clisp.org>
15625
15626         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
15627
15628 2008-12-22  Bruno Haible  <bruno@clisp.org>
15629
15630         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
15631         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
15632         being overridden.
15633         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
15634         New macros.
15635         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
15636         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
15637         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
15638         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
15639
15640 2008-12-22  Bruno Haible  <bruno@clisp.org>
15641
15642         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
15643         from test code.
15644
15645 2008-12-22  Eric Blake  <ebb9@byu.net>
15646
15647         Avoid gcc warnings on cygwin.
15648         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
15649         Avoid unused variable.
15650         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
15651         Likewise.
15652
15653 2008-12-22  Bruno Haible  <bruno@clisp.org>
15654
15655         Remove HAVE_MBRTOWC conditionals.
15656         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
15657         (mbscasecmp): Assume mbrtowc function.
15658         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
15659         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
15660         * lib/mbschr.c: Include mbuiter.h unconditionally.
15661         (mbschr): Assume mbrtowc function.
15662         * lib/mbscspn.c: Include mbuiter.h unconditionally.
15663         (mbscspn): Assume mbrtowc function.
15664         * lib/mbslen.c: Include mbuiter.h unconditionally.
15665         (mbslen): Assume mbrtowc function.
15666         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
15667         (mbsncasecmp): Assume mbrtowc function.
15668         * lib/mbsnlen.c: Include mbiter.h unconditionally.
15669         (mbsnlen): Assume mbrtowc function.
15670         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
15671         (mbspbrk): Assume mbrtowc function.
15672         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
15673         (mbspcasecmp): Assume mbrtowc function.
15674         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
15675         (mbsrchr): Assume mbrtowc function.
15676         * lib/mbssep.c: Include mbuiter.h unconditionally.
15677         (mbssep): Assume mbrtowc function.
15678         * lib/mbsspn.c: Include mbuiter.h unconditionally.
15679         (mbsspn): Assume mbrtowc function.
15680         * lib/mbsstr.c: Include mbuiter.h unconditionally.
15681         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
15682         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
15683         (mbstok_r): Assume mbrtowc function.
15684         * lib/propername.c: Include mbuiter.h unconditionally.
15685         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
15686         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
15687         (trim2): Assume mbrtowc function.
15688         * lib/mbswidth.c (mbsinit): Remove fallback definition.
15689         (mbsnwidth): Assume mbrtowc function.
15690         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
15691         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
15692         fallback definitions.
15693         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
15694
15695 2008-12-22  Bruno Haible  <bruno@clisp.org>
15696
15697         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
15698
15699 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
15700
15701         * modules/regex: Request emulations for the mb*/wc* functions we need.
15702         * m4/regex.m4: Don't look for those functions here.
15703         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
15704
15705 2008-12-22  Bruno Haible  <bruno@clisp.org>
15706
15707         * modules/fnmatch (Depends-on): Remove duplicated dependency.
15708
15709 2008-12-21  Bruno Haible  <bruno@clisp.org>
15710
15711         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
15712         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
15713         (Include): Remove conditionalization.
15714         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
15715         (Include): Remove conditionalization.
15716         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
15717         (Include): Remove conditionalization.
15718         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
15719         * m4/mbfile.m4 (gl_MBFILE): Likewise.
15720         * NEWS: Mention the change.
15721         Reported by Alan Hourihane <alanh@fairlite.co.uk>
15722         via Sergey Poznyakoff <gray@gnu.org.ua>.
15723
15724 2008-12-21  Bruno Haible  <bruno@clisp.org>
15725
15726         * MODULES.html.sh (Extended multibyte and wide character utilities
15727         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
15728         wcrtomb, wcsrtombs.
15729         (Support for systems lacking POSIX:2008): Add accept, bind, close,
15730         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
15731         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
15732         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
15733
15734 2008-12-21  Bruno Haible  <bruno@clisp.org>
15735
15736         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
15737
15738 2008-12-21  Bruno Haible  <bruno@clisp.org>
15739
15740         * modules/wcsnrtombs-tests: New file.
15741         * tests/test-wcsnrtombs1.sh: New file.
15742         * tests/test-wcsnrtombs2.sh: New file.
15743         * tests/test-wcsnrtombs3.sh: New file.
15744         * tests/test-wcsnrtombs4.sh: New file.
15745         * tests/test-wcsnrtombs.c: New file.
15746
15747         New module 'wcsnrtombs'.
15748         * lib/wchar.in.h (wcsnrtombs): New declaration.
15749         * lib/wcsnrtombs.c: New file.
15750         * lib/wcsrtombs-state.c: New file.
15751         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
15752         (internal_state): Remove variable.
15753         * m4/wcsnrtombs.m4: New file.
15754         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
15755         compilation units.
15756         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
15757         HAVE_WCSNRTOMBS.
15758         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
15759         HAVE_WCSNRTOMBS.
15760         * modules/wcsnrtombs: New file.
15761         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
15762         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
15763
15764 2008-12-21  Bruno Haible  <bruno@clisp.org>
15765
15766         * modules/wcsrtombs-tests: New file.
15767         * tests/test-wcsrtombs1.sh: New file.
15768         * tests/test-wcsrtombs2.sh: New file.
15769         * tests/test-wcsrtombs3.sh: New file.
15770         * tests/test-wcsrtombs4.sh: New file.
15771         * tests/test-wcsrtombs.c: New file.
15772
15773         New module 'wcsrtombs'.
15774         * lib/wchar.in.h (wcsrtombs): New declaration.
15775         * lib/wcsrtombs.c: New file.
15776         * m4/wcsrtombs.m4: New file.
15777         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
15778         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
15779         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
15780         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
15781         * modules/wcsrtombs: New file.
15782         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
15783         bugs.
15784
15785 2008-12-21  Bruno Haible  <bruno@clisp.org>
15786
15787         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
15788         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
15789         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
15790         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
15791         if not correct.
15792         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
15793         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
15794         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
15795         m4/locale-zh.m4, m4/codeset.m4.
15796         * doc/posix-functions/wcrtomb.texi: Document the bug.
15797
15798 2008-12-21  Bruno Haible  <bruno@clisp.org>
15799
15800         Work around a btowc() bug on IRIX 6.5.
15801         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
15802         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
15803         REPLACE_WTOBC if not.
15804         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
15805         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
15806         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
15807
15808 2008-12-21  Bruno Haible  <bruno@clisp.org>
15809
15810         * modules/wcrtomb-tests: New file.
15811         * tests/test-wcrtomb.sh: New file.
15812         * tests/test-wcrtomb.c: New file.
15813
15814         New module 'wcrtomb'.
15815         * lib/wchar.in.h (wcrtomb): New declaration.
15816         * lib/wcrtomb.c: New file.
15817         * m4/wcrtomb.m4: New file.
15818         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
15819         HAVE_WCRTOMB.
15820         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
15821         HAVE_WCRTOMB.
15822         * modules/wcrtomb: New file.
15823         * doc/posix-functions/wcrtomb.texi: Mention the new module.
15824
15825 2008-12-21  Bruno Haible  <bruno@clisp.org>
15826
15827         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
15828         * modules/mbsrtowcs (Files): Likewise.
15829         * modules/wctob (Files): Likewise.
15830         * modules/c-strcase-tests (Files): Likewise.
15831         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
15832         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
15833         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
15834         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
15835         * modules/vasnprintf-posix-tests (Files): Likewise.
15836
15837 2008-12-21  William Pursell  <bill.pursell@gmail.com>
15838
15839         gitlog-to-changelog: pass all command-line arguments to git-log
15840         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
15841         it is sometimes convenient to filter the commits in various ways.
15842         gitlog-to-changelog only allows --since to specify a start date,
15843         but git-log itself supports many other filtering mechanisms.
15844         At the moment, I want to filter by branch name.  Rather than
15845         adding a --branch option to gitlog-to-changelog, it seems more
15846         flexible to simply pass all options directly to git-log and let
15847         git do the work.  Notice that this effectively makes --since a
15848         redundant option for gitlog-to-changelog, but removing it would
15849         require current usage to change since calls would then require
15850         an additional '--'.
15851
15852 2008-12-21  Bruno Haible  <bruno@clisp.org>
15853
15854         * modules/mbsnrtowcs-tests: New file.
15855         * tests/test-mbsnrtowcs1.sh: New file.
15856         * tests/test-mbsnrtowcs2.sh: New file.
15857         * tests/test-mbsnrtowcs3.sh: New file.
15858         * tests/test-mbsnrtowcs4.sh: New file.
15859         * tests/test-mbsnrtowcs.c: New file.
15860
15861         New module 'mbsnrtowcs'.
15862         * lib/wchar.in.h (mbsnrtowcs): New declaration.
15863         * lib/mbsnrtowcs.c: New file.
15864         * lib/mbsrtowcs-state.c: New file.
15865         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
15866         (internal_state): Remove variable.
15867         * m4/mbsnrtowcs.m4: New file.
15868         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
15869         compilation units.
15870         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
15871         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
15872         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
15873         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
15874         * modules/mbsnrtowcs: New file.
15875         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
15876         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
15877         portability problem.
15878
15879 2008-12-21  Bruno Haible  <bruno@clisp.org>
15880
15881         Work around mbsrtowcs bug.
15882         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
15883         (gl_FUNC_MBSRTOWCS): Invoke it.
15884         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
15885         m4/locale-zh.m4.
15886         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
15887
15888 2008-12-21  Bruno Haible  <bruno@clisp.org>
15889
15890         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
15891
15892 2008-12-21  Bruno Haible  <bruno@clisp.org>
15893
15894         Update doc for AIX.
15895         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
15896         16-bit wchar_t type.
15897         * doc/posix-functions/btowc.texi: Likewise.
15898         * doc/posix-functions/fgetwc.texi: Likewise.
15899         * doc/posix-functions/fgetws.texi: Likewise.
15900         * doc/posix-functions/fputwc.texi: Likewise.
15901         * doc/posix-functions/fputws.texi: Likewise.
15902         * doc/posix-functions/fwide.texi: Likewise.
15903         * doc/posix-functions/fwprintf.texi: Likewise.
15904         * doc/posix-functions/fwscanf.texi: Likewise.
15905         * doc/posix-functions/getwchar.texi: Likewise.
15906         * doc/posix-functions/getwc.texi: Likewise.
15907         * doc/posix-functions/iswalnum.texi: Likewise.
15908         * doc/posix-functions/iswalpha.texi: Likewise.
15909         * doc/posix-functions/iswblank.texi: Likewise.
15910         * doc/posix-functions/iswcntrl.texi: Likewise.
15911         * doc/posix-functions/iswctype.texi: Likewise.
15912         * doc/posix-functions/iswdigit.texi: Likewise.
15913         * doc/posix-functions/iswgraph.texi: Likewise.
15914         * doc/posix-functions/iswlower.texi: Likewise.
15915         * doc/posix-functions/iswprint.texi: Likewise.
15916         * doc/posix-functions/iswpunct.texi: Likewise.
15917         * doc/posix-functions/iswspace.texi: Likewise.
15918         * doc/posix-functions/iswupper.texi: Likewise.
15919         * doc/posix-functions/iswxdigit.texi: Likewise.
15920         * doc/posix-functions/mbrtowc.texi: Likewise.
15921         * doc/posix-functions/mbsrtowcs.texi: Likewise.
15922         * doc/posix-functions/mbstowcs.texi: Likewise.
15923         * doc/posix-functions/mbtowc.texi: Likewise.
15924         * doc/posix-functions/putwchar.texi: Likewise.
15925         * doc/posix-functions/putwc.texi: Likewise.
15926         * doc/posix-functions/swprintf.texi: Likewise.
15927         * doc/posix-functions/tolower.texi: Likewise.
15928         * doc/posix-functions/toupper.texi: Likewise.
15929         * doc/posix-functions/towctrans.texi: Likewise.
15930         * doc/posix-functions/ungetwc.texi: Likewise.
15931         * doc/posix-functions/vswprintf.texi: Likewise.
15932         * doc/posix-functions/wcrtomb.texi: Likewise.
15933         * doc/posix-functions/wcscat.texi: Likewise.
15934         * doc/posix-functions/wcschr.texi: Likewise.
15935         * doc/posix-functions/wcscmp.texi: Likewise.
15936         * doc/posix-functions/wcscoll.texi: Likewise.
15937         * doc/posix-functions/wcscpy.texi: Likewise.
15938         * doc/posix-functions/wcscspn.texi: Likewise.
15939         * doc/posix-functions/wcsftime.texi: Likewise.
15940         * doc/posix-functions/wcslen.texi: Likewise.
15941         * doc/posix-functions/wcsncat.texi: Likewise.
15942         * doc/posix-functions/wcsncmp.texi: Likewise.
15943         * doc/posix-functions/wcsncpy.texi: Likewise.
15944         * doc/posix-functions/wcspbrk.texi: Likewise.
15945         * doc/posix-functions/wcsrchr.texi: Likewise.
15946         * doc/posix-functions/wcsrtombs.texi: Likewise.
15947         * doc/posix-functions/wcsspn.texi: Likewise.
15948         * doc/posix-functions/wcsstr.texi: Likewise.
15949         * doc/posix-functions/wcstod.texi: Likewise.
15950         * doc/posix-functions/wcstof.texi: Likewise.
15951         * doc/posix-functions/wcstoimax.texi: Likewise.
15952         * doc/posix-functions/wcstok.texi: Likewise.
15953         * doc/posix-functions/wcstold.texi: Likewise.
15954         * doc/posix-functions/wcstoll.texi: Likewise.
15955         * doc/posix-functions/wcstol.texi: Likewise.
15956         * doc/posix-functions/wcstombs.texi: Likewise.
15957         * doc/posix-functions/wcstoull.texi: Likewise.
15958         * doc/posix-functions/wcstoul.texi: Likewise.
15959         * doc/posix-functions/wcstoumax.texi: Likewise.
15960         * doc/posix-functions/wcswidth.texi: Likewise.
15961         * doc/posix-functions/wcsxfrm.texi: Likewise.
15962         * doc/posix-functions/wctob.texi: Likewise.
15963         * doc/posix-functions/wctomb.texi: Likewise.
15964         * doc/posix-functions/wctrans.texi: Likewise.
15965         * doc/posix-functions/wctype.texi: Likewise.
15966         * doc/posix-functions/wcwidth.texi: Likewise.
15967         * doc/posix-functions/wmemchr.texi: Likewise.
15968         * doc/posix-functions/wmemcmp.texi: Likewise.
15969         * doc/posix-functions/wmemcpy.texi: Likewise.
15970         * doc/posix-functions/wmemmove.texi: Likewise.
15971         * doc/posix-functions/wmemset.texi: Likewise.
15972         * doc/posix-functions/wprintf.texi: Likewise.
15973         * doc/posix-functions/wscanf.texi: Likewise.
15974
15975 2008-12-21  Bruno Haible  <bruno@clisp.org>
15976
15977         Update doc for HP-UX 11.11.
15978         * doc/posix-functions/btowc.texi: Clarify that the function is missing
15979         in HP-UX version 11.00, not in all versions of HP-UX 11.
15980         * doc/posix-functions/fwide.texi: Likewise.
15981         * doc/posix-functions/fwprintf.texi: Likewise.
15982         * doc/posix-functions/fwscanf.texi: Likewise.
15983         * doc/posix-functions/inet_ntop.texi: Likewise.
15984         * doc/posix-functions/inet_pton.texi: Likewise.
15985         * doc/posix-functions/mbrlen.texi: Likewise.
15986         * doc/posix-functions/mbrtowc.texi: Likewise.
15987         * doc/posix-functions/mbsinit.texi: Likewise.
15988         * doc/posix-functions/mbsrtowcs.texi: Likewise.
15989         * doc/posix-functions/swprintf.texi: Likewise.
15990         * doc/posix-functions/swscanf.texi: Likewise.
15991         * doc/posix-functions/towctrans.texi: Likewise.
15992         * doc/posix-functions/vfwprintf.texi: Likewise.
15993         * doc/posix-functions/vswprintf.texi: Likewise.
15994         * doc/posix-functions/vwprintf.texi: Likewise.
15995         * doc/posix-functions/wcrtomb.texi: Likewise.
15996         * doc/posix-functions/wcsrtombs.texi: Likewise.
15997         * doc/posix-functions/wcsstr.texi: Likewise.
15998         * doc/posix-functions/wctob.texi: Likewise.
15999         * doc/posix-functions/wctrans.texi: Likewise.
16000         * doc/posix-functions/wmemchr.texi: Likewise.
16001         * doc/posix-functions/wmemcmp.texi: Likewise.
16002         * doc/posix-functions/wmemcpy.texi: Likewise.
16003         * doc/posix-functions/wmemmove.texi: Likewise.
16004         * doc/posix-functions/wmemset.texi: Likewise.
16005         * doc/posix-functions/wprintf.texi: Likewise.
16006         * doc/posix-functions/wscanf.texi: Likewise.
16007
16008 2008-12-21  Bruno Haible  <bruno@clisp.org>
16009
16010         Work around a portability problem.
16011         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
16012         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
16013
16014 2008-12-20  Bruno Haible  <bruno@clisp.org>
16015
16016         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
16017         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
16018         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
16019         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
16020         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
16021
16022         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
16023         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
16024         set.
16025         (GNULIB_defined_mbstate_t): New macro.
16026         (mbsinit): Redefine if REPLACE_MBSINIT is set.
16027         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
16028         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
16029         reuses the system's mbrtowc function but works around the bugs.
16030         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
16031         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
16032         macros.
16033         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
16034         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
16035         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
16036         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
16037         REPLACE_MBSINIT if mbsinit needs to be overridden.
16038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
16039         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16040         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
16041         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16042         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16043         m4/locale-zh.m4.
16044         (Depends): Add mbsinit.
16045         * modules/mbsinit (Depends): Add mbrtowc.
16046         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
16047
16048 2008-12-20  Bruno Haible  <bruno@clisp.org>
16049
16050         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
16051         so that there are no conversion errors on AIX.
16052         * tests/test-mbsrtowcs.c (main): LIkewise.
16053
16054 2008-12-20  Bruno Haible  <bruno@clisp.org>
16055
16056         Work around wctob bug on Solaris <= 9.
16057         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
16058         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
16059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
16060         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
16061         * modules/wctob (Files): Add m4/locale-fr.m4.
16062         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
16063
16064 2008-12-20  Bruno Haible  <bruno@clisp.org>
16065
16066         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
16067         /dev/null.
16068         * tests/test-select-in.sh: Likewise.
16069         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16070
16071 2008-12-20  Bruno Haible  <bruno@clisp.org>
16072
16073         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
16074         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
16075         Cygwin 1.5.x.
16076
16077 2008-12-20  Bruno Haible  <bruno@clisp.org>
16078
16079         Ensure mbstate_t is defined on HP-UX 11.11.
16080         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
16081         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
16082         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
16083         AC_USE_SYSTEM_EXTENSIONS.
16084         * modules/fnmatch (Depends-on): Add extensions.
16085         * modules/mbrlen (Depends-on): Likewise.
16086         * modules/mbrtowc (Depends-on): Likewise.
16087         * modules/mbsinit (Depends-on): Likewise.
16088         * modules/mbsrtowcs (Depends-on): Likewise.
16089         * modules/mbswidth (Depends-on): Likewise.
16090         * modules/quotearg (Depends-on): Likewise.
16091         * modules/strftime (Depends-on): Likewise.
16092
16093 2008-12-20  Bruno Haible  <bruno@clisp.org>
16094
16095         Ensure wctob is declared on IRIX 6.5.
16096         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
16097         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
16098         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
16099         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
16100         of HAVE_WCTOB.
16101         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
16102         HAVE_WCTOB.
16103         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
16104
16105 2008-12-19  Bruno Haible  <bruno@clisp.org>
16106
16107         * modules/mbsrtowcs-tests: New file.
16108         * tests/test-mbsrtowcs1.sh: New file.
16109         * tests/test-mbsrtowcs2.sh: New file.
16110         * tests/test-mbsrtowcs3.sh: New file.
16111         * tests/test-mbsrtowcs4.sh: New file.
16112         * tests/test-mbsrtowcs.c: New file.
16113
16114         New module 'mbsrtowcs'.
16115         * lib/wchar.in.h (mbsrtowcs): New declaration.
16116         * lib/mbsrtowcs.c: New file.
16117         * m4/mbsrtowcs.m4: New file.
16118         * modules/mbsrtowcs: New file.
16119         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
16120         HAVE_MBSRTOWCS.
16121         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
16122         HAVE_MBSRTOWCS.
16123         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
16124
16125 2008-12-19  Bruno Haible  <bruno@clisp.org>
16126
16127         New module 'mbrlen'.
16128         * lib/wchar.in.h (mbrlen): New declaration.
16129         * lib/mbrlen.c: New file.
16130         * m4/mbrlen.m4: New file.
16131         * modules/mbrlen: New file.
16132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
16133         HAVE_MBRLEN.
16134         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
16135         HAVE_MBRLEN.
16136         * doc/posix-functions/mbrlen.texi: Document the new module.
16137
16138 2008-12-19  Bruno Haible  <bruno@clisp.org>
16139
16140         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
16141         * modules/mbrtowc (Depends-on): Add verify.
16142         Suggested by Paul Eggert.
16143
16144 2008-12-18  Bruno Haible  <bruno@clisp.org>
16145
16146         * modules/mbsinit-tests: New file.
16147         * tests/test-mbsinit.sh: New file.
16148         * tests/test-mbsinit.c: New file.
16149
16150 2008-12-18  Bruno Haible  <bruno@clisp.org>
16151
16152         * modules/mbrtowc-tests: New file.
16153         * tests/test-mbrtowc1.sh: New file.
16154         * tests/test-mbrtowc2.sh: New file.
16155         * tests/test-mbrtowc3.sh: New file.
16156         * tests/test-mbrtowc4.sh: New file.
16157         * tests/test-mbrtowc.c: New file.
16158
16159         New module 'mbrtowc'.
16160         * lib/wchar.in.h (mbstate_t): Override when the system does not have
16161         mbsinit and mbrtowc.
16162         (mbrtowc): New declaration.
16163         * lib/mbrtowc.c: New file.
16164         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
16165         * modules/mbrtowc: New file.
16166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
16167         HAVE_MBRTOWC.
16168         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
16169         HAVE_MBRTOWC.
16170         * doc/posix-functions/mbrtowc.texi: Document the new module.
16171
16172 2008-12-18  Bruno Haible  <bruno@clisp.org>
16173
16174         New module 'wctob'.
16175         * lib/wchar.in.h (wctob): New declaration.
16176         * lib/wctob.c: New file.
16177         * m4/wctob.m4: New file.
16178         * modules/wctob: New file.
16179         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
16180         HAVE_WCTOB.
16181         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
16182         * doc/posix-functions/wctob.texi: Document the new module.
16183
16184 2008-12-18  Bruno Haible  <bruno@clisp.org>
16185
16186         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
16187         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
16188
16189 2008-12-18  Simon Josefsson  <simon@josefsson.org>
16190
16191         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
16192         G. Christensen" <tgc@jupiterrise.com>.
16193
16194         * lib/flock.c: Need to include errno.h.  Reported by "Tom
16195         G. Christensen" <tgc@jupiterrise.com>.
16196
16197         * lib/flock.c: Need to include string.h.  Reported by "Tom
16198         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
16199         <ebb9@byu.net>.
16200
16201 2008-12-18  Bruno Haible  <bruno@clisp.org>
16202
16203         * m4/locale-ja.m4: New file, from GNU gettext.
16204
16205 2008-12-17  Bruno Haible  <bruno@clisp.org>
16206
16207         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
16208         Suggested by Eric Blake.
16209
16210 2008-12-17  Bruno Haible  <bruno@clisp.org>
16211
16212         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
16213
16214 2008-12-17  Bruno Haible  <bruno@clisp.org>
16215
16216         * lib/mbsinit.c: Include verify.h. Verify an assumption.
16217         * modules/mbsinit (Depends-on): Add verify.
16218         Suggested by Paul Eggert.
16219
16220 2008-12-17  Bruno Haible  <bruno@clisp.org>
16221
16222         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
16223         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
16224         gl_FUNC_MBRTOWC.
16225         * m4/mbiter.m4 (gl_MBITER): LIkewise.
16226         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
16227         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
16228         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
16229         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
16230         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
16231         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
16232         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
16233         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
16234         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
16235         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
16236         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
16237         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
16238         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
16239         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
16240         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16241         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
16242         * modules/trim (configure.ac): Likewise.
16243
16244 2008-12-17  Bruno Haible  <bruno@clisp.org>
16245
16246         * modules/btowc-tests: New file.
16247         * tests/test-btowc1.sh: New file.
16248         * tests/test-btowc2.sh: New file.
16249         * tests/test-btowc.c: New file.
16250
16251         New module 'btowc'.
16252         * lib/wchar.in.h (btowc): New declaration.
16253         * lib/btowc.c: New file.
16254         * m4/btowc.m4: New file.
16255         * modules/btowc: New file.
16256         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
16257         HAVE_BTOWC.
16258         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
16259         * doc/posix-functions/btowc.texi: Document the new module.
16260
16261 2008-12-17  Bruno Haible  <bruno@clisp.org>
16262
16263         New module 'mbsinit'.
16264         * lib/wchar.in.h (mbsinit): New declaration.
16265         * lib/mbsinit.c: New file.
16266         * m4/mbsinit.m4: New file.
16267         * modules/mbsinit: New file.
16268         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
16269         HAVE_MBSINIT.
16270         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
16271         HAVE_MBSINIT.
16272         * doc/posix-functions/mbsinit.texi: Document the new module.
16273
16274 2008-12-16  Bruno Haible  <bruno@clisp.org>
16275
16276         * lib/unistd.in.h: Add comment.
16277         * tests/test-environ.c: Don't include <stdlib.h>.
16278
16279 2008-12-16  Bruno Haible  <bruno@clisp.org>
16280
16281         * lib/parse-duration.h (parse_duration): Document return value
16282         convention.
16283         * lib/parse-duration.c: Include specification header first. Add
16284         comments.
16285         (_): Remove macro.
16286         (parse_year_month_day, parse_hour_minute_second): Move side effects
16287         outside of strchr call.
16288         (parse_non_iso8601): Move side effects outside of isspace call.
16289         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
16290         call.
16291
16292 2008-12-16  Bruno Haible  <bruno@clisp.org>
16293
16294         * tests/test-parse-duration.sh: Produce no output when the test
16295         succeeds.
16296
16297 2008-12-16  Bruno Haible  <bruno@clisp.org>
16298
16299         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
16300         expressions.
16301
16302 2008-12-15  Bruno Haible  <bruno@clisp.org>
16303
16304         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
16305         * doc/glibc-functions/flistxattr.texi: Likewise.
16306         * doc/glibc-functions/fopencookie.texi: Likewise.
16307         * doc/glibc-functions/fremovexattr.texi: Likewise.
16308         * doc/glibc-functions/fsetxattr.texi: Likewise.
16309         * doc/glibc-functions/getxattr.texi: Likewise.
16310         * doc/glibc-functions/lgetxattr.texi: Likewise.
16311         * doc/glibc-functions/listxattr.texi: Likewise.
16312         * doc/glibc-functions/llistxattr.texi: Likewise.
16313         * doc/glibc-functions/lremovexattr.texi: Likewise.
16314         * doc/glibc-functions/lsetxattr.texi: Likewise.
16315         * doc/glibc-functions/removexattr.texi: Likewise.
16316         * doc/glibc-functions/setxattr.texi: Likewise.
16317         * doc/posix-functions/open_memstream.texi: Likewise.
16318
16319 2008-12-15  Eric Blake  <ebb9@byu.net>
16320
16321         Update doc for cygwin 1.7.
16322         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
16323         functions.
16324         * doc/posix-functions/fchmodat.texi: Likewise.
16325         * doc/posix-functions/fchownat.texi: Likewise.
16326         * doc/posix-functions/fdopendir.texi: Likewise.
16327         * doc/posix-functions/fmemopen.texi: Likewise.
16328         * doc/posix-functions/freeaddrinfo.texi: Likewise.
16329         * doc/posix-functions/fstatat.texi: Likewise.
16330         * doc/posix-functions/futimens.texi: Likewise.
16331         * doc/posix-functions/gai_strerror.texi: Likewise.
16332         * doc/posix-functions/getaddrinfo.texi: Likewise.
16333         * doc/posix-functions/getnameinfo.texi: Likewise.
16334         * doc/posix-functions/if_freenameindex.texi: Likewise.
16335         * doc/posix-functions/if_indextoname.texi: Likewise.
16336         * doc/posix-functions/if_nameindex.texi: Likewise.
16337         * doc/posix-functions/if_nametoindex.texi: Likewise.
16338         * doc/posix-functions/insque.texi: Likewise.
16339         * doc/posix-functions/linkat.texi: Likewise.
16340         * doc/posix-functions/llrint.texi: Likewise.
16341         * doc/posix-functions/llrintf.texi: Likewise.
16342         * doc/posix-functions/llrintl.texi: Likewise.
16343         * doc/posix-functions/lockf.texi: Likewise.
16344         * doc/posix-functions/lrintl.texi: Likewise.
16345         * doc/posix-functions/mkdirat.texi: Likewise.
16346         * doc/posix-functions/mkfifoat.texi: Likewise.
16347         * doc/posix-functions/mknodat.texi: Likewise.
16348         * doc/posix-functions/mq_close.texi: Likewise.
16349         * doc/posix-functions/mq_getattr.texi: Likewise.
16350         * doc/posix-functions/mq_notify.texi: Likewise.
16351         * doc/posix-functions/mq_open.texi: Likewise.
16352         * doc/posix-functions/mq_receive.texi: Likewise.
16353         * doc/posix-functions/mq_send.texi: Likewise.
16354         * doc/posix-functions/mq_setattr.texi: Likewise.
16355         * doc/posix-functions/mq_timedreceive.texi: Likewise.
16356         * doc/posix-functions/mq_timedsend.texi: Likewise.
16357         * doc/posix-functions/mq_unlink.texi: Likewise.
16358         * doc/posix-functions/open_memstream.texi: Likewise.
16359         * doc/posix-functions/openat.texi: Likewise.
16360         * doc/posix-functions/posix_fadvise.texi: Likewise.
16361         * doc/posix-functions/posix_fallocate.texi: Likewise.
16362         * doc/posix-functions/posix_madvise.texi: Likewise.
16363         * doc/posix-functions/posix_memalign.texi: Likewise.
16364         * doc/posix-functions/posix_openpt.texi: Likewise.
16365         * doc/posix-functions/readlinkat.texi: Likewise.
16366         * doc/posix-functions/remque.texi: Likewise.
16367         * doc/posix-functions/renameat.texi: Likewise.
16368         * doc/posix-functions/rintl.texi: Likewise.
16369         * doc/posix-functions/sem_unlink.texi: Likewise.
16370         * doc/posix-functions/shm_open.texi: Likewise.
16371         * doc/posix-functions/shm_unlink.texi: Likewise.
16372         * doc/posix-functions/signgam.texi: Likewise.
16373         * doc/posix-functions/sigset.texi: Likewise.
16374         * doc/posix-functions/stpcpy.texi: Likewise.
16375         * doc/posix-functions/stpncpy.texi: Likewise.
16376         * doc/posix-functions/strerror.texi: Likewise.
16377         * doc/posix-functions/strtod.texi: Likewise.
16378         * doc/posix-functions/symlinkat.texi: Likewise.
16379         * doc/posix-functions/unlinkat.texi: Likewise.
16380         * doc/posix-functions/utimensat.texi: Likewise.
16381         * doc/glibc-functions/bindresvport.texi: Likewise.
16382         * doc/glibc-functions/dn_expand.texi: Likewise.
16383         * doc/glibc-functions/exp10.texi: Likewise.
16384         * doc/glibc-functions/exp10f.texi: Likewise.
16385         * doc/glibc-functions/fgetxattr.texi: Likewise.
16386         * doc/glibc-functions/flistxattr.texi: Likewise.
16387         * doc/glibc-functions/fopencookie.texi: Likewise.
16388         * doc/glibc-functions/freeifaddrs.texi: Likewise.
16389         * doc/glibc-functions/fremovexattr.texi: Likewise.
16390         * doc/glibc-functions/fsetxattr.texi: Likewise.
16391         * doc/glibc-functions/getifaddrs.texi: Likewise.
16392         * doc/glibc-functions/getxattr.texi: Likewise.
16393         * doc/glibc-functions/lgetxattr.texi: Likewise.
16394         * doc/glibc-functions/listxattr.texi: Likewise.
16395         * doc/glibc-functions/llistxattr.texi: Likewise.
16396         * doc/glibc-functions/lremovexattr.texi: Likewise.
16397         * doc/glibc-functions/lsetxattr.texi: Likewise.
16398         * doc/glibc-functions/pow10.texi: Likewise.
16399         * doc/glibc-functions/pow10f.texi: Likewise.
16400         * doc/glibc-functions/rcmd_af.texi: Likewise.
16401         * doc/glibc-functions/removexattr.texi: Likewise.
16402         * doc/glibc-functions/res_init.texi: Likewise.
16403         * doc/glibc-functions/res_mkquery.texi: Likewise.
16404         * doc/glibc-functions/res_query.texi: Likewise.
16405         * doc/glibc-functions/res_querydomain.texi: Likewise.
16406         * doc/glibc-functions/res_send.texi: Likewise.
16407         * doc/glibc-functions/rresvport_af.texi: Likewise.
16408         * doc/glibc-functions/setxattr.texi: Likewise.
16409         * doc/glibc-functions/strcasestr.texi: Likewise.
16410
16411 2008-12-15  Bruno Haible  <bruno@clisp.org>
16412
16413         Fix compilation error on OSF/1 4.0.
16414         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
16415         <sys/time.h>, simply delegate to the system header.
16416         Reported by Daniel Richard G. <oss@teragram.com>.
16417
16418 2008-12-15  Bruno Haible  <bruno@clisp.org>
16419
16420         * doc/posix-functions/openat.texi: Mention the 'openat' module.
16421         * doc/posix-functions/fchmodat.texi: Likewise.
16422         * doc/posix-functions/fchownat.texi: Likewise.
16423         * doc/posix-functions/fdopendir.texi: Likewise.
16424         * doc/posix-functions/fstatat.texi: Likewise.
16425         * doc/posix-functions/mkdirat.texi: Likewise.
16426         * doc/posix-functions/unlinkat.texi: Likewise.
16427
16428 2008-12-14  Bruno Haible  <bruno@clisp.org>
16429
16430         Update doc for POSIX:2008.
16431         * doc/posix-functions/faccessat.texi: New file.
16432         * doc/posix-functions/fchmodat.texi: New file.
16433         * doc/posix-functions/fchownat.texi: New file.
16434         * doc/posix-functions/fdopendir.texi: New file.
16435         * doc/posix-functions/fstatat.texi: New file.
16436         * doc/posix-functions/futimens.texi: New file.
16437         * doc/posix-functions/linkat.texi: New file.
16438         * doc/posix-functions/mkdirat.texi: New file.
16439         * doc/posix-functions/mkfifoat.texi: New file.
16440         * doc/posix-functions/mknodat.texi: New file.
16441         * doc/posix-functions/open_wmemstream.texi: New file.
16442         * doc/posix-functions/openat.texi: New file.
16443         * doc/posix-functions/psiginfo.texi: New file.
16444         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
16445         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
16446         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
16447         * doc/posix-functions/readlinkat.texi: New file.
16448         * doc/posix-functions/renameat.texi: New file.
16449         * doc/posix-functions/strerror_l.texi: New file.
16450         * doc/posix-functions/symlinkat.texi: New file.
16451         * doc/posix-functions/unlinkat.texi: New file.
16452         * doc/posix-functions/utimensat.texi: New file.
16453         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16454
16455 2008-12-14  Bruno Haible  <bruno@clisp.org>
16456
16457         Update doc for POSIX:2008.
16458         * doc/posix-functions/alphasort.texi: Renamed from
16459         doc/glibc-functions/alphasort.texi.
16460         * doc/posix-functions/dirfd.texi: Renamed from
16461         doc/glibc-functions/dirfd.texi.
16462         * doc/posix-functions/dprintf.texi: Renamed from
16463         doc/glibc-functions/dprintf.texi.
16464         * doc/posix-functions/duplocale.texi: Renamed from
16465         doc/glibc-functions/duplocale.texi.
16466         * doc/posix-functions/fexecve.texi: Renamed from
16467         doc/glibc-functions/fexecve.texi.
16468         * doc/posix-functions/fmemopen.texi: Renamed from
16469         doc/glibc-functions/fmemopen.texi.
16470         * doc/posix-functions/freelocale.texi: Renamed from
16471         doc/glibc-functions/freelocale.texi.
16472         * doc/posix-functions/getdate_err.texi: Renamed from
16473         doc/glibc-functions/getdate_err.texi.
16474         * doc/posix-functions/isalnum_l.texi: Renamed from
16475         doc/glibc-functions/isalnum_l.texi.
16476         * doc/posix-functions/isalpha_l.texi: Renamed from
16477         doc/glibc-functions/isalpha_l.texi.
16478         * doc/posix-functions/isblank_l.texi: Renamed from
16479         doc/glibc-functions/isblank_l.texi.
16480         * doc/posix-functions/iscntrl_l.texi: Renamed from
16481         doc/glibc-functions/iscntrl_l.texi.
16482         * doc/posix-functions/isdigit_l.texi: Renamed from
16483         doc/glibc-functions/isdigit_l.texi.
16484         * doc/posix-functions/isgraph_l.texi: Renamed from
16485         doc/glibc-functions/isgraph_l.texi.
16486         * doc/posix-functions/islower_l.texi: Renamed from
16487         doc/glibc-functions/islower_l.texi.
16488         * doc/posix-functions/isprint_l.texi: Renamed from
16489         doc/glibc-functions/isprint_l.texi.
16490         * doc/posix-functions/ispunct_l.texi: Renamed from
16491         doc/glibc-functions/ispunct_l.texi.
16492         * doc/posix-functions/isspace_l.texi: Renamed from
16493         doc/glibc-functions/isspace_l.texi.
16494         * doc/posix-functions/isupper_l.texi: Renamed from
16495         doc/glibc-functions/isupper_l.texi.
16496         * doc/posix-functions/iswalnum_l.texi: Renamed from
16497         doc/glibc-functions/iswalnum_l.texi.
16498         * doc/posix-functions/iswalpha_l.texi: Renamed from
16499         doc/glibc-functions/iswalpha_l.texi.
16500         * doc/posix-functions/iswblank_l.texi: Renamed from
16501         doc/glibc-functions/iswblank_l.texi.
16502         * doc/posix-functions/iswcntrl_l.texi: Renamed from
16503         doc/glibc-functions/iswcntrl_l.texi.
16504         * doc/posix-functions/iswctype_l.texi: Renamed from
16505         doc/glibc-functions/iswctype_l.texi.
16506         * doc/posix-functions/iswdigit_l.texi: Renamed from
16507         doc/glibc-functions/iswdigit_l.texi.
16508         * doc/posix-functions/iswgraph_l.texi: Renamed from
16509         doc/glibc-functions/iswgraph_l.texi.
16510         * doc/posix-functions/iswlower_l.texi: Renamed from
16511         doc/glibc-functions/iswlower_l.texi.
16512         * doc/posix-functions/iswprint_l.texi: Renamed from
16513         doc/glibc-functions/iswprint_l.texi.
16514         * doc/posix-functions/iswpunct_l.texi: Renamed from
16515         doc/glibc-functions/iswpunct_l.texi.
16516         * doc/posix-functions/iswspace_l.texi: Renamed from
16517         doc/glibc-functions/iswspace_l.texi.
16518         * doc/posix-functions/iswupper_l.texi: Renamed from
16519         doc/glibc-functions/iswupper_l.texi.
16520         * doc/posix-functions/iswxdigit_l.texi: Renamed from
16521         doc/glibc-functions/iswxdigit_l.texi.
16522         * doc/posix-functions/isxdigit_l.texi: Renamed from
16523         doc/glibc-functions/isxdigit_l.texi.
16524         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
16525         doc/glibc-functions/mbsnrtowcs.texi.
16526         * doc/posix-functions/mkdtemp.texi: Renamed from
16527         doc/glibc-functions/mkdtemp.texi.
16528         * doc/posix-functions/newlocale.texi: Renamed from
16529         doc/glibc-functions/newlocale.texi.
16530         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
16531         doc/glibc-functions/nl_langinfo_l.texi.
16532         * doc/posix-functions/open_memstream.texi: Renamed from
16533         doc/glibc-functions/open_memstream.texi.
16534         * doc/posix-functions/opterr.texi: Renamed from
16535         doc/glibc-functions/opterr.texi.
16536         * doc/posix-functions/optind.texi: Renamed from
16537         doc/glibc-functions/optind.texi.
16538         * doc/posix-functions/optopt.texi: Renamed from
16539         doc/glibc-functions/optopt.texi.
16540         * doc/posix-functions/psignal.texi: Renamed from
16541         doc/glibc-functions/psignal.texi.
16542         * doc/posix-functions/scandir.texi: Renamed from
16543         doc/glibc-functions/scandir.texi.
16544         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
16545         doc/glibc-functions/sched_get_priority_min.texi.
16546         * doc/posix-functions/signgam.texi: Renamed from
16547         doc/glibc-functions/signgam.texi.
16548         * doc/posix-functions/stpcpy.texi: Renamed from
16549         doc/glibc-functions/stpcpy.texi.
16550         * doc/posix-functions/stpncpy.texi: Renamed from
16551         doc/glibc-functions/stpncpy.texi.
16552         * doc/posix-functions/strcasecmp_l.texi: Renamed from
16553         doc/glibc-functions/strcasecmp_l.texi.
16554         * doc/posix-functions/strcoll_l.texi: Renamed from
16555         doc/glibc-functions/strcoll_l.texi.
16556         * doc/posix-functions/strfmon_l.texi: Renamed from
16557         doc/glibc-functions/strfmon_l.texi.
16558         * doc/posix-functions/strftime_l.texi: Renamed from
16559         doc/glibc-functions/strftime_l.texi.
16560         * doc/posix-functions/strncasecmp_l.texi: Renamed from
16561         doc/glibc-functions/strncasecmp_l.texi.
16562         * doc/posix-functions/strndup.texi: Renamed from
16563         doc/glibc-functions/strndup.texi.
16564         * doc/posix-functions/strnlen.texi: Renamed from
16565         doc/glibc-functions/strnlen.texi.
16566         * doc/posix-functions/strsignal.texi: Renamed from
16567         doc/glibc-functions/strsignal.texi.
16568         * doc/posix-functions/strxfrm_l.texi: Renamed from
16569         doc/glibc-functions/strxfrm_l.texi.
16570         * doc/posix-functions/timer_gettime.texi: Renamed from
16571         doc/glibc-functions/timer_gettime.texi.
16572         * doc/posix-functions/tolower_l.texi: Renamed from
16573         doc/glibc-functions/tolower_l.texi.
16574         * doc/posix-functions/toupper_l.texi: Renamed from
16575         doc/glibc-functions/toupper_l.texi.
16576         * doc/posix-functions/towctrans_l.texi: Renamed from
16577         doc/glibc-functions/towctrans_l.texi.
16578         * doc/posix-functions/towlower_l.texi: Renamed from
16579         doc/glibc-functions/towlower_l.texi.
16580         * doc/posix-functions/towupper_l.texi: Renamed from
16581         doc/glibc-functions/towupper_l.texi.
16582         * doc/posix-functions/uselocale.texi: Renamed from
16583         doc/glibc-functions/uselocale.texi.
16584         * doc/posix-functions/vdprintf.texi: Renamed from
16585         doc/glibc-functions/vdprintf.texi.
16586         * doc/posix-functions/wcpcpy.texi:
16587         Renamed from doc/glibc-functions/wcpcpy.texi.
16588         * doc/posix-functions/wcpncpy.texi: Renamed from
16589         doc/glibc-functions/wcpncpy.texi.
16590         * doc/posix-functions/wcscasecmp.texi: Renamed from
16591         doc/glibc-functions/wcscasecmp.texi.
16592         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
16593         doc/glibc-functions/wcscasecmp_l.texi.
16594         * doc/posix-functions/wcscoll_l.texi: Renamed from
16595         doc/glibc-functions/wcscoll_l.texi.
16596         * doc/posix-functions/wcsdup.texi: Renamed from
16597         doc/glibc-functions/wcsdup.texi.
16598         * doc/posix-functions/wcsncasecmp.texi: Renamed from
16599         doc/glibc-functions/wcsncasecmp.texi.
16600         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
16601         doc/glibc-functions/wcsncasecmp_l.texi.
16602         * doc/posix-functions/wcsnlen.texi: Renamed from
16603         doc/glibc-functions/wcsnlen.texi.
16604         * doc/posix-functions/wcsnrtombs.texi: Renamed from
16605         doc/glibc-functions/wcsnrtombs.texi.
16606         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
16607         doc/glibc-functions/wcsxfrm_l.texi.
16608         * doc/posix-functions/wctrans_l.texi: Renamed from
16609         doc/glibc-functions/wctrans_l.texi.
16610         * doc/posix-functions/wctype_l.texi: Renamed from
16611         doc/glibc-functions/wctype_l.texi.
16612         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16613         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
16614         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
16615         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
16616         these subsections.
16617         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
16618         Remove sections.
16619
16620 2008-12-14  Bruno Haible  <bruno@clisp.org>
16621
16622         Update doc for POSIX:2008.
16623         * doc/posix-functions/*.texi: Update URL of POSIX specification.
16624
16625 2008-12-14  Bruno Haible  <bruno@clisp.org>
16626
16627         Update doc for POSIX:2008.
16628         * doc/pastposix-functions/bcmp.texi: Renamed from
16629         doc/posix-functions/bcmp.texi.
16630         * doc/pastposix-functions/bcopy.texi: Renamed from
16631         doc/posix-functions/bcopy.texi.
16632         * doc/pastposix-functions/bsd_signal.texi: Renamed from
16633         doc/posix-functions/bsd_signal.texi.
16634         * doc/pastposix-functions/bzero.texi: Renamed from
16635         doc/posix-functions/bzero.texi.
16636         * doc/pastposix-functions/ecvt.texi: Renamed from
16637         doc/posix-functions/ecvt.texi.
16638         * doc/pastposix-functions/fcvt.texi: Renamed from
16639         doc/posix-functions/fcvt.texi.
16640         * doc/pastposix-functions/ftime.texi: Renamed from
16641         doc/posix-functions/ftime.texi.
16642         * doc/pastposix-functions/gcvt.texi: Renamed from
16643         doc/posix-functions/gcvt.texi.
16644         * doc/pastposix-functions/getcontext.texi: Renamed from
16645         doc/posix-functions/getcontext.texi.
16646         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
16647         doc/posix-functions/gethostbyaddr.texi.
16648         * doc/pastposix-functions/gethostbyname.texi: Renamed from
16649         doc/posix-functions/gethostbyname.texi.
16650         * doc/pastposix-functions/getwd.texi: Renamed from
16651         doc/posix-functions/getwd.texi.
16652         * doc/pastposix-functions/h_errno.texi: Renamed from
16653         doc/posix-functions/h_errno.texi.
16654         * doc/pastposix-functions/index.texi: Renamed from
16655         doc/posix-functions/index.texi.
16656         * doc/pastposix-functions/makecontext.texi: Renamed from
16657         doc/posix-functions/makecontext.texi.
16658         * doc/pastposix-functions/mktemp.texi: Renamed from
16659         doc/posix-functions/mktemp.texi.
16660         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
16661         doc/posix-functions/pthread_attr_getstackaddr.texi.
16662         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
16663         doc/posix-functions/pthread_attr_setstackaddr.texi.
16664         * doc/pastposix-functions/rindex.texi: Renamed from
16665         doc/posix-functions/rindex.texi.
16666         * doc/pastposix-functions/scalb.texi: Renamed from
16667         doc/posix-functions/scalb.texi.
16668         * doc/pastposix-functions/setcontext.texi: Renamed from
16669         doc/posix-functions/setcontext.texi.
16670         * doc/pastposix-functions/swapcontext.texi: Renamed from
16671         doc/posix-functions/swapcontext.texi.
16672         * doc/pastposix-functions/ualarm.texi: Renamed from
16673         doc/posix-functions/ualarm.texi.
16674         * doc/pastposix-functions/usleep.texi: Renamed from
16675         doc/posix-functions/usleep.texi.
16676         * doc/pastposix-functions/vfork.texi: Renamed from
16677         doc/posix-functions/vfork.texi.
16678         * doc/pastposix-functions/wcswcs.texi: Renamed from
16679         doc/posix-functions/wcswcs.texi.
16680         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
16681         (Function Substitutes): Update.
16682
16683 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16684
16685         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
16686         m4/strerror.m4.
16687
16688 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16689             Bruno Haible  <bruno@clisp.org>
16690
16691         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
16692
16693 2008-12-13  Bruno Haible  <bruno@clisp.org>
16694
16695         * modules/strtoull (Depends-on): Remove unistd.
16696
16697 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16698
16699         * modules/strtoull (Depends-on): Add stdlib.
16700
16701 2008-12-11  Simon Josefsson  <simon@josefsson.org>
16702
16703         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
16704
16705 2008-12-10  Jim Meyering  <meyering@redhat.com>
16706
16707         gl_ASSERT: don't say assertions are disabled when they're not
16708         * m4/assert.m4 (gl_ASSERT): Do not make configure report
16709         "checking whether to enable assertions... no", when they are in
16710         fact enabled.  This is solely a bug in the output of configure.
16711         In spite of saying "no", NDEBUG was not defined in that case.
16712         Also, as noted by Eric Blake, leave assertions enabled upon
16713         --enable-assert=INVALID.
16714
16715 2008-12-10  Bruno Haible  <bruno@clisp.org>
16716
16717         Change MODULES.html to refer to POSIX:2008 where possible.
16718         * MODULES.html.sh (POSIX2008_URL): New variable.
16719         (posix_headers): Remove sys/timeb, ucontext.
16720         (posix2001_headers): New variable.
16721         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
16722         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
16723         index, makecontext, mktemp, pthread_attr_getstackaddr,
16724         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
16725         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
16726         (posix2001_functions): New variable.
16727         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
16728         otherwise.
16729
16730 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16731
16732         add missing include to parse-duration.c
16733         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
16734         * modules/parse-duration (Depends-on): Add xalloc.
16735
16736         fix sed script reading maint.mk
16737         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
16738         (syntax-check-rules): Use it.
16739
16740 2008-12-09  Bruno Haible  <bruno@clisp.org>
16741
16742         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
16743         MacOS X 10.4/PowerPC.
16744         Reported by Simon Josefsson.
16745
16746 2008-12-08  Jim Meyering  <meyering@redhat.com>
16747
16748         work around mingw's lack of some S_IF definitions
16749         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
16750         Reported by Simon Josefsson.
16751
16752 2008-12-08  Bruno Haible  <bruno@clisp.org>
16753
16754         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
16755         applied to variables. Needed on MacOS X 10.4/PowerPC.
16756         Reported by Simon Josefsson.
16757
16758 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
16759         and Eric Blake  <ebb9@byu.net>
16760
16761         assert: honor --enable-assert
16762         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
16763         order to honor --enable-assert, rather than treating it as a
16764         synonym for --disable-assert.
16765
16766 2008-12-08  Jim Meyering  <meyering@redhat.com>
16767
16768         * lib/posixtm.c: Remove now-useless declaration of mktime.
16769
16770         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
16771
16772 2008-12-07  Bruno Haible  <bruno@clisp.org>
16773
16774         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
16775         test_once): Mark functions as static.
16776         * tests/test-tls.c (test_tls): Likewise.
16777
16778 2008-12-07  Bruno Haible  <bruno@clisp.org>
16779
16780         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
16781         iconv_register_autodetect.
16782
16783 2008-12-07  Jim Meyering  <meyering@redhat.com>
16784
16785         posixtm.c: avoid a warning
16786         * lib/posixtm.c (posixtime): Don't initialize tm0.
16787         It's no longer needed to placate gcc4's -Wuninitialized,
16788         and the attempt to placate would elicit a new warning.
16789
16790         unicodeio.c: mark unused parameters
16791         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
16792         (fallback_failure_callback): Likewise.
16793
16794 2008-12-07  Bruno Haible  <bruno@clisp.org>
16795
16796         * gnulib-tool (func_create_testdir): When building the tests
16797         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
16798         Reported by Simon Josefsson.
16799
16800 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16801
16802         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
16803
16804 2008-12-06  Bruno Haible  <bruno@clisp.org>
16805
16806         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
16807         Suggested by Eric Blake.
16808
16809 2008-12-06  Bruno Haible  <bruno@clisp.org>
16810
16811         Fix a c-stack test failure on MacOS X.
16812         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
16813         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
16814         handler for SIGBUS as well.
16815         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
16816         install a signal handler for SIGBUS as well.
16817         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
16818
16819 2008-12-06  Bruno Haible  <bruno@clisp.org>
16820
16821         Advocacy documentation.
16822         * doc/gnulib-intro.texi (Benefits): New section.
16823         * doc/gnulib.texi: Update.
16824
16825 2008-12-06  Bruno Haible  <bruno@clisp.org>
16826
16827         Document the 'manywarnings' module.
16828         * doc/manywarnings.texi: New file.
16829         * doc/gnulib.texi: Include it.
16830
16831 2008-12-05  Eric Blake  <ebb9@byu.net>
16832
16833         tests: silence some gcc warnings
16834         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
16835         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
16836         type mismatches.
16837
16838 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16839             Bruno Haible  <bruno@clisp.org>
16840
16841         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
16842
16843 2008-11-29  Jim Meyering  <meyering@redhat.com>
16844
16845         unicodeio.c: mark unused parameters
16846         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
16847         (fallback_failure_callback): Likewise.
16848
16849         fts: fix a thinko
16850         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
16851         (set_stat_type): Return S_IF*-valued "type" directly.
16852         Prompted by James Youngman's spotting a related bug.
16853         Confirmed by further testing through find.
16854
16855         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
16856         * lib/fts.c (D_TYPE): Define.
16857         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
16858         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
16859         (s_ifmt_shift_bits): New function.
16860         (set_stat_type): New function.
16861         (fts_build): When not calling fts_stat, call set_stat_type
16862         to propagate dirent.d_type info to fts_read caller.
16863         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
16864         fts_statp->st_mode type information may be valid.
16865
16866 2008-11-28  Simon Josefsson  <simon@josefsson.org>
16867
16868         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
16869         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
16870         <sds@gnu.org>.
16871
16872 2008-11-20  Bruno Haible  <bruno@clisp.org>
16873
16874         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
16875         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
16876         INCLUDE_NEXT.
16877         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
16878         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
16879         * modules/math (Makefile.am): Substitute
16880         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
16881         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16882
16883 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
16884             Bruno Haible  <bruno@clisp.org>
16885
16886         * lib/stdint.in.h: Define all type macros so that their expansion is
16887         a single typedef'ed token. Fixes a compilation failure in Boost which
16888         does "using ::int8_t;".
16889
16890 2008-11-18  Simon Josefsson  <simon@josefsson.org>
16891
16892         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
16893         gl_MANYWARN_ALL_GCC.
16894         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
16895         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
16896         * modules/manywarnings: New file.
16897         * MODULES.html.sh: Mention manywarnings module.
16898
16899 2008-11-18  Bruno Haible  <bruno@clisp.org>
16900
16901         * doc/gnulib-tool.texi (Unit tests): New section.
16902
16903 2008-11-18  Simon Josefsson  <simon@josefsson.org>
16904
16905         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
16906         paths like 'lib/po/foo.po'.
16907
16908 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16909
16910         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
16911         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
16912
16913 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16914
16915         * m4/warnings.m4: Use CPPFLAGS to really check whether the
16916         parameter works.
16917
16918 2008-11-17  Simon Josefsson  <simon@josefsson.org>
16919
16920         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
16921
16922 2008-11-17  Bruce Korb  <bkorb@gnu.org>
16923
16924         * modules/parse-duration-tests: New file.
16925         * tests/test-parse-duration.sh: New file.
16926         * tests/test-parse-duration.c: New file.
16927
16928         New module 'parse-duration'.
16929         * lib/parse-duration.h: New file.
16930         * lib/parse-duration.c: New file.
16931         * modules/parse-duration: New file.
16932
16933 2008-11-17  Bruno Haible  <bruno@clisp.org>
16934
16935         * tests/test-select-out.sh: Comment out the first pipe test.
16936         Reported by Simon Josefsson.
16937
16938 2008-11-17  Bruno Haible  <bruno@clisp.org>
16939
16940         * modules/getaddrinfo (Depends-on): Add servent, hostent.
16941         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
16942         gl_HOSTENT.
16943
16944 2008-11-17  Bruno Haible  <bruno@clisp.org>
16945
16946         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
16947         -lnetwork and -lnet. Needed for Haiku and BeOS.
16948
16949 2008-11-16  Bruno Haible  <bruno@clisp.org>
16950
16951         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
16952
16953 2008-11-16  Bruno Haible  <bruno@clisp.org>
16954
16955         Avoid test failure on Haiku.
16956         * tests/test-fsync.c: Include <errno.h>.
16957         (main): Don't require that fsync (0) fails.
16958
16959 2008-11-15  Bruno Haible  <bruno@clisp.org>
16960
16961         New module 'hostent'.
16962         * modules/hostent: New file.
16963         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
16964
16965 2008-11-15  Bruno Haible  <bruno@clisp.org>
16966
16967         New module 'servent'.
16968         * modules/servent: New file.
16969         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
16970
16971 2008-11-15  Bruno Haible  <bruno@clisp.org>
16972
16973         Avoid generating same test program with two different rules.
16974         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
16975         test-frexp to test-frexp-nolibm.
16976         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
16977         test-frexpl to test-frexpl-nolibm.
16978
16979 2008-11-15  Bruno Haible  <bruno@clisp.org>
16980
16981         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
16982         $(FREXPL_LIBM).
16983
16984 2008-11-15  Bruno Haible  <bruno@clisp.org>
16985
16986         * lib/netdb.in.h: Activate the definitions also when the system's
16987         <netdb.h> has 'struct addrinfo'.
16988         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
16989         EAI_OVERFLOW or AI_NUMERICSERV.
16990         * doc/posix-headers/netdb.texi: Document the problem.
16991
16992 2008-11-15  Bruno Haible  <bruno@clisp.org>
16993
16994         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
16995
16996         Make the 'sched' module work on platforms where <sched.h> exists but
16997         is incomplete (such as Haiku).
16998         * lib/sched.in.h; Include the system's <sched.h> if it exists.
16999         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
17000         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
17001         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
17002         HAVE_STRUCT_SCHED_PARAM.
17003         * modules/sched (Depends-on): Add include_next.
17004         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
17005         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
17006         * doc/posix-headers/sched.texi: Document the issue.
17007
17008 2008-11-13  Jim Meyering  <meyering@redhat.com>
17009
17010         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
17011         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
17012         test would fail due to the difference in the Report bugs to ...
17013         line.  The expected address is empty, "<>", while the actual
17014         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
17015
17016 2008-11-12  Bruno Haible  <bruno@clisp.org>
17017
17018         lstat: don't compile lstat.c on systems lacking lstat
17019         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
17020         which don't have lstat; this is handled by lib/sys_stat.in.h already.
17021         Reported by Daniel P. Berrange via Jim Meyering.
17022
17023 2008-11-12  Jim Meyering  <meyering@redhat.com>
17024
17025         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
17026
17027 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17028
17029         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
17030         instead.
17031
17032 2008-11-12  Bruno Haible  <bruno@clisp.org>
17033
17034         * lib/unicodeio.c: Include unistr.h.
17035         (utf8_wctomb): Remove function.
17036         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
17037
17038 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17039
17040         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
17041         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
17042         <bruno@clisp.org>.
17043         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
17044
17045 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17046
17047         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
17048         * doc/gnulib.texi: Add section for warnings.
17049
17050 2008-11-11  Bruno Haible  <bruno@clisp.org>
17051
17052         * lib/sockets.h: Add a comment.
17053
17054 2008-11-11  Karl Berry  <karl@gnu.org>
17055
17056         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
17057
17058 2008-11-11  Eric Blake  <ebb9@byu.net>
17059
17060         fdl.texi: avoid git symlinks
17061         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
17062
17063 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17064
17065         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
17066
17067 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17068
17069         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
17070         (gl_WARN_ADD): Substitute $2 if literal.
17071
17072 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17073
17074         * m4/warning.m4: Remove.
17075
17076 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17077
17078         * m4/warnings.m4: Almost complete rewrite. :-)
17079
17080 2008-11-10  Simon Josefsson  <simon@josefsson.org>
17081
17082         * modules/warnings: New module.
17083         * m4/warnings.m4: New file.
17084         * MODULES.html.sh: Mention warnings module.
17085         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
17086         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17087
17088 2008-11-10  Eric Blake  <ebb9@byu.net>
17089
17090         fdl.texi: make a symlink to the latest version
17091         * doc/standards.texi: Revert today's earlier change.
17092         * doc/fdl-1.2.texi: Rename from old fdl.texi...
17093         * doc/fdl.texi: ...and replace this with a symlink to the newer
17094         fdl-1.3.texi.
17095
17096 2008-11-10  Bruno Haible  <bruno@clisp.org>
17097
17098         * tests/test-select-fd.c (main): Accept the result file name as fourth
17099         argument.
17100         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
17101         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
17102
17103 2008-11-10  Bruno Haible  <bruno@clisp.org>
17104
17105         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
17106         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
17107         as autoconf-substituted macros.
17108         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
17109         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
17110         gl_NETDB_H_DEFAULTS. Set these variables.
17111         * modules/netdb (Makefile.am): Substitute these variables.
17112
17113 2008-11-10  Eric Blake  <ebb9@byu.net>
17114
17115         standards.texi: include correct file for FDL 1.3
17116         * doc/standards.texi (GNU Free Documentation License): Change
17117         include file to pull in FDL 1.3, not 1.2.
17118
17119         fdl.texi: revert accidental change to license
17120         * doc/fdl.texi: This is FDL 1.2, not 1.3.
17121
17122 2008-11-10  Bruno Haible  <bruno@clisp.org>
17123
17124         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
17125         cross-compiling guesses also when the native compile gives no result.
17126
17127 2008-11-10  Bruno Haible  <bruno@clisp.org>
17128
17129         * lib/spawni.c (__spawni): Force variable into the stack.
17130
17131 2008-11-10  Bruno Haible  <bruno@clisp.org>
17132
17133         Add support for Haiku.
17134         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
17135         glibc and BeOS, but also on Haiku.
17136         * lib/fpurge.c (fpurge): Likewise.
17137         * lib/freadable.c (freadable): Likewise.
17138         * lib/freadahead.c (freadahead): Likewise.
17139         * lib/freading.c (freading): Likewise.
17140         * lib/freadptr.c (freadptr): Likewise.
17141         * lib/freadseek.c (freadptrinc): Likewise.
17142         * lib/fseeko.c (rpl_fseeko): Likewise.
17143         * lib/fseterr.c (fseterr): Likewise.
17144         * lib/fwritable.c (fwritable): Likewise.
17145         * lib/fwriting.c (fwriting): Likewise.
17146         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
17147
17148 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17149
17150         * lib/config.charset: Treat Haiku like BeOS.
17151
17152 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17153
17154         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
17155         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
17156
17157 2008-11-08  Bruno Haible  <bruno@clisp.org>
17158
17159         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
17160         AC_CACHE_CHECK.
17161
17162 2008-11-08  Bruno Haible  <bruno@clisp.org>
17163
17164         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
17165
17166 2008-11-08  Bruno Haible  <bruno@clisp.org>
17167
17168         * tests/test-select-fd.c: New file.
17169         * tests/test-select-in.sh: New file.
17170         * tests/test-select-out.sh: New file.
17171         * tests/test-select-stdin.c: New file.
17172         * modules/select-tests (Files): Add the new files.
17173         (Depends-on): Add gettimeofday.
17174         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
17175         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
17176         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
17177
17178 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
17179             Bruno Haible  <bruno@clisp.org>
17180
17181         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
17182
17183 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
17184
17185         * build-aux/pmccabe2html: Added support for C++ source files.
17186
17187 2008-11-05  Ben Pfaff  <blp@gnu.org>
17188
17189         Fix lib/close.c build on Windows.
17190         * modules/close (Files): Add lib/w32sock.h.
17191
17192 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
17193
17194         Accept Bison's NEWS format.
17195         * build-aux/announce-gen (print_news_deltas): Tweak
17196         $re_prefix.
17197
17198 2008-11-04  Bruno Haible  <bruno@clisp.org>
17199
17200         * modules/random_r (Maintainer): Add glibc.
17201
17202 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17203
17204         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
17205         by karl@freefriends.org (Karl Berry).
17206         * doc/alloca.texi: Likewise.
17207         * doc/c-ctype.texi: Likewise.
17208         * doc/c-strcase.texi: Likewise.
17209         * doc/c-strcaseeq.texi: Likewise.
17210         * doc/c-strcasestr.texi: Likewise.
17211         * doc/c-strstr.texi: Likewise.
17212         * doc/c-strtod.texi: Likewise.
17213         * doc/c-strtold.texi: Likewise.
17214         * doc/ctime.texi: Likewise.
17215         * doc/error.texi: Likewise.
17216         * doc/fdl.texi: Likewise.
17217         * doc/gcd.texi: Likewise.
17218         * doc/getdate.texi: Likewise.
17219         * doc/gnulib-intro.texi: Likewise.
17220         * doc/gnulib-tool.texi: Likewise.
17221         * doc/gnulib.texi: Likewise.
17222         * doc/inet_ntoa.texi: Likewise.
17223         * doc/maintain.texi: Likewise.
17224         * doc/make-stds.texi: Likewise.
17225         * doc/quote.texi: Likewise.
17226         * doc/regexprops-generic.texi: Likewise.
17227         * doc/standards.texi: Likewise.
17228         * doc/verify.texi: Likewise.
17229         * doc/visibility.texi: Likewise.
17230         * doc/gnulib.texi (GNU Free Documentation License): Include
17231         fdl-1.3.texi instead of fdl.texi.
17232
17233 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17234
17235         * doc/fdl-1.3.texi: New file, from
17236         <http://www.gnu.org/licenses/fdl-1.3.texi>.
17237         * modules/fdl-1.3: Add.
17238         * MODULES.html.sh: Add fdl-1.3.
17239
17240 2008-11-03  Bruno Haible  <bruno@clisp.org>
17241
17242         Make determination of absolute name of header file work with AIX xlc.
17243         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
17244         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
17245         preprocessing.
17246         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17247         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
17248
17249 2008-11-03  Simon Josefsson  <simon@josefsson.org>
17250
17251         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
17252         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
17253         <ludo@gnu.org>.
17254
17255 2008-11-02  Bruno Haible  <bruno@clisp.org>
17256
17257         Mark 'strpbrk' obsolete.
17258         * modules/strpbrk (Status, Notice): New sections.
17259         * modules/strtok_r (Depends-on): Add strpbrk.
17260
17261 2008-11-02  Bruno Haible  <bruno@clisp.org>
17262
17263         Mark 'strdup' obsolete.
17264         * modules/strdup (Status, Notice): New sections.
17265         * modules/findprog (Depends-on): Add strdup.
17266         * modules/getaddrinfo (Depends-on): Likewise.
17267         * modules/localename (Depends-on): Likewise.
17268         * modules/relocatable-lib (Depends-on): Likewise.
17269         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
17270         * modules/relocatable-prog (Depends-on): Likewise.
17271         * modules/trim (Depends-on): Likewise.
17272         * modules/unictype/gen-ctype (Depends-on): Likewise.
17273         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17274
17275 2008-11-02  Bruno Haible  <bruno@clisp.org>
17276
17277         Mark 'strcspn' obsolete.
17278         * modules/strcspn (Status, Notice): New sections.
17279
17280 2008-11-02  Bruno Haible  <bruno@clisp.org>
17281
17282         Mark 'rmdir' obsolete.
17283         * modules/rmdir (Status, Notice): New sections.
17284         * modules/clean-temp (Depends-on): Add rmdir.
17285         * modules/openat (Depends-on): Likewise.
17286
17287 2008-11-02  Bruno Haible  <bruno@clisp.org>
17288
17289         Mark 'raise' obsolete.
17290         * modules/raise (Status, Notice): New sections.
17291         (Include): Specify <signal.h>.
17292         * modules/stdio (Depends-on): Add raise.
17293         * modules/write (Depends-on): Likewise.
17294
17295 2008-11-02  Bruno Haible  <bruno@clisp.org>
17296
17297         Mark 'memset' obsolete.
17298         * modules/memset (Status, Notice): New sections.
17299
17300 2008-11-02  Bruno Haible  <bruno@clisp.org>
17301
17302         Mark 'memmove' obsolete.
17303         * modules/memmove (Status, Notice): New sections.
17304         * modules/argp (Depends-on): Add memmove.
17305         * modules/argz (Depends-on): Likewise.
17306         * modules/canonicalize (Depends-on): Likewise.
17307         * modules/canonicalize-lgpl (Depends-on): Likewise.
17308         * modules/fts (Depends-on): Likewise.
17309         * modules/getcwd (Depends-on): Likewise.
17310         * modules/human (Depends-on): Likewise.
17311         * modules/regex (Depends-on): Likewise.
17312         * modules/striconveh (Depends-on): Likewise.
17313         * modules/trim (Depends-on): Likewise.
17314         * modules/unistr/u8-move (Depends-on): Likewise.
17315         * modules/unistr/u16-move (Depends-on): Likewise.
17316         * modules/unistr/u32-move (Depends-on): Likewise.
17317
17318 2008-11-02  Bruno Haible  <bruno@clisp.org>
17319
17320         Mark 'memcpy' obsolete.
17321         * modules/memcpy (Status, Notice): New sections.
17322
17323 2008-11-02  Bruno Haible  <bruno@clisp.org>
17324
17325         Mark 'memcmp' obsolete.
17326         * modules/memcmp (Status, Notice): New sections.
17327         * modules/argmatch (Depends-on): Add memchr.
17328         * modules/backupfile (Depends-on): Likewise.
17329         * modules/c-strcasestr (Depends-on): Likewise.
17330         * modules/crypto/des (Depends-on): Likewise.
17331         * modules/csharpcomp (Depends-on): Likewise.
17332         * modules/fnmatch (Depends-on): Likewise.
17333         * modules/git-merge-changelog (Depends-on): Likewise.
17334         * modules/isnand (Depends-on): Likewise.
17335         * modules/isnand-nolibm (Depends-on): Likewise.
17336         * modules/isnanf (Depends-on): Likewise.
17337         * modules/isnanf-nolibm (Depends-on): Likewise.
17338         * modules/isnanl (Depends-on): Likewise.
17339         * modules/isnanl-nolibm (Depends-on): Likewise.
17340         * modules/mbchar (Depends-on): Likewise.
17341         * modules/memcoll (Depends-on): Likewise.
17342         * modules/quotearg (Depends-on): Likewise.
17343         * modules/regex (Depends-on): Likewise.
17344         * modules/relocatable-prog (Depends-on): Likewise.
17345         * modules/same (Depends-on): Likewise.
17346         * modules/signbit (Depends-on): Likewise.
17347         * modules/strcasestr-simple (Depends-on): Likewise.
17348         * modules/unictype/gen-ctype (Depends-on): Likewise.
17349         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17350         * modules/uniname/uniname (Depends-on): Likewise.
17351         * modules/unistr/u8-cmp (Depends-on): Likewise.
17352
17353 2008-11-02  Bruno Haible  <bruno@clisp.org>
17354
17355         Mark 'memchr' obsolete.
17356         * modules/memchr (Status, Notice): New sections.
17357         * modules/argp (Depends-on): Add memchr.
17358         * modules/base64 (Depends-on): Likewise.
17359         * modules/c-strcasestr (Depends-on): Likewise.
17360         * modules/chdir-long (Depends-on): Likewise.
17361         * modules/fnmatch (Depends-on): Likewise.
17362         * modules/getsubopt (Depends-on): Likewise.
17363         * modules/git-merge-changelog (Depends-on): Likewise.
17364         * modules/glob (Depends-on): Likewise.
17365         * modules/strcasestr-simple (Depends-on): Likewise.
17366         * modules/strnlen (Depends-on): Likewise.
17367
17368 2008-11-02  Bruno Haible  <bruno@clisp.org>
17369
17370         Mark 'atexit' obsolete.
17371         * modules/atexit (Status, Notice): New sections.
17372         * modules/chdir-long (Depends-on): Add atexit.
17373         * modules/wait-process (Depends-on): Likewise.
17374
17375 2008-11-02  Bruno Haible  <bruno@clisp.org>
17376
17377         * gnulib-tool: New option --with-obsolete.
17378         (func_usage): Document it.
17379         (func_modules_transitive_closure): Drop obsolete dependencies if
17380         incobsolete is not true.
17381         (func_import): Read and save the incobsolete variable to the cache.
17382
17383 2008-11-02  Bruno Haible  <bruno@clisp.org>
17384
17385         * modules/TEMPLATE-EXTENDED: New field 'Status'.
17386         * gnulib-tool: New option --extract-status.
17387         (func_usage): Document it.
17388         (sed_extract_prog): Recognize it.
17389         (func_get_status): New function.
17390
17391 2008-10-30  Simon Josefsson  <simon@josefsson.org>
17392
17393         * modules/sockets (License): Change from LGPL to LGPLv2+.
17394
17395 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17396
17397         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
17398
17399 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17400
17401         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17402         Mention times and sys_times.
17403         * modules/sys_times, modules/sys_times-tests: New modules.
17404         * modules/times, modules/times-tests: Likewise
17405         * m4/sys_times_h.m4: New file.
17406         * lib/sys_times.in.h: Likewise
17407         * lib/times.c: Likewise.
17408         * tests/test-sys_times.c: Likewise.
17409         * tests/test-times.c: Likewise.
17410         * doc/posix-headers/sys_times.texi: Update.
17411         * doc/posix-functions/times.texi: Update.
17412
17413 2008-10-28  Jim Meyering  <meyering@redhat.com>
17414
17415         * modules/tempname (Depends-on): Add lstat.
17416
17417         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
17418
17419 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17420
17421         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
17422         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
17423         using idiom used elsewhere in gnulib.
17424
17425 2008-10-27  Jim Meyering  <meyering@redhat.com>
17426
17427         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
17428
17429 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17430
17431         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
17432         TESTS_ENVIRONMENT, for shell scripts that needs to call built
17433         programs.
17434         * tests/test-argp-2.sh: Use $EXEEXT when needed.
17435
17436 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17437
17438         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
17439
17440 2008-10-27  Bruno Haible  <bruno@clisp.org>
17441
17442         * tests/test-lstat.c: Include <stdio.h>.
17443
17444 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17445
17446         * modules/lstat-tests: New module.
17447         * tests/test-lstat.c: New file.
17448
17449 2008-10-26  Jim Meyering  <meyering@redhat.com>
17450
17451         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
17452
17453 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17454             Bruno Haible  <bruno@clisp.org>
17455
17456         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
17457         * modules/configmake (Include): Add a note that the include must come
17458         after all system headers.
17459         * lib/javaversion.c: Include configmake.h after all other includes.
17460
17461 2008-10-26  Bruno Haible  <bruno@clisp.org>
17462
17463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
17464         HAVE_STRUCT_RANDOM_DATA to 1.
17465         (gl_STDLIB_H): Simplify.
17466
17467 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17468
17469         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
17470         substitute HAVE_STRUCT_RANDOM_DATA.
17471         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
17472         random_data.
17473         * modules/stdlib (Makefile.am): Substitute
17474         HAVE_STRUCT_RANDOM_DATA.
17475
17476 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17477
17478         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
17479         * doc/gnulib-intro.texi (Copyright): Likewise.
17480
17481 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17482
17483         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
17484         findings.
17485
17486 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
17487             Bruno Haible  <bruno@clisp.org>
17488
17489         * lib/unistd.in.h: Include <winsock2.h>.
17490         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
17491         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
17492         Provide dummy declarations.
17493         (gethostname): Override.
17494         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
17495         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
17496         gl_PREREQ_SYS_H_WINSOCK2.
17497         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
17498         * doc/posix-functions/gethostname.texi: More details.
17499
17500 2008-10-25  Bruno Haible  <bruno@clisp.org>
17501
17502         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
17503         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
17504         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
17505
17506         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
17507         here ...
17508         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
17509         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
17510         gl_UNISTD_H_DEFAULTS.
17511
17512 2008-10-25  Eric Blake  <ebb9@byu.net>
17513
17514         signbit: avoid spurious compiler failure
17515         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
17516         declarations inside function.
17517
17518 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17519             Bruno Haible  <bruno@clisp.org>
17520
17521         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
17522         * modules/random_r (Depends-on): Add stdint.
17523
17524 2008-10-24  Bruno Haible  <bruno@clisp.org>
17525
17526         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
17527         Eggert.
17528         * modules/strerror (License): Likewise.
17529
17530 2008-10-24  Jim Meyering  <meyering@redhat.com>
17531
17532         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
17533         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
17534
17535 2008-10-24  Eric Blake  <ebb9@byu.net>
17536
17537         getgroups: fix compilation when getgroups is available
17538         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
17539         but with <config.h> override of getgroups disabled.
17540
17541 2008-10-24  Simon Josefsson  <simon@josefsson.org>
17542
17543         * doc/gnulib.texi (Header files): Add note about C++ problems.
17544         Explained by Bruno Haible <bruno@clisp.org>.
17545
17546 2008-10-23  Bruno Haible  <bruno@clisp.org>
17547
17548         Define a dummy SA_NODEFER macro on Interix.
17549         * lib/signal.in.h (SA_NODEFER): Define fallback.
17550         Reported by Aleksey Cheusov <cheusov@tut.by> via
17551         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
17552
17553 2008-10-23  Bruno Haible  <bruno@clisp.org>
17554
17555         * modules/freadahead (License): Change to LGPLv2+.
17556         Suggested by Simon Josefsson.
17557
17558 2008-10-23  Jim Meyering  <meyering@redhat.com>
17559
17560         random_r: new module
17561         * modules/random_r: New file.
17562         * m4/random_r.m4: New file.
17563         * lib/random_r.c: New file, from glibc.
17564         * modules/random_r-tests: New file.
17565         * tests/test-random_r.c: New file.
17566         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
17567          Declare.
17568         (RAND_MAX): Define.
17569         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
17570         * modules/stdlib: Substitute them, too.
17571         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
17572         * doc/glibc-functions/initstate_r.texi: Mention the new module.
17573         * doc/glibc-functions/random_r.texi: Likewise.
17574         * doc/glibc-functions/setstate_r.texi: Likewise.
17575         * doc/glibc-functions/srandom_r.texi: Likewise.
17576         * config/srclist.txt: Mention it.
17577
17578 2008-10-23  David Lutterkort  <lutter@redhat.com>
17579
17580         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
17581         link requirement
17582
17583 2008-10-23  Jim Meyering  <meyering@redhat.com>
17584
17585         selinux-h: mark parameters of stub functions as intentionally unused
17586         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
17587         * lib/se-context.in.h: Likewise.
17588
17589 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17590
17591         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
17592
17593 2008-10-22  Simon Josefsson  <simon@josefsson.org>
17594
17595         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
17596
17597 2008-10-22  Eric Blake  <ebb9@byu.net>
17598
17599         glthread/thread: avoid compiler warning
17600         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
17601         Add unreachable abort to silence compiler.
17602
17603 2008-10-22  Eric Blake  <ebb9@byu.net>
17604
17605         netdb: also supply struct addrinfo for cygwin 1.5.x
17606         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
17607         older cygwin.
17608         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
17609         cygwin.
17610         * doc/posix-headers/netdb.texi (netdb.h): Document this.
17611
17612 2008-10-22  Bruno Haible  <bruno@clisp.org>
17613
17614         * users.txt: Update entry about pspp.
17615
17616 2008-10-21  Bruno Haible  <bruno@clisp.org>
17617
17618         Simplification.
17619         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
17620         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
17621
17622         Simplification.
17623         * lib/ioctl.c (ioctl): Don't undefine.
17624         * lib/socket.c (socket): Don't undefine.
17625
17626         Remove unused module indicator macros.
17627         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
17628         GNULIB_$1 as a C macro.
17629
17630         * doc/posix-functions/close.texi: Undo last change.
17631         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
17632         Windows platforms.
17633
17634 2008-10-21  Bruno Haible  <bruno@clisp.org>
17635
17636         Add gethostname() declaration to <unistd.h>.
17637         * lib/unistd.in.h (gethostname): New declaration.
17638         * lib/gethostname.c: Include <unistd.h>.
17639         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
17640         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
17641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
17642         and HAVE_GETHOSTNAME.
17643         * modules/gethostname (Depends-on): Add unistd.
17644         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17645         (Include): Specify <unistd.h>.
17646         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
17647         HAVE_GETHOSTNAME.
17648         * tests/test-gethostname.c: Include <unistd.h> first.
17649
17650 2008-10-21  Bruno Haible  <bruno@clisp.org>
17651
17652         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
17653         * modules/select-tests (Depends-on): Likewise.
17654         Reported by Simon Josefsson.
17655
17656 2008-10-21  Simon Josefsson  <simon@josefsson.org>
17657
17658         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
17659         * lib/accept.c: New file, based on winsock.c.
17660         * lib/bind.c: New file, based on winsock.c.
17661         * lib/connect.c: New file, based on winsock.c.
17662         * lib/getpeername.c: New file, based on winsock.c.
17663         * lib/getsockname.c: New file, based on winsock.c.
17664         * lib/getsockopt.c: New file, based on winsock.c.
17665         * lib/ioctl.c: New file, based on winsock.c.
17666         * lib/listen.c: New file, based on winsock.c.
17667         * lib/recv.c: New file, based on winsock.c.
17668         * lib/recvfrom.c: New file, based on winsock.c.
17669         * lib/send.c: New file, based on winsock.c.
17670         * lib/sendto.c: New file, based on winsock.c.
17671         * lib/setsockopt.c: New file, based on winsock.c.
17672         * lib/shutdown.c: New file, based on winsock.c.
17673         * lib/socket.c: New file, based on winsock.c.
17674         * lib/w32sock.h: New file, based on winsock.c.
17675         * lib/winsock.c: Remove file.
17676         * modules/accept: Likewise.
17677         * modules/bind: Likewise.
17678         * modules/connect: Likewise.
17679         * modules/getpeername: Likewise.
17680         * modules/getsockname: Likewise.
17681         * modules/getsockopt: Likewise.
17682         * modules/ioctl: Likewise.
17683         * modules/listen: Likewise.
17684         * modules/recv: Likewise.
17685         * modules/recvfrom: Likewise.
17686         * modules/send: Likewise.
17687         * modules/sendto: Likewise.
17688         * modules/setsockopt: Likewise.
17689         * modules/shutdown: Likewise.
17690         * modules/socket: Use socket.c instead of winsock.c.
17691         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
17692         * doc/posix-functions/accept.texi: Doc fix.
17693         * doc/posix-functions/bind.texi: Doc fix.
17694         * doc/posix-functions/close.texi: Doc fix.
17695         * doc/posix-functions/connect.texi: Doc fix.
17696         * doc/posix-functions/getpeername.texi: Doc fix.
17697         * doc/posix-functions/getsockname.texi: Doc fix.
17698         * doc/posix-functions/getsockopt.texi: Doc fix.
17699         * doc/posix-functions/ioctl.texi: Doc fix.
17700         * doc/posix-functions/listen.texi: Doc fix.
17701         * doc/posix-functions/recv.texi: Doc fix.
17702         * doc/posix-functions/recvfrom.texi: Doc fix.
17703         * doc/posix-functions/send.texi: Doc fix.
17704         * doc/posix-functions/sendto.texi: Doc fix.
17705         * doc/posix-functions/setsockopt.texi: Doc fix.
17706         * doc/posix-functions/shutdown.texi: Doc fix.
17707         * doc/posix-functions/socket.texi: Doc fix.
17708
17709 2008-10-20  Bruno Haible  <bruno@clisp.org>
17710
17711         Take into account the role of SIGABRT_COMPAT on Windows 2008.
17712         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
17713         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
17714         as an alias for SIGABRT.
17715         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
17716         (sigaction): Map it to SIGABRT.
17717         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
17718
17719 2008-10-20  Bruno Haible  <bruno@clisp.org>
17720
17721         * lib/fts.c: Don't include lstat.h.
17722         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
17723
17724         Move the lstat() declaration to <sys/stat.h>.
17725         * lib/lstat.h: Remove file.
17726         * lib/sys_stat.in.h: Add special invocation convention.
17727         (lstat): New declaration.
17728         * lib/lstat.c (orig_lstat): New function.
17729         (rpl_lstat): Use orig_lstat instead of lstat.
17730         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
17731         AC_C_INLINE. Set REPLACE_LSTAT.
17732         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
17733         and REPLACE_LSTAT.
17734         * modules/lstat (Files): Remove lib/lstat.h.
17735         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
17736         (Include): Specify <sys/stat.h> instead of lstat.h.
17737         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
17738         REPLACE_LSTAT.
17739         * NEWS: Mention the change.
17740
17741 2008-10-20  Bruno Haible  <bruno@clisp.org>
17742
17743         * modules/posix_spawn-tests: New file.
17744         * tests/test-posix_spawn3.c: New file.
17745
17746 2008-10-20  Bruno Haible  <bruno@clisp.org>
17747
17748         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
17749         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
17750         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
17751         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
17752         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
17753
17754 2008-10-20  Bruno Haible  <bruno@clisp.org>
17755
17756         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
17757         of posix_spawn on AIX 5.3.
17758
17759 2008-10-20  Bruno Haible  <bruno@clisp.org>
17760
17761         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
17762
17763 2008-10-20  Bruno Haible  <bruno@clisp.org>
17764
17765         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
17766         of AC_LANG_PROGRAM.
17767
17768 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17769
17770         * lib/netdb.in.h: Don't define GNU specific constants until they
17771         are supported or needed.  Reported by Bruno Haible
17772         <bruno@clisp.org>.
17773
17774 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17775
17776         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
17777
17778 2008-10-20  Simon Josefsson  <simon@josefsson.org>
17779
17780         * lib/getaddrinfo.h: Remove file.
17781         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
17782         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
17783         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
17784         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
17785         * modules/netdb: Substitute GNULIB_GETADDRINFO.
17786         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
17787         * tests/test-getaddrinfo.c: Likewise.
17788         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
17789         * NEWS: Mention change.
17790
17791 2008-10-19  Bruno Haible  <bruno@clisp.org>
17792
17793         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
17794
17795 2008-10-19  Bruno Haible  <bruno@clisp.org>
17796
17797         * lib/wait-process.c: Include simply <sys/wait.h>.
17798         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
17799         WIFSTOPPED): Remove fallback definitions.
17800         * modules/wait-process (Depends-on): Add sys_wait.
17801
17802         New module 'sys_wait'.
17803         * modules/sys_wait: New file.
17804         * lib/sys_wait.in.h: New file, partially copied from
17805         lib/wait-process.c.
17806         * m4/sys_wait_h.m4: New file.
17807         * doc/posix-headers/sys_wait.texi: Mention the new module.
17808
17809 2008-10-19  Bruno Haible  <bruno@clisp.org>
17810
17811         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
17812
17813 2008-10-19  Bruno Haible  <bruno@clisp.org>
17814
17815         Assume that waitpid() fills an 'int' status, not a 'union wait'.
17816         * lib/wait-process.c (WAIT_T): Remove type.
17817         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
17818         (wait_subprocess): Update.
17819
17820 2008-10-19  Bruno Haible  <bruno@clisp.org>
17821
17822         New module 'atoll'.
17823         * modules/atoll: New file.
17824         * lib/stdlib.in.h (atoll): New declaration.
17825         * lib/atoll.c: New file, from glibc with modifications.
17826         * m4/atoll.m4: New file.
17827         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
17828         HAVE_ATOLL.
17829         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
17830         * doc/posix-functions/atoll.texi: Mention the new module.
17831
17832 2008-10-19  Bruno Haible  <bruno@clisp.org>
17833
17834         Add strtoull() declaration to <stdlib.h>.
17835         * lib/stdlib.in.h (strtoull): New declaration.
17836         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
17837         Set HAVE_STRTOULL.
17838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
17839         HAVE_STRTOULL.
17840         * modules/strtoull (Depends-on): Add stdlib.
17841         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17842         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
17843         HAVE_STRTOULL.
17844
17845 2008-10-19  Bruno Haible  <bruno@clisp.org>
17846
17847         Add strtoll() declaration to <stdlib.h>.
17848         * lib/stdlib.in.h (strtoll): New declaration.
17849         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
17850         Set HAVE_STRTOLL.
17851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
17852         HAVE_STRTOLL.
17853         * modules/strtoll (Depends-on): Add stdlib.
17854         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17855         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
17856
17857 2008-10-19  Bruno Haible  <bruno@clisp.org>
17858
17859         * modules/bcopy (Depends-on): Add strings.
17860         (Include): Specify <strings.h>.
17861
17862 2008-10-19  Bruno Haible  <bruno@clisp.org>
17863
17864         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
17865
17866 2008-10-19  Bruno Haible  <bruno@clisp.org>
17867
17868         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
17869         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
17870         mingw.
17871
17872 2008-10-19  Bruno Haible  <bruno@clisp.org>
17873
17874         * lib/atanl.c: Don't include isnanl.h.
17875         * lib/cosl.c: Likewise.
17876         * lib/ldexpl.c: Likewise.
17877         * lib/logl.c: Likewise.
17878         * lib/sinl.c: Likewise.
17879         * lib/sqrtl.c: Likewise.
17880         * lib/tanl.c: Likewise.
17881
17882         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
17883         * lib/isnanf.h: Remove file.
17884         * lib/isnand.h: Remove file.
17885         * lib/isnanl.h: Remove file.
17886         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
17887         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
17888         macros.
17889         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
17890         HAVE_ISNANF, don't define it as a C macro.
17891         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
17892         HAVE_ISNAND, don't define it as a C macro.
17893         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
17894         HAVE_ISNANL, don't define it as a C macro.
17895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
17896         HAVE_ISNAN[FDL].
17897         * modules/isnanf (Files): Remove lib/isnanf.h.
17898         (Depends-on): Add math.
17899         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17900         (Include): Specify <math.h> instead of isnanf.h.
17901         * modules/isnand (Files): Remove lib/isnand.h.
17902         (Depends-on): Add math.
17903         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17904         (Include): Specify <math.h> instead of isnand.h.
17905         * modules/isnanl (Files): Remove lib/isnanl.h.
17906         (Depends-on): Add math.
17907         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
17908         (Include): Specify <math.h> instead of isnanl.h.
17909         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
17910         HAVE_ISNAN[FDL].
17911         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
17912         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
17913         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
17914         * NEWS: Mention the change.
17915
17916 2008-10-18  Bruno Haible  <bruno@clisp.org>
17917
17918         Add getusershell(), setusershell(), endusershell() declarations to
17919         <unistd.h>.
17920         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
17921         declarations.
17922         * lib/getusershell.c: Include unistd.h.
17923         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
17924         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
17925         HAVE_GETUSERSHELL.
17926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
17927         and HAVE_GETUSERSHELL.
17928         * modules/getusershell (Depends-on): Add unistd, extensions.
17929         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17930         (Include): Specify <unistd.h>.
17931         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
17932         HAVE_GETUSERSHELL.
17933
17934 2008-10-18  Bruno Haible  <bruno@clisp.org>
17935
17936         Add a getloadavg() declaration to <stdlib.h>.
17937         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
17938         getloadavg declaration.
17939         (getloadavg): New declaration.
17940         * lib/getloadavg.c: Include <stdlib.h> first.
17941         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
17942         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
17943         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
17944         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
17945         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
17946         * modules/getloadavg (Depends-on): Add stdlib, extensions.
17947         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17948         (Include): Specify <stdlib.h>.
17949         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
17950         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
17951
17952 2008-10-18  Bruno Haible  <bruno@clisp.org>
17953
17954         * lib/dirchownmod.c: Don't include lchmod.h.
17955
17956         Move the lchmod() declaration to <sys/stat.h>.
17957         * lib/lchmod.h: Remove file.
17958         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
17959         (lchmod): New declaration, moved here from lib/lchown.h.
17960         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
17961         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
17962         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
17963         and HAVE_LCHMOD.
17964         * modules/lchmod (Files): Remove lib/lchmod.h.
17965         (Depends-on): Add sys_stat, extensions.
17966         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
17967         (Include): Specify <sys/stat.h> instead of lchmod.h.
17968         * modules/sys_stat (Depends-on): Add link-warning.
17969         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
17970         definition of GL_LINK_WARNING.
17971         * NEWS: Mention the change.
17972
17973 2008-10-18  Bruno Haible  <bruno@clisp.org>
17974
17975         * lib/fchdir.c: Don't include dirfd.h.
17976         * lib/fts.c: Likewise.
17977         * lib/getcwd.c: Likewise.
17978         * lib/glob.c: Likewise.
17979
17980         Move the dirfd() declaration to <dirent.h>.
17981         * lib/dirfd.h: Remove file.
17982         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
17983         (dirfd): New declaration.
17984         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
17985         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
17986         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
17987         HAVE_DECL_DIRFD.
17988         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
17989         HAVE_DECL_DIRFD.
17990         * modules/dirfd (Files): Remove lib/dirfd.h.
17991         (Depends-on): Add dirent, extensions.
17992         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
17993         (Include): Specify <dirent.h> instead of dirfd.h.
17994         * modules/dirent (Depends-on): Add link-warning.
17995         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
17996         definition of GL_LINK_WARNING.
17997         * NEWS: Mention the change.
17998
17999 2008-10-18  Bruno Haible  <bruno@clisp.org>
18000
18001         Move the euidaccess() declaration to <unistd.h>.
18002         * lib/euidaccess.h: Remove file.
18003         * lib/unistd.in.h (euidaccess): New declaration.
18004         * lib/euidaccess.c: Don't include euidaccess.h.
18005         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
18006         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
18007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
18008         and HAVE_EUIDACCESS.
18009         * modules/euidaccess (Files): Remove lib/euidaccess.h.
18010         (Depends-on): Add unistd.
18011         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18012         (Include): Specify <unistd.h> instead of euidaccess.h.
18013         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
18014         HAVE_EUIDACCESS.
18015         * NEWS: Mention the change.
18016
18017 2008-10-18  Bruno Haible  <bruno@clisp.org>
18018
18019         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
18020
18021         Move the getdomainname() declaration to <unistd.h>.
18022         * lib/getdomainname.h: Remove file.
18023         * lib/unistd.in.h (getdomainname): New declaration.
18024         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
18025         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18026         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18027         HAVE_GETDOMAINNAME.
18028         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18029         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
18030         * modules/getdomainname (Files): Remove lib/getdomainname.h.
18031         (Depends-on): Add unistd, extensions.
18032         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18033         (Includes): Specify <unistd.h> instead of getdomainname.h.
18034         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
18035         HAVE_GETDOMAINNAME.
18036         * NEWS: Mention the change.
18037
18038 2008-10-18  Bruno Haible  <bruno@clisp.org>
18039
18040         * modules/dirent: New file.
18041         * m4/dirent_h.m4: New file.
18042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
18043         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
18044         * modules/fchdir (Files): Remove lib/dirent.in.h.
18045         (Depends-on): Add dirent.
18046         (Makefile.am): Move rules to modules/dirent.
18047         * doc/posix-headers/dirent.texi: Mention the new module.
18048
18049 2008-10-18  Bruno Haible  <bruno@clisp.org>
18050
18051         Avoid -Wunused-parameter warnings in public gnulib header files.
18052         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
18053         macro.
18054         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
18055
18056 2008-10-18  Bruno Haible  <bruno@clisp.org>
18057
18058         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
18059         * doc/glibc-functions/error.texi: Mention the module 'error'.
18060         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
18061         * doc/glibc-functions/getdomainname.texi: Mention the module
18062         'getdomainname'.
18063         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
18064         * doc/glibc-functions/getpagesize.texi: Mention the module
18065         'getpagesize'.
18066         * doc/glibc-functions/getusershell.texi: Mention the module
18067         'getusershell'.
18068         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
18069         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
18070         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
18071         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
18072         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
18073         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
18074         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
18075         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
18076         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
18077         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
18078         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
18079         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
18080         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
18081         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
18082
18083 2008-10-17  Bruno Haible  <bruno@clisp.org>
18084
18085         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
18086         HP-UX and IRIX, use -0.0L.
18087         * tests/test-ceill.c (minus_zero): Likewise.
18088         * tests/test-floorl.c (minus_zero): Likewise.
18089         * tests/test-frexpl.c (minus_zero): Likewise.
18090         * tests/test-isnan.c (minus_zerol): Likewise.
18091         * tests/test-isnanl.h (minus_zero): Likewise.
18092         * tests/test-ldexpl.c (minus_zero): Likewise.
18093         * tests/test-roundl.c (minus_zero): Likewise.
18094         * tests/test-signbit.c (minus_zerol): Likewise.
18095         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18096         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18097         * tests/test-truncl.c (minus_zero): Likewise.
18098         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18099         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18100         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
18101         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18102
18103 2008-10-17  Bruno Haible  <bruno@clisp.org>
18104
18105         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
18106         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
18107         that it gets activated only for gcc >= 3.0.
18108         * lib/dirent.in.h: Likewise.
18109         * lib/errno.in.h: Likewise.
18110         * lib/fcntl.in.h: Likewise.
18111         * lib/float.in.h: Likewise.
18112         * lib/iconv.in.h: Likewise.
18113         * lib/inttypes.in.h: Likewise.
18114         * lib/locale.in.h: Likewise.
18115         * lib/math.in.h: Likewise.
18116         * lib/netdb.in.h: Likewise.
18117         * lib/netinet_in.in.h: Likewise.
18118         * lib/search.in.h: Likewise.
18119         * lib/signal.in.h: Likewise.
18120         * lib/spawn.in.h: Likewise.
18121         * lib/stdarg.in.h: Likewise.
18122         * lib/stdint.in.h: Likewise.
18123         * lib/stdio.in.h: Likewise.
18124         * lib/stdlib.in.h: Likewise.
18125         * lib/string.in.h: Likewise.
18126         * lib/strings.in.h: Likewise.
18127         * lib/sys_file.in.h: Likewise.
18128         * lib/sys_ioctl.in.h: Likewise.
18129         * lib/sys_select.in.h: Likewise.
18130         * lib/sys_socket.in.h: Likewise.
18131         * lib/sys_stat.in.h: Likewise.
18132         * lib/sys_time.in.h: Likewise.
18133         * lib/sysexits.in.h: Likewise.
18134         * lib/time.in.h: Likewise.
18135         * lib/unistd.in.h: Likewise.
18136         * lib/wchar.in.h: Likewise.
18137         * lib/wctype.in.h: Likewise.
18138         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18139
18140 2008-10-17  Jim Meyering  <meyering@redhat.com>
18141
18142         ignore-value: don't depend on inline module
18143         * modules/ignore-value (Depends-on): Remove 'inline'.
18144         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
18145         Suggestion from Bruno Haible.
18146
18147 2008-10-17  Bruno Haible  <bruno@clisp.org>
18148
18149         New implementation of condition variables for Win32.
18150         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
18151         (gl_linked_waitqueue_t): New type.
18152         (gl_cond_t): Use it.
18153         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
18154         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
18155         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
18156         (glthread_cond_init_func, glthread_cond_wait_func,
18157         glthread_cond_timedwait_func, glthread_cond_signal_func,
18158         glthread_cond_broadcast_func, glthread_cond_destroy_func):
18159         Reimplemented on the basis of gl_linked_waitqueue_t.
18160         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
18161         gl_waitqueue_t.
18162         (gl_rwlock_t): Update.
18163         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
18164
18165 2008-10-17  Simon Josefsson  <simon@josefsson.org>
18166
18167         * modules/recvfrom (Depends-on): Add dependency on getpeername.
18168         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18169
18170 2008-10-17  Jim Meyering  <meyering@redhat.com>
18171
18172         ignore-value: new module
18173         * modules/ignore-value: New file.
18174         * lib/ignore-value.h: New file.
18175         * MODULES.html.sh (Compiler warning management): New section,
18176         just for this module.  More to come.
18177
18178 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18179
18180         open-safer.c: avoid 'signed and unsigned in conditional...' warning
18181         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
18182         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
18183
18184 2008-10-16  Jim Meyering  <meyering@redhat.com>
18185
18186         openat-die.c: avoid 'no previous prototype' warning
18187         * lib/openat-die.c: Include "openat.h".
18188         Reported by Reuben Thomas <rrt@sc3d.org>.
18189
18190 2008-10-16  Simon Josefsson  <simon@josefsson.org>
18191
18192         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
18193         * lib/netdb.in.h: Fix typo.
18194         Reported by Bruno Haible  <bruno@clisp.org>
18195
18196         * lib/netdb.in.h: Include sys/socket.h for platforms without
18197         netdb.h, to get structures like hostent on MinGW.
18198         * modules/netdb (Depends-on): Add sys_socket.
18199
18200 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18201
18202         * modules/netdb, modules/netdb-tests: New file.
18203         * m4/netdb_h.m4: New file.
18204         * lib/netdb.in.h: Add, currently just an empty file pending
18205         definitions.
18206         * tests/test-netdb.c: New file.
18207         * doc/posix-headers/netdb.texi: Mention that we replace it if
18208         needed.
18209         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18210         netdb.
18211
18212 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18213
18214         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
18215         with code.
18216
18217 2008-10-13  Bruno Haible  <bruno@clisp.org>
18218
18219         * lib/glthread/cond.c (glthread_cond_wait_func,
18220         glthread_cond_timedwait_func): Add a comment.
18221
18222 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18223
18224         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
18225         * tests/test-select.c: Likewise,
18226
18227 2008-10-13  Bruno Haible  <bruno@clisp.org>
18228
18229         * lib/glthread/cond.c (glthread_cond_wait_func,
18230         glthread_cond_timedwait_func): Fix variable name.
18231         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18232
18233 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
18234
18235         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
18236         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
18237         struct sockaddr.sa_len.
18238         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
18239
18240 2008-10-13  Simon Josefsson  <simon@josefsson.org>
18241
18242         * build-aux/pmccabe2html: Add css and css_url parameters.
18243
18244 2008-10-12  Bruno Haible  <bruno@clisp.org>
18245
18246         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
18247         calling aclx_get.
18248         Reported by Rainer Tammer <tammer@tammer.net>.
18249
18250 2008-10-12  Bruno Haible  <bruno@clisp.org>
18251
18252         Use msvcrt aware primitives for creation/termination of Win32 threads.
18253         * lib/glthread/thread.c: Include <process.h>.
18254         (glthread_create_func): Use _beginthreadex instead of CreateThread.
18255         (wrapper_func): Update signature.
18256         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
18257
18258 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18259             Bruno Haible  <bruno@clisp.org>
18260
18261         Provide a Win32 implementation of the 'cond' module.
18262         * lib/glthread/cond.h [USE_WIN32]: New implementation.
18263         * lib/glthread/cond.c (glthread_cond_init_func,
18264         glthread_cond_wait_func, glthread_cond_timedwait_func,
18265         glthread_cond_signal_func, glthread_cond_broadcast_func,
18266         glthread_cond_destroy_func) [USE_WIN32]: New functions.
18267         * modules/cond (Dependencies): Add gettimeofday.
18268
18269 2008-10-11  Bruno Haible  <bruno@clisp.org>
18270
18271         Make sleep work on older versions of mingw.
18272         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
18273         only whether it exists.
18274         * doc/posix-functions/sleep.texi: Mention the problem with older
18275         versions of mingw.
18276
18277 2008-10-11  Bruno Haible  <bruno@clisp.org>
18278
18279         New module 'shutdown'.
18280         * modules/shutdown: New file.
18281         * lib/sys_socket.in.h (shutdown): New declaration.
18282         * lib/winsock.c (shutdown): New function.
18283         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18284         GNULIB_SHUTDOWN.
18285         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
18286         * doc/posix-functions/shutdown.texi: Document the new module.
18287
18288 2008-10-11  Jim Meyering  <meyering@redhat.com>
18289
18290         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
18291
18292 2008-10-11  Bruno Haible  <bruno@clisp.org>
18293
18294         New module 'fclose'.
18295         * modules/fclose: New file.
18296         * lib/stdio.in.h (fclose): New declaration.
18297         * lib/fclose.c: New file.
18298         * m4/fclose.m4: New file.
18299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
18300         REPLACE_FCLOSE.
18301         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
18302         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
18303         REPLACE_FCLOSE.
18304         * modules/close (Depends-on): fclose.
18305         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
18306
18307 2008-10-11  Bruno Haible  <bruno@clisp.org>
18308
18309         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
18310         set errno and don't call _close.
18311
18312 2008-10-10  Bruno Haible  <bruno@clisp.org>
18313
18314         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
18315         ACL, not afterwards. Fixes test failure on Cygwin.
18316
18317 2008-10-09  Ben Pfaff  <blp@gnu.org>
18318
18319         * build-aux/announce-gen: Fix gnulib version related part of usage
18320         message.  Die with a useful error message if no tarballs are
18321         found.
18322
18323 2008-10-10  Jim Meyering  <meyering@redhat.com>
18324
18325         bootstrap: use git's --depth=N option only if it's supported
18326         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
18327         recognize the --depth option.  Reported by Pádraig Brady.
18328
18329 2008-10-09  Bruno Haible  <bruno@clisp.org>
18330
18331         New module 'ioctl'.
18332         * modules/ioctl: New file.
18333         * lib/sys_socket.in.h (ioctl): Remove declaration.
18334         * lib/winsock.c: Include <sys/ioctl.h>.
18335         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
18336         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18337         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
18338         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
18339         * doc/posix-functions/ioctl.texi: Mention the new module.
18340
18341 2008-10-09  Bruno Haible  <bruno@clisp.org>
18342
18343         New module 'sys_ioctl'.
18344         * lib/sys_ioctl.in.h: New file.
18345         * m4/sys_ioctl_h.m4: New file.
18346         * modules/sys_ioctl: New file.
18347         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
18348
18349 2008-10-09  Bruno Haible  <bruno@clisp.org>
18350
18351         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
18352         * lib/winsock.c: Include <stdarg.h>.
18353         (rpl_ioctl): Change to second argument 'int' and then varargs.
18354
18355 2008-10-09  Bruno Haible  <bruno@clisp.org>
18356
18357         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
18358         when the sys_socket module is present and the system has <winsock2.h>.
18359
18360 2008-10-09  Bruno Haible  <bruno@clisp.org>
18361
18362         * doc/posix-functions/close.texi: Mention module 'close' instead of
18363         module 'sys_socket'.
18364
18365 2008-10-09  Bruno Haible  <bruno@clisp.org>
18366
18367         * doc/glibc-headers/sys_ioctl.texi: New file.
18368         * doc/gnulib.texi: Include it.
18369
18370 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18371             Bruno Haible  <bruno@clisp.org>
18372
18373         Combine the two replacements of 'close'.
18374         * lib/sys_socket.in.h (close): Define to a reminder to include
18375         <unistd.h>.
18376         (_gl_close_fd_maybe_socket): New declaration.
18377         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
18378         * lib/winsock.c (close): Remove undefinition.
18379         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
18380         needed for the gnulib module 'close'.
18381         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
18382         define to an error symbol or to a warning, if suitable.
18383         * lib/close.c: Include <sys/socket.h>.
18384         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
18385         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
18386         UNISTD_H_HAVE_WINSOCK2_H.
18387         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
18388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18389         UNISTD_H_HAVE_WINSOCK2_H.
18390         * modules/sys_socket (Files): Add m4/unistd_h.m4.
18391         (configure.ac): Set a module indicator.
18392         (Makefile.am): Substitute GNULIB_CLOSE.
18393         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
18394         * modules/poll-tests (Depends-on): Add close.
18395         * modules/select-tests (Depends-on): Likewise.
18396
18397 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18398             Bruno Haible  <bruno@clisp.org>
18399
18400         New module 'close'.
18401         * modules/close: New file.
18402         * lib/unistd.in.h (close): Move declaration out of the
18403         FCHDIR_REPLACEMENT scope.
18404         (_gl_unregister_fd): New declaration.
18405         * lib/close.c: New file.
18406         * lib/fchdir.c (rpl_close): Remove function.
18407         * m4/close.m4: New file.
18408         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18409         close.
18410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
18411         REPLACE_CLOSE.
18412         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
18413         REPLACE_CLOSE.
18414         * modules/fchdir (Depends-on): Add close.
18415
18416 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18417             Bruno Haible  <bruno@clisp.org>
18418
18419         * lib/fcntl.in.h (open): Simplify conditionals.
18420         (_gl_register_fd): New declaration.
18421         * lib/fchdir.c (rpl_open): Remove function.
18422         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
18423         also.
18424         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
18425         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18426         open.
18427
18428 2008-10-09  Jim Meyering  <meyering@redhat.com>
18429
18430         GNUmakefile: use the more name-space-friendly "_version"
18431         * top/GNUmakefile (_dummy): Update.
18432         (_version): Rename from "version".
18433
18434 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18435             Bruno Haible  <bruno@clisp.org>
18436
18437         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
18438         rpl_close.
18439         (_gl_register_fd): New function, extracted from rpl_open.
18440         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
18441         (rpl_open, rpl_opendir): Use _gl_register_fd.
18442
18443 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18444
18445         Fix organization of 'open' replacement.
18446         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
18447         (gl_FUNC_OPEN): Use it.
18448         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
18449
18450 2008-10-08  Bruno Haible  <bruno@clisp.org>
18451
18452         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
18453
18454 2008-10-08  Simon Josefsson  <simon@josefsson.org>
18455
18456         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
18457         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
18458         listen).
18459
18460 2008-10-08  Eric Blake  <ebb9@byu.net>
18461
18462         GNUmakefile: add 'make version' target
18463         * top/GNUmakefile (_curr-ver): Split version update rules...
18464         (version): ...into a target.
18465
18466 2008-10-07  Bruno Haible  <bruno@clisp.org>
18467
18468         Use a more portable replacement expression for -0.0L.
18469         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
18470         instead of -0.0L. Fix m4 quotation.
18471
18472         * tests/test-signbit.c: Include <float.h>.
18473         (minus_zero): New variable.
18474         (test_signbitl): Use minus_zero instead of -zero.
18475         * modules/signbit-tests (Depends-on): Add float.
18476
18477         * tests/test-ceill.c: Include <float.h>.
18478         (zero): Remove variable.
18479         (minus_zero): New variable.
18480         (main): Use minus_zero instead of -zero.
18481         * modules/ceill-tests (Depends-on): Add float.
18482
18483         * tests/test-floorl.c: Include <float.h>.
18484         (zero): Remove variable.
18485         (minus_zero): New variable.
18486         (main): Use minus_zero instead of -zero.
18487         * modules/floorl-tests (Depends-on): Add float.
18488
18489         * tests/test-roundl.c: Include <float.h>.
18490         (zero): Remove variable.
18491         (minus_zero): New variable.
18492         (main): Use minus_zero instead of -zero.
18493         * modules/roundl-tests (Depends-on): Add float.
18494
18495         * tests/test-truncl.c: Include <float.h>.
18496         (zero): Remove variable.
18497         (minus_zero): New variable.
18498         (main): Use minus_zero instead of -zero.
18499         * modules/truncl-tests (Depends-on): Add float.
18500
18501         * tests/test-frexpl.c (zero): Remove variable.
18502         (minus_zero): New variable.
18503         (main): Use minus_zero instead of -zero.
18504         * modules/frexpl-tests (Depends-on): Add float.
18505
18506         * tests/test-isnan.c (zerol): Remove variable.
18507         (minus_zerol): New variable.
18508         (test_long_double): Use minus_zerol instead of -zerol.
18509         * modules/isnan-tests (Depends-on): Add float.
18510
18511         * tests/test-isnanl.h (zero): Remove variable.
18512         (minus_zero): New variable.
18513         (main): Use minus_zero instead of -zero.
18514         * modules/isnanl-nolibm-tests (Depends-on): Add float.
18515         * modules/isnanl-tests (Depends-on): Add float.
18516
18517         * tests/test-ldexpl.c (zero): Remove variable.
18518         (minus_zero): New variable.
18519         (main): Use minus_zero instead of -zero.
18520         * modules/ldexpl-tests (Depends-on): Add float.
18521
18522         * tests/test-snprintf-posix.h (zerol): Remove variable.
18523         (minus_zerol): New variable.
18524         (test_function): Use minus_zerol instead of -zerol.
18525         * modules/snprintf-posix-tests (Depends-on): Add float.
18526         * modules/vsnprintf-posix-tests (Depends-on): Add float.
18527
18528         * tests/test-sprintf-posix.h (zerol): Remove variable.
18529         (minus_zerol): New variable.
18530         (test_function): Use minus_zerol instead of -zerol.
18531         * modules/sprintf-posix-tests (Depends-on): Add float.
18532         * modules/vsprintf-posix-tests (Depends-on): Add float.
18533
18534         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
18535         (minus_zerol): New variable.
18536         (test_function): Use minus_zerol instead of -zerol.
18537         * modules/vasnprintf-posix-tests (Depends-on): Add float.
18538
18539         * tests/test-vasprintf-posix.c (zerol): Remove variable.
18540         (minus_zerol): New variable.
18541         (test_function): Use minus_zerol instead of -zerol.
18542         * modules/vasprintf-posix-tests (Depends-on): Add float.
18543
18544 2008-10-07  Simon Josefsson  <simon@josefsson.org>
18545
18546         * MODULES.html.sh (Support for building documentation): Mention
18547         pmccabe2html.  Sort entries.
18548
18549         Add pmccabe2html module, from gnupdf.
18550         * build-aux/pmccabe.css: New file.
18551         * build-aux/pmccabe2html: New file.
18552         * m4/pmccabe2html.m4: New file.
18553         * modules/pmccabe2html: New file.
18554
18555 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
18556
18557         flock: new module
18558         * MODULES.html.sh: Add to list of modules.
18559         * lib/flock.c: flock implementation for Windows and Unix systems
18560         which have fcntl.
18561         * doc/glibc-functions/flock.texi: Update documentation.
18562         * lib/sys_file.in.h: <sys/file.h> header file.
18563         * m4/flock.m4: M4 macros.
18564         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
18565         * modules/flock: flock module.
18566         * modules/flock-tests: flock tests module.
18567         * modules/sys_file: sys/file.h module.
18568         * tests/test-flock.c: test suite for flock.
18569
18570 2008-10-06  Jim Meyering  <meyering@redhat.com>
18571
18572         bootstrap: check for LT_INIT more portably still ;-)
18573         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
18574         Spotted by Bruno Haible.
18575
18576 2008-10-06  Eric Blake  <ebb9@byu.net>
18577
18578         test-signbit: avoid tripping Irix cc bug on -0.0L
18579         * tests/test-signbit.c (minus_zerol): Delete, and replace with
18580         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
18581         entire testsuite consistent and avoids an Irix 6.2 bug.
18582
18583 2008-10-05  Bruno Haible  <bruno@clisp.org>
18584             Jim Meyering  <jim@meyering.net>
18585
18586         Add an option for ignoring EPIPE during close_stdout.
18587         * lib/closeout.h: Include <stdbool.h>.
18588         (close_stdout_set_ignore_EPIPE): New declaration.
18589         * lib/closeout.c: Include <stdbool.h>.
18590         (ignore_EPIPE): New variable.
18591         (close_stdout_set_ignore_EPIPE): New function.
18592         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
18593         * lib/close-stream.c (close_stream): Mention the possible EPIPE
18594         failure.
18595         * modules/closeout (Depends-on): Add stdbool.
18596
18597 2008-10-05  Bruno Haible  <bruno@clisp.org>
18598
18599         * modules/accept: New file.
18600         * modules/bind: New file.
18601         * modules/connect: New file.
18602         * modules/getpeername: New file.
18603         * modules/getsockname: New file.
18604         * modules/getsockopt: New file.
18605         * modules/listen: New file.
18606         * modules/recv: New file.
18607         * modules/recvfrom: New file.
18608         * modules/send: New file.
18609         * modules/sendto: New file.
18610         * modules/setsockopt: New file.
18611         * modules/socket: New file.
18612         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
18613         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
18614         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
18615         the particular module is requested. Add a link warning when the
18616         particular module is not requested.
18617         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
18618         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
18619         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
18620         the particular module is requested.
18621         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
18622         gl_SYS_SOCKET_H_DEFAULTS): New macros.
18623         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
18624         * modules/sys_socket (Depends-on): Add link-warning.
18625         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
18626         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
18627         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
18628         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
18629         GL_LINK_WARNING.
18630         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
18631         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
18632         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
18633         * doc/posix-functions/getpeername.texi: Mention the new module
18634         'getpeername'.
18635         * doc/posix-functions/getsockname.texi: Mention the new module
18636         'getsockname'.
18637         * doc/posix-functions/getsockopt.texi: Mention the new module
18638         'getsockopt'.
18639         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
18640         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
18641         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
18642         * doc/posix-functions/send.texi: Mention the new module 'send'.
18643         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
18644         * doc/posix-functions/setsockopt.texi: Mention the new module
18645         'setsockopt'.
18646         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
18647         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
18648         listen, connect, accept.
18649         * modules/select-tests (Depends-on): Likewise.
18650
18651 2008-10-05  Bruno Haible  <bruno@clisp.org>
18652
18653         * lib/winsock.c (strerror): Remove unused #undef.
18654         (rpl_close): Remove unused local variable.
18655
18656         * modules/sys_socket (Depends-on); Add errno.
18657
18658 2008-10-05  Bruno Haible  <bruno@clisp.org>
18659
18660         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
18661         (select): Add a link warning when the 'select' module is not used.
18662         * modules/sys_select (Depends-on): Add link-warning.
18663         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
18664         Suggested by Paolo Bonzini.
18665
18666 2008-10-05  Jim Meyering  <meyering@redhat.com>
18667
18668         bootstrap: check for LT_INIT more portably
18669         * build-aux/bootstrap: Avoid using grep -E, since it's not
18670         portable enough.  Suggestion from Bruno Haible.
18671
18672 2008-10-05  Bruno Haible  <bruno@clisp.org>
18673
18674         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
18675         as being fixed by gnulib.
18676
18677 2008-10-05  Bruno Haible  <bruno@clisp.org>
18678
18679         * modules/select-tests: New file, mostly copied from
18680         modules/sys_select-tests.
18681         * tests/test-select.c: New file, mostly copied from
18682         tests/test-sys_select.c.
18683         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
18684         * modules/sys_select-tests (Depends-on): Remove all dependencies.
18685         (Makefile.am): Remove test_sys_select_LDADD.
18686
18687         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
18688         to an undefined symbol, for an error message.
18689         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
18690         (gl_SYS_SELECT_H_DEFAULTS): New macro.
18691         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
18692         winsock-select.c here.
18693         * modules/sys_select (Files): Remove lib/winsock-select.c.
18694         (Depends-on): Remove alloca.
18695         (Makefile.am): Substitute GNULIB_SELECT.
18696         * modules/select: New file.
18697         * doc/posix-functions/select.texi: Update.
18698
18699 2008-10-05  Bruno Haible  <bruno@clisp.org>
18700
18701         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
18702         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
18703         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
18704         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
18705         getdtablesize.
18706         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18707         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18708
18709 2008-10-05  Bruno Haible  <bruno@clisp.org>
18710
18711         * modules/getdtablesize-tests: New file.
18712         * tests/test-getdtablesize.c: New file.
18713
18714         New module 'getdtablesize'.
18715         * lib/unistd.in.h (getdtablesize): New declaration.
18716         * lib/getdtablesize.c: New file.
18717         * m4/getdtablesize.m4: New file.
18718         * modules/getdtablesize: New file.
18719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18720         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
18721         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
18722         HAVE_GETDTABLESIZE.
18723         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
18724
18725 2008-10-05  Bruno Haible  <bruno@clisp.org>
18726
18727         * modules/sched (Makefile.am): Fix typo.
18728         Reported by Simon Josefsson.
18729
18730 2008-10-05  Jim Meyering  <meyering@redhat.com>
18731
18732         bootstrap: check for LT_INIT, too
18733         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
18734         are deprecated.  Suggestion from Ralf Wildenhues.
18735
18736 2008-10-05  Bruno Haible  <bruno@clisp.org>
18737
18738         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
18739         overriding them by ours.
18740         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
18741
18742 2008-10-05  Jim Meyering  <meyering@redhat.com>
18743
18744         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
18745         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
18746         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
18747
18748 2008-10-04  Bruno Haible  <bruno@clisp.org>
18749
18750         * modules/dup2 (License): Change to LGPLv2+.
18751         * modules/sleep (License): Likewise.
18752         * modules/perror (License): Likewise.
18753         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
18754         Blake.
18755         * modules/signal (License): Likewise.
18756         * modules/sigprocmask (License): Likewise.
18757         * modules/raise (License): Change to LGPLv2+, with approval by Jim
18758         Meyering.
18759
18760 2008-10-04  Bruno Haible  <bruno@clisp.org>
18761
18762         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
18763         Reported by Rainer Tammer <tammer@tammer.net>.
18764
18765 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
18766             Bruno Haible  <bruno@clisp.org>
18767
18768         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
18769         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
18770         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
18771
18772 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
18773
18774         filevercmp: new module
18775         * lib/filevercmp.h: New function filevercmp comparing version strings.
18776         * lib/filevercmp.c: Implementation of filevercmp function.
18777         * modules/filevercmp: Module metadata.
18778         * tests/test-filevercmp.c: Unit test for new module.
18779         * modules/filevercmp-tests: Unit test metadata.
18780         * MODULES.html.sh: Add filevercmp module.
18781
18782 2008-10-03  Bruno Haible  <bruno@clisp.org>
18783
18784         * lib/c-ctype.h: Add comment.
18785         Reported by Jim Meyering.
18786
18787 2008-10-02  Bruno Haible  <bruno@clisp.org>
18788
18789         * modules/posix_spawn-internal (Depends-on): Add 'open'.
18790
18791 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18792
18793         * build-aux/bootstrap: Allow renaming bootstrap, and change the
18794         name of bootstrap.conf accordingly.
18795
18796 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18797
18798         * build-aux/bootstrap: Install git-merge-changelog configuration
18799         items into .gitconfig if needed.
18800
18801 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
18802
18803         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
18804         git repository, and initialize/update it accordingly.
18805
18806 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
18807
18808         * modules/fsync-tests: New file.
18809         * tests/test-fsync.c: New file.
18810
18811         New module 'fsync'.
18812         * lib/fsync.c: New file.
18813         * m4/fsync.m4: New file.
18814         * modules/fsync: New file.
18815         * lib/unistd.in.h (fsync): New declaration.
18816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
18817         GNULIB_FSYNC and HAVE_FSYNC.
18818         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
18819         * MODULES.html.sh (posix_functions): Add fsync.
18820         * doc/posix-functions/fsync.texi: Mention the new module.
18821
18822 2008-10-02  Jim Meyering  <meyering@redhat.com>
18823
18824         fts.c: sync with similar code from coreutils' remove.c
18825         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
18826         Guard also with "#if defined __linux__", since for now at least,
18827         this code is Linux-kernel-specific.
18828
18829 2008-10-02  Jim Meyering  <meyering@redhat.com>
18830
18831         fts: bug fixes
18832         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
18833         Include <sys/vfs.h>, not <sys/statfs.h>.
18834
18835         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
18836         Include <sys/vfs.h>, not <sys/statfs.h>.
18837
18838 2008-10-01  Bruno Haible  <bruno@clisp.org>
18839
18840         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
18841         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
18842         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
18843         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
18844         * doc/posix-functions/posix_spawnp.texi: Likewise.
18845         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
18846         whether posix_spawn actually works.
18847         * m4/pipe.m4 (gl_PIPE): Likewise.
18848         * modules/execute (Files): Add m4/posix_spawn.m4.
18849         * modules/pipe (Files): Add m4/posix_spawn.m4.
18850         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
18851
18852 2008-10-01  Jim Meyering  <meyering@redhat.com>
18853
18854         remove trailing spaces
18855         * NEWS: Likewise.
18856         * lib/poll.c (poll): Likewise.
18857         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
18858         * lib/winsock.c (rpl_close): Likewise.
18859         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
18860         * modules/yield: Likewise.
18861         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
18862         * tests/test-sys_select.c (connect_to_socket): Likewise.
18863
18864         fts.c: adjust a new interface to be more generally useful
18865         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
18866         (fts_build): Adjust caller.
18867
18868 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18869
18870         * modules/cond-tests: New file.
18871         * tests/test-cond.c: New file.
18872
18873 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18874             Bruno Haible  <bruno@clisp.org>
18875
18876         * modules/cond (Dependencies): Add errno, time.
18877         * lib/glthread/cond.h: Include <time.h>.
18878         (gl_cond_define, gl_cond_define_initialized): Use the same definition
18879         across platforms.
18880
18881 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18882             Bruno Haible  <bruno@clisp.org>
18883
18884         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
18885
18886 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18887             Bruno Haible  <bruno@clisp.org>
18888
18889         * modules/tls-tests (Depends-on): Add thread, yield.
18890         (configure.ac): Remove all checks.
18891         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
18892         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
18893         gl_thread_self): Remove definitions. Include glthread/thread.h and
18894         glthread/yield.h instead.
18895         (test_tls): Pass an additional NULL argument to gl_thread_join.
18896
18897 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18898             Bruno Haible  <bruno@clisp.org>
18899
18900         * modules/lock-tests (Depends-on): Add thread, yield.
18901         (configure.ac): Remove all checks.
18902         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
18903         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
18904         gl_thread_self): Remove definitions. Include glthread/thread.h and
18905         glthread/yield.h instead.
18906         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
18907         additional NULL argument to gl_thread_join.
18908
18909 2008-09-30  Bruno Haible  <bruno@clisp.org>
18910
18911         Fix the Win32 implementation of the 'thread' module.
18912         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
18913         pointer type.
18914         (gl_thread_self): Invoke gl_thread_self_func.
18915         (gl_thread_self_func): New declaration.
18916         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
18917         (do_init_self_key, init_self_key): New functions.
18918         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
18919         Remove some fields.
18920         (running_threads, running_lock): Remove variables.
18921         (get_current_thread_handle): New function.
18922         (gl_thread_self_func, wrapper_func, glthread_create_func,
18923         glthread_join_func, gl_thread_exit_func): Largely rewritten and
18924         simplified.
18925
18926 2008-09-30  Bruno Haible  <bruno@clisp.org>
18927
18928         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
18929         files.
18930
18931 2008-09-30  Jim Meyering  <meyering@redhat.com>
18932
18933         fts.m4: correct the test for statfs.f_type
18934         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
18935         when checking for statfs.f_type.
18936
18937 2008-09-15  Simon Josefsson  <simon@josefsson.org>
18938
18939         tests: avoid some compiler warnings
18940         * tests/test-memchr.c (main): Pass NULL indirectly.
18941         * tests/test-getdate.c (main): Remove unused variable 'ret'.
18942
18943 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
18944
18945         getdate.y: disallow countable dayshifts like "4 yesterday ago"
18946         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
18947         exactly specified dayshifts.
18948         (dayshift): New rule.
18949         (rel): Add dayshift.
18950         (relative_time_table) [tomorrow, yesterday, today, now]:
18951         Use tDAY_SHIFT in place of tDAY_UNIT.
18952         * tests/test-getdate.c: Add tests for now-disallowed countable
18953         dayshifts, e.g., "4 yesterday ago".
18954
18955 2008-09-29  Bruno Haible  <bruno@clisp.org>
18956
18957         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
18958         * tests/test-posix_spawn1.in.sh: Renamed from
18959         tests/test-posix_spawn.in.sh.
18960         * tests/test-posix_spawn2.c: New file.
18961         * tests/test-posix_spawn2.in.sh: New file.
18962         * modules/posix_spawnp-tests (Files): Update.
18963         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
18964
18965 2008-09-29  Bruno Haible  <bruno@clisp.org>
18966
18967         Propagate effects of putenv/setenv/unsetenv to child processes.
18968         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
18969         * lib/pipe.c (create_pipe): Likewise.
18970
18971 2008-09-29  Bruno Haible  <bruno@clisp.org>
18972
18973         Enable use of shell scripts as executables in mingw.
18974         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
18975         run the program as a shell script.
18976         * lib/pipe.c (create_pipe): Likewise.
18977         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
18978         resulting array.
18979
18980 2008-09-29  Eric Blake  <ebb9@byu.net>
18981
18982         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
18983
18984 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
18985
18986         * doc/posix-functions/accept.texi: Update mingw problems.
18987         * doc/posix-functions/bind.texi: Update mingw problems.
18988         * doc/posix-functions/close.texi: Update mingw problems.
18989         * doc/posix-functions/connect.texi: Update mingw problems.
18990         * doc/posix-functions/getpeername.texi: Update mingw problems.
18991         * doc/posix-functions/getsockname.texi: Update mingw problems.
18992         * doc/posix-functions/getsockopt.texi: Update mingw problems.
18993         * doc/posix-functions/ioctl.texi: Update mingw problems.
18994         * doc/posix-functions/listen.texi: Update mingw problems.
18995         * doc/posix-functions/recv.texi: Update mingw problems.
18996         * doc/posix-functions/recvfrom.texi: Update mingw problems.
18997         * doc/posix-functions/select.texi: Update mingw problems.
18998         * doc/posix-functions/send.texi: Update mingw problems.
18999         * doc/posix-functions/sendto.texi: Update mingw problems.
19000         * doc/posix-functions/setsockopt.texi: Update mingw problems.
19001         * doc/posix-functions/socket.texi: Update mingw problems.
19002
19003 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
19004             Bruno Haible  <bruno@clisp.org>
19005
19006         * lib/sys_select.in.h: Include sys/time.h.
19007         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
19008         * modules/sys_select: Depend on sys_time.
19009         * tests/test-sys_select.c: Test that sys/select.h defines struct
19010         timeval fully.
19011
19012 2008-09-29  Bruno Haible  <bruno@clisp.org>
19013
19014         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
19015         * lib/sys_select.in.h: Likewise.
19016
19017 2008-09-29  Bruno Haible  <bruno@clisp.org>
19018
19019         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
19020
19021 2008-09-29  Bruno Haible  <bruno@clisp.org>
19022
19023         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
19024         Set LIBSOCKET instead of augmenting LIBS.
19025         * modules/sockets (Link): New section.
19026         * modules/sockets-tests (test_sockets_LDADD): New variable.
19027         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
19028         * modules/poll-tests (test_poll_LDADD): New variable.
19029         * NEWS: Document the change.
19030
19031 2008-09-29  Bruno Haible  <bruno@clisp.org>
19032
19033         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
19034         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
19035         ARPA_INET_H directly.
19036         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19037
19038 2008-09-28  Bruno Haible  <bruno@clisp.org>
19039
19040         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
19041         from gl_HEADER_SYS_SOCKET.
19042         (gl_HEADER_SYS_SOCKET): Invoke it.
19043         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19044
19045 2008-09-28  Bruno Haible  <bruno@clisp.org>
19046
19047         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
19048         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
19049         Needed on OSF/1 4.0.
19050
19051 2008-09-28  Bruno Haible  <bruno@clisp.org>
19052
19053         Override open more carefully.
19054         * lib/open.c (orig_open): New function.
19055         (rpl_open): Use orig_open instead of open.
19056         * lib/fcntl.in.h: Add special invocation convention.
19057         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
19058         (gl_FUNC_OPEN): Invoke it.
19059
19060         Override freopen more carefully.
19061         * lib/freopen.c (orig_freopen): New function.
19062         (rpl_freopen): Use orig_freopen instead of freopen.
19063         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
19064         (gl_FUNC_FREOPEN): Invoke it.
19065
19066         Override fopen more carefully.
19067         * lib/fopen.c (orig_fopen): New function.
19068         (rpl_fopen): Use orig_fopen instead of fopen.
19069         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
19070         (gl_FUNC_FOPEN): Invoke it.
19071         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
19072
19073 2008-09-28  Bruno Haible  <bruno@clisp.org>
19074
19075         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
19076         SIGPIPE.
19077
19078 2008-09-28  Bruno Haible  <bruno@clisp.org>
19079
19080         * tests/test-sigaction.c (handler, main): Disable the check whether
19081         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
19082         glibc systems with LinuxThreads.
19083
19084 2008-09-28  Bruno Haible  <bruno@clisp.org>
19085
19086         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
19087
19088         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
19089         with AIX xlc.
19090         * lib/fcntl.in.h (open): Likewise.
19091         Reported by Rainer Tammer <tammer@tammer.net>.
19092
19093 2008-09-28  Bruno Haible  <bruno@clisp.org>
19094
19095         * modules/posix_spawnp-tests: New file.
19096         * tests/test-posix_spawn.c: New file.
19097         * tests/test-posix_spawn.in.sh: New file.
19098
19099         New module 'posix_spawnp'.
19100         * modules/posix_spawnp: New file.
19101         * lib/spawnp.c: New file, from GNU libc with modifications.
19102         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
19103
19104         New module 'posix_spawn'.
19105         * modules/posix_spawn: New file.
19106         * lib/spawn.c: New file, from GNU libc with modifications.
19107         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19108
19109         New module 'posix_spawnattr_destroy'.
19110         * modules/posix_spawnattr_destroy: New file.
19111         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
19112         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
19113         module.
19114
19115         New module 'posix_spawnattr_setsigmask'.
19116         * modules/posix_spawnattr_setsigmask: New file.
19117         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
19118         modifications.
19119         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
19120         new module.
19121
19122         New module 'posix_spawnattr_getsigmask'.
19123         * modules/posix_spawnattr_getsigmask: New file.
19124         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
19125         modifications.
19126         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
19127         new module.
19128
19129         New module 'posix_spawnattr_setsigdefault'.
19130         * modules/posix_spawnattr_setsigdefault: New file.
19131         * lib/spawnattr_setdefault.c: New file, from GNU libc with
19132         modifications.
19133         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
19134         new module.
19135
19136         New module 'posix_spawnattr_getsigdefault'.
19137         * modules/posix_spawnattr_getsigdefault: New file.
19138         * lib/spawnattr_getdefault.c: New file, from GNU libc with
19139         modifications.
19140         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
19141         new module.
19142
19143         New module 'posix_spawnattr_setschedpolicy'.
19144         * modules/posix_spawnattr_setschedpolicy: New file.
19145         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
19146         modifications.
19147         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
19148         new module.
19149
19150         New module 'posix_spawnattr_getschedpolicy'.
19151         * modules/posix_spawnattr_getschedpolicy: New file.
19152         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
19153         modifications.
19154         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
19155         new module.
19156
19157         New module 'posix_spawnattr_setschedparam'.
19158         * modules/posix_spawnattr_setschedparam: New file.
19159         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
19160         modifications.
19161         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
19162         new module.
19163
19164         New module 'posix_spawnattr_getschedparam'.
19165         * modules/posix_spawnattr_getschedparam: New file.
19166         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
19167         modifications.
19168         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
19169         new module.
19170
19171         New module 'posix_spawnattr_setpgroup'.
19172         * modules/posix_spawnattr_setpgroup: New file.
19173         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
19174         modifications.
19175         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
19176         module.
19177
19178         New module 'posix_spawnattr_getpgroup'.
19179         * modules/posix_spawnattr_getpgroup: New file.
19180         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
19181         modifications.
19182         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
19183         module.
19184
19185         New module 'posix_spawnattr_setflags'.
19186         * modules/posix_spawnattr_setflags: New file.
19187         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
19188         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
19189         module.
19190
19191         New module 'posix_spawnattr_getflags'.
19192         * modules/posix_spawnattr_getflags: New file.
19193         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
19194         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
19195         module.
19196
19197         New module 'posix_spawnattr_init'.
19198         * modules/posix_spawnattr_init: New file.
19199         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
19200         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
19201         module.
19202
19203         New module 'posix_spawn_file_actions_destroy'.
19204         * modules/posix_spawn_file_actions_destroy: New file.
19205         * lib/spawn_faction_destroy.c: New file, from GNU libc with
19206         modifications.
19207         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
19208         the new module.
19209
19210         New module 'posix_spawn_file_actions_addopen'.
19211         * modules/posix_spawn_file_actions_addopen: New file.
19212         * lib/spawn_faction_addopen.c: New file, from GNU libc with
19213         modifications.
19214         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
19215         the new module.
19216
19217         New module 'posix_spawn_file_actions_adddup2'.
19218         * modules/posix_spawn_file_actions_adddup2: New file.
19219         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
19220         modifications.
19221         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
19222         the new module.
19223
19224         New module 'posix_spawn_file_actions_addclose'.
19225         * modules/posix_spawn_file_actions_addclose: New file.
19226         * lib/spawn_faction_addclose.c: New file, from GNU libc with
19227         modifications.
19228         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
19229         the new module.
19230
19231         New module 'posix_spawn_file_actions_init'.
19232         * modules/posix_spawn_file_actions_init: New file.
19233         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
19234         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
19235         new module.
19236
19237         New module 'posix_spawn-internal'.
19238         * modules/posix_spawn-internal: New file.
19239         * lib/spawn_int.h: New file, from GNU libc with modifications.
19240         * lib/spawni.c: New file, from GNU libc with modifications.
19241         * m4/posix_spawn.m4: New file.
19242
19243         New module 'spawn'.
19244         * modules/spawn: New file.
19245         * lib/spawn.in.h: New file, from GNU libc with modifications.
19246         * m4/spawn_h.m4: New file.
19247         * doc/posix-headers/spawn.texi: Mention the new module.
19248
19249 2008-09-28  Bruno Haible  <bruno@clisp.org>
19250
19251         * modules/sched-tests: New file.
19252         * tests/test-sched.c: New file.
19253
19254         New module 'sched'.
19255         * modules/sched: New file.
19256         * lib/sched.in.h: New file.
19257         * m4/sched_h.m4: New file.
19258         * doc/posix-headers/sched.texi: Mention the new module.
19259
19260 2008-09-27  Eric Blake  <ebb9@byu.net>
19261
19262         Fix previous patch, and tweak references to $0.
19263         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
19264         (func_version, func_gnulib_dir): Don't call this program
19265         gnulib-tool.
19266         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
19267         with using $0 in function.
19268         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
19269         (func_fatal_error): Reuse the name the user invoked us with.
19270
19271 2008-09-27  Bruno Haible  <bruno@clisp.org>
19272
19273         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
19274         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
19275         (gl_ICONV_H): Not here.
19276         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19277         instead of assigning ICONV_H directly.
19278
19279         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
19280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
19281         WCHAR_H directly.
19282
19283 2008-09-27  Bruno Haible  <bruno@clisp.org>
19284
19285         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
19286         * modules/arpa_inet (Depends-on): Add link-warning.
19287         (Makefile.am): Insert the definition of GL_LINK-WARNING.
19288         * modules/unistd (Makefile.am): Likewise.
19289
19290 2008-09-26  Bruno Haible  <bruno@clisp.org>
19291
19292         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
19293         variables.
19294         (func_version): Essentially copied from gnulib-tool.
19295         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
19296         func_readlink): Copied from gnulib-tool.
19297
19298 2008-09-26  Bruno Haible  <bruno@clisp.org>
19299
19300         * gnulib-tool (func_version): Change directory to $gnulib_dir before
19301         invoking git-version-gen.
19302
19303 2008-09-26  Bruno Haible  <bruno@clisp.org>
19304
19305         * posix-modules: Update to directory names changed on 2008-01-19.
19306         Remove commas in output before splitting into words. No more need to
19307         avoid 'ftruncate' since 2007-02-19.
19308
19309 2008-09-26  Bruno Haible  <bruno@clisp.org>
19310
19311         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
19312
19313 2008-09-26  Bruno Haible  <bruno@clisp.org>
19314
19315         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
19316         * modules/fwriteerror (Depends-on): Add errno.
19317
19318 2008-09-26  Bruno Haible  <bruno@clisp.org>
19319
19320         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
19321         * tests/test-vc-list-files-cvs.sh: Likewise.
19322
19323 2008-09-26  Bruno Haible  <bruno@clisp.org>
19324
19325         * doc/posix-headers/sys_resource.texi: Reorder items.
19326
19327 2008-09-26  Jim Meyering  <meyering@redhat.com>
19328
19329         fts: tweak inode comparison function
19330         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
19331         inode numbers, as documented.
19332
19333         fts: sort dirent entries on inode number before traversing
19334         This avoids a quadratic, seek-related performance penalty when
19335         operating on a directory containing many entries (measurable at 10k;
19336         3.5 hours at 2 million entries with a cold cache) on certain types
19337         of file systems, including ext3 and ext4, but not tmpfs.
19338         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
19339         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
19340         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
19341         (fs_handles_readdir_ordered_dirents_efficiently): New function.
19342         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
19343         (fts_build): Set the stat.st_ino member from D_INO.
19344         If it is likely to be useful, sort dirent entries on inode number.
19345
19346         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
19347         and the struct statfs.f_type member.
19348         * modules/fts (Depends-on): Add d-ino.
19349
19350 2008-09-26  Bruno Haible  <bruno@clisp.org>
19351
19352         * modules/sigpipe-die (Depends-on): Add sigpipe.
19353
19354         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
19355         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
19356         and GNULIB_STDIO_H_SIGPIPE are set.
19357         * lib/stdio-write.c: New file.
19358         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
19359         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19360         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19361         REPLACE_STDIO_WRITE_FUNCS.
19362         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
19363         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19364         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19365         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19366         * modules/stdio (Files): Add lib/stdio-write.c.
19367         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
19368         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19369         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19370         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19371         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
19372         REPLACE_FPRINTF_POSIX.
19373         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
19374         REPLACE_PRINTF_POSIX.
19375         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
19376         REPLACE_VFPRINTF_POSIX.
19377         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
19378         REPLACE_VPRINTF_POSIX.
19379         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
19380         SIGPIPE issue.
19381         * doc/posix-functions/fputc.texi: Likewise.
19382         * doc/posix-functions/fputs.texi: Likewise.
19383         * doc/posix-functions/fwrite.texi: Likewise.
19384         * doc/posix-functions/printf.texi: Likewise.
19385         * doc/posix-functions/putc.texi: Likewise.
19386         * doc/posix-functions/putchar.texi: Likewise.
19387         * doc/posix-functions/puts.texi: Likewise.
19388         * doc/posix-functions/vfprintf.texi: Likewise.
19389         * doc/posix-functions/vprintf.texi: Likewise.
19390
19391         * modules/safe-write (Depends-on): Add write.
19392
19393         * modules/sigpipe-tests: New file.
19394         * tests/test-sigpipe.c: New file.
19395         * tests/test-sigpipe.sh: New file.
19396
19397         * modules/write: New file.
19398         * lib/unistd.in.h: Include <sys/types.h>.
19399         (write): New declaration.
19400         * lib/write.c: New file.
19401         * m4/write.m4: New file.
19402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19403         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
19404         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
19405         GNULIB_WRITE, REPLACE_WRITE.
19406         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
19407         and the SIGPIPE issue.
19408
19409         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
19410         (raise): New declaration.
19411         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
19412         (ext_signal): New function.
19413         (rpl_raise): New function.
19414         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
19415         GNULIB_SIGNAL_H_SIGPIPE.
19416         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
19417         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
19418
19419         * modules/sigpipe: New file.
19420         * m4/sigpipe.m4: New file.
19421
19422 2008-09-25  Derek Price  <derek@ximbiot.com>
19423             Bruno Haible  <bruno@clisp.org>
19424
19425         * gnulib-tool (func_import): Report all license incompatibilities, not
19426         just the first one.
19427
19428 2008-09-25  Bruno Haible  <bruno@clisp.org>
19429
19430         * gnulib-tool (func_import): When computing the edits, consider not
19431         only the Makefile.ams that exist but also those that will be generated.
19432
19433 2008-09-25  Simon Josefsson  <simon@josefsson.org>
19434
19435         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
19436         fixes gnulib-tool --test warning about duplicate dependency.
19437
19438 2008-09-25  Bruno Haible  <bruno@clisp.org>
19439
19440         * gnulib-tool: Don't ask the user to perform edits in the generated
19441         Makefile.ams.
19442         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
19443         apply to the Makefile.am being generated.
19444         (func_emit_tests_Makefile_am): Execute edits that apply to the
19445         Makefile.am being generated.
19446         (func_import): Setup list of Makefile.am edits before emitting the
19447         Makefile.ams, not at the end.
19448         (func_create_testdir): Update.
19449         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19450
19451 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19452
19453         * gnulib-tool (func_import): Store the --tests-base option in the
19454         comment in gnulib-cache.m4.
19455
19456 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
19457
19458         * NEWS: Document increased portability that sys_select now provides.
19459
19460         * lib/sys_select.in.h: Install select wrapper.
19461         * lib/sys_socket.in.h: Use more descriptive name when there is no
19462         select wrapper.
19463         * lib/winsock-select.c: New.
19464         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
19465         Require gl_HEADER_SYS_SOCKET.
19466         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
19467         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
19468         * tests/test-sys_select.c: Add functional tests.
19469
19470 2008-09-24  Eric Blake  <ebb9@byu.net>
19471
19472         open, fopen: close fd leak in last patch
19473         * lib/open.c (rpl_open): Close fd before returning error.
19474         * lib/fopen.c (rpl_fopen): Close fd before returning error.
19475         * doc/posix-functions/open.texi (open): Document that Irix also
19476         has the bug.
19477         * doc/posix-functions/fopen.texi (fopen): Likewise.
19478         Reported by Paolo Bonzini.
19479
19480 2008-09-24  Bruno Haible  <bruno@clisp.org>
19481
19482         Ensure that a filename ending in a slash cannot be used to access a
19483         non-directory.
19484         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
19485         to check whether it's really a directory.
19486         * lib/fopen.c: Include fcntl.h, unistd.h.
19487         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
19488         and fdopen().
19489         * modules/fopen (Depends-on): Add unistd.
19490         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
19491         * tests/test-fopen.c (main): Likewise.
19492         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
19493         * doc/posix-functions/fopen.texi: Likewise.
19494         Reported by Eric Blake.
19495
19496 2008-09-23  Eric Blake  <ebb9@byu.net>
19497
19498         c-stack: avoid compiler optimizations when provoking overflow
19499         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
19500         recursion harder to optimize, to ensure a stack overflow occurs.
19501         * tests/test-c-stack.c (recurse): Likewise.
19502         Borrowed from libsigsegv.
19503
19504         c-stack: work around Irix sigaltstack bug
19505         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
19506         whether sigaltstack uses wrong end of stack_t (copied in part from
19507         libsigsegv).
19508         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
19509         Irix bug, without requiring an over-allocation.
19510         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
19511         bug.
19512
19513         fopen: document mingw bug on directories
19514         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
19515         not allowing a stream visiting a directory, even though reading
19516         from such a stream is not portable.
19517
19518 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19519
19520         * lib/poll.c: Rewrite.
19521         * modules/poll: Depend on alloca.
19522
19523 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19524
19525         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
19526         instead define prototypes for a full set of wrappers.  Ensure
19527         that Cygwin does not use the compatibility code, which is only
19528         for MinGW.
19529         * lib/winsock.c: New.
19530         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
19531         * modules/sys_socket: Add lib/winsock.c.
19532
19533         * modules/poll-tests: Add errno and perror.
19534         * tests/test-poll.c: Use ioctl, not ioctlsocket.
19535
19536 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
19537
19538         * tests/test-poll.c: Downgrade minimum needed Winsock version.
19539
19540 2008-09-23  Bruno Haible  <bruno@clisp.org>
19541
19542         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
19543         * doc/glibc-functions/*: Likewise.
19544
19545 2008-09-23  Simon Josefsson  <simon@josefsson.org>
19546
19547         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
19548         success.
19549
19550 2008-09-22  Eric Blake  <ebb9@byu.net>
19551             Bruno Haible  <bruno@clisp.org>
19552
19553         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
19554         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
19555         supply %A but mishandle pseudo-NaN.
19556         Reported by Simon Josefsson.
19557
19558 2008-09-21  Bruno Haible  <bruno@clisp.org>
19559
19560         * tests/test-lock.c (main): Tweak skip message.
19561         * tests/test-tls.c (main): Likewise.
19562
19563 2008-09-21  Bruno Haible  <bruno@clisp.org>
19564
19565         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
19566         whether 'struct sigaction' has sa_sigaction here...
19567         (gl_PREREQ_SIG_HANDLER_H): ... not here.
19568         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
19569
19570 2008-09-21  Bruno Haible  <bruno@clisp.org>
19571
19572         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
19573         section.
19574         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
19575         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
19576         the new section.
19577         (Support for obsolete systems lacking POSIX:2001): New section.
19578         (String handling <string.h>): Move strdup to the new section.
19579         Suggested by Simon Josefsson and Paolo Bonzini.
19580
19581 2008-09-21  Bruno Haible  <bruno@clisp.org>
19582
19583         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
19584         exponents in %e and %g results on 'long double'. Needed for mingw's
19585         improved *printf functions.
19586         * tests/test-vasprintf-posix.c (test_function): Likewise.
19587         * tests/test-snprintf-posix.h (test_function): Likewise.
19588         * tests/test-sprintf-posix.h (test_function): Likewise.
19589         Reported by Eric Blake.
19590
19591 2008-09-21  Bruno Haible  <bruno@clisp.org>
19592
19593         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
19594         * tests/test-sprintf-posix.h (test_function): Likewise.
19595
19596 2008-09-21  Bruno Haible  <bruno@clisp.org>
19597
19598         * modules/getpass (Depends-on): Add strdup-posix.
19599
19600         New module 'strdup-posix'.
19601         * modules/strdup-posix: New file.
19602         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
19603         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
19604         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19605         REPLACE_STRDUP.
19606         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
19607         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
19608         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19609         strdup-posix.
19610
19611         * modules/strdup (Depends-on): Remove malloc-posix.
19612
19613 2008-09-20  Bruno Haible  <bruno@clisp.org>
19614
19615         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
19616         Wildenhues.
19617
19618 2008-09-20  Bruno Haible  <bruno@clisp.org>
19619
19620         Ensure that wint_t gets defined on IRIX 5.3.
19621         * lib/wchar.in.h (wint_t): Define if not defined by the system.
19622         * lib/wctype.in.h (wint_t): Likewise.
19623         (__wctype_wint_t): Remove type.
19624         (isw*): Use wint_t instead of __wctype_wint_t.
19625         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
19626         * modules/wchar (Files): Add m4/wint_t.m4.
19627         (Makefile.am): Substitute HAVE_WINT_T.
19628         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
19629         * tests/test-wctype.c: Check that wint_t is defined.
19630         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
19631         * doc/posix-headers/wctype.texi: Likewise.
19632         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19633
19634 2008-09-18  Bruno Haible  <bruno@clisp.org>
19635
19636         * gnulib-tool (func_exit): Update comment.
19637
19638 2008-09-18  Simon Josefsson  <simon@josefsson.org>
19639
19640         * modules/getaddrinfo (Depends-on): Remove strdup, this module
19641         assumes strdup exists and does not depend on strdup to return
19642         ENOMEM on out of memory conditions.
19643
19644 2008-09-18  Bruno Haible  <bruno@clisp.org>
19645
19646         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
19647         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
19648         digits for the exponent.
19649
19650 2008-09-18  Jim Meyering  <meyering@redhat.com>
19651             Bruno Haible  <bruno@clisp.org>
19652
19653         * lib/vasnprintf.c (decimal_point_char): Define also if
19654         NEED_PRINTF_INFINITE_LONG_DOUBLE.
19655
19656 2008-09-16  Bruno Haible  <bruno@clisp.org>
19657         and Eric Blake  <ebb9@byu.net>
19658
19659         vasnprintf: support Irix 5.3
19660         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
19661         that mishandle long double infinity.
19662         Reported by Tom G. Christensen.
19663
19664 2008-09-16  Bruno Haible  <bruno@clisp.org>
19665
19666         * doc/glibc-functions/scandir.texi: Mention the function is missing on
19667         Solaris 9.
19668         * doc/glibc-functions/alphasort.texi: Likewise.
19669         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
19670
19671 2008-09-16  Jim Meyering  <meyering@redhat.com>
19672
19673         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
19674         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
19675         a umask modification leak out of a subshell.  Otherwise, the
19676         opensolaris /bin/sh would be accepted and thus cause unwarranted
19677         failures in the coreutils test suite.
19678
19679 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
19680
19681         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
19682         to succeed.
19683
19684 2008-09-16  Jim Meyering  <meyering@redhat.com>
19685
19686         avoid spurious test failure when library is built without ACL support
19687         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
19688         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
19689         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
19690         * tests/test-copy-acl.sh: Likewise.
19691
19692 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19693
19694         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
19695         based on character occurrence counts.
19696
19697 2008-09-15  Eric Blake  <ebb9@byu.net>
19698
19699         tests: avoid some compiler warnings
19700         * tests/test-memchr.c (main): Pass NULL indirectly.
19701         * tests/test-closein.c (main): Avoid unused variable.
19702
19703 2008-09-15  Bruno Haible  <bruno@clisp.org>
19704
19705         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
19706         are missing on OpenBSD 4.0 individually.
19707         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19708
19709 2008-09-15  Bruno Haible  <bruno@clisp.org>
19710
19711         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
19712         * doc/posix-functions/strerror.texi: Mention also Cygwin.
19713         * doc/posix-functions/perror.texi: Likewise.
19714         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
19715         is missing.
19716         Reported by Eric Blake.
19717
19718         * lib/errno.in.h: Use replacement values >= 2000.
19719         Reported by Eric Blake.
19720
19721 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19722
19723         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
19724         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
19725         limit.
19726         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
19727         compareseq was aborted.
19728
19729 2008-09-14  Bruno Haible  <bruno@clisp.org>
19730
19731         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
19732         yvec_edit_count.
19733         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
19734         (fstrcmp_bounded): Simplify result computation accordingly.
19735
19736 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19737
19738         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
19739         (fstrcmp): Define in terms of fstrcmp_bounded.
19740         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
19741         lower_bound argument.
19742         Return quickly if the result is certainly < lower_bound.
19743         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
19744
19745 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19746
19747         * lib/diffseq.h (EARLY_ABORT): New macro.
19748         (compareseq): Change return type to bool. Return true when EARLY_ABORT
19749         evaluates to true.
19750
19751 2008-09-14  Bruno Haible  <bruno@clisp.org>
19752
19753         * modules/perror-tests: New file.
19754         * tests/test-perror.sh: New file.
19755         * tests/test-perror.c: New file.
19756
19757         New module 'perror'.
19758         * lib/stdio.in.h (perror): New declaration.
19759         * lib/perror.c: New file.
19760         * m4/perror.m4: New file.
19761         * modules/perror: New file.
19762         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
19763         * doc/posix-functions/perror.texi: Mention the perror module.
19764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
19765         REPLACE_PERROR.
19766         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
19767         REPLACE_PERROR.
19768
19769 2008-09-14  Bruno Haible  <bruno@clisp.org>
19770
19771         * modules/stdio (Makefile.am): Reorder to match the order in
19772         lib/stdio.in.h.
19773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19774
19775 2008-09-13  Bruno Haible  <bruno@clisp.org>
19776
19777         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
19778
19779 2008-09-13  Bruno Haible  <bruno@clisp.org>
19780
19781         Extend strerror to cover the added errno values.
19782         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
19783         (rpl_strerror): Provide error messages for the added errno values and
19784         for the WSA* values.
19785         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
19786         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
19787         strerror.
19788         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
19789         * modules/strerror (Depends-on): Add errno.
19790         * doc/posix-functions/strerror.texi: Document the change.
19791         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
19792         and EOVERFLOW.
19793
19794 2008-09-13  Bruno Haible  <bruno@clisp.org>
19795
19796         * modules/EOVERFLOW: Remove file.
19797         * m4/eoverflow.m4: Remove file.
19798         * modules/EOVERFLOW-tests: Remove file.
19799         * tests/test-EOVERFLOW.c: Remove file.
19800         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
19801         * modules/ftell (Depends-on): Likewise.
19802         * modules/getdelim (Depends-on): Likewise.
19803         * modules/getugroups (Depends-on): Likewise.
19804         * modules/poll (Depends-on): Likewise.
19805         * modules/snprintf (Depends-on): Likewise.
19806         * modules/sprintf-posix (Depends-on): Likewise.
19807         * modules/vasnprintf (Depends-on): Likewise.
19808         * modules/vasprintf (Depends-on): Likewise.
19809         * modules/vfprintf-posix (Depends-on): Likewise.
19810         * modules/vsnprintf (Depends-on): Likewise.
19811         * modules/vsprintf-posix (Depends-on): Likewise.
19812         * modules/xvasprintf (Depends-on): Likewise.
19813         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19814         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
19815         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
19816         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
19817         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19818         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
19819         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
19820         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
19821         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19822         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
19823         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
19824         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
19825         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19826         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
19827         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
19828         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
19829         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19830         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
19831         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
19832         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
19833         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19834         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
19835         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
19836         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
19837         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
19838         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19839         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
19840         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
19841         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
19842         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
19843         * MODULES.html.sh: Remove EOVERFLOW.
19844         * NEWS: Mention the change.
19845
19846 2008-09-13  Bruno Haible  <bruno@clisp.org>
19847
19848         * modules/errno-tests: New file.
19849         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
19850
19851         * lib/errno.in.h: New file.
19852         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
19853         * modules/errno: New file.
19854         * doc/posix-headers/errno.texi: Update documentation.
19855         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
19856
19857 2008-09-13  Bruno Haible  <bruno@clisp.org>
19858
19859         * tests/test-poll.c: Use #if for native Windows, rather than testing
19860         __MSVCRT__.
19861
19862 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19863             Bruno Haible  <bruno@clisp.org>
19864
19865         * lib/glob.c: Don't include <pwd.h> on native Windows.
19866         (WINDOWS32): New macro.
19867         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
19868
19869 2008-09-13  Bruno Haible  <bruno@clisp.org>
19870
19871         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
19872         (ETIMEDOUT): Remove macro.
19873         (glthread_cond_timedwait_multithreaded): New declaration.
19874         (glthread_cond_timedwait): Use it.
19875         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
19876         (glthread_cond_timedwait_multithreaded): New function.
19877
19878 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19879
19880         * modules/poll-tests: Do not check for io.h.
19881         * tests/test-poll.c: Check for __MSVCRT__ instead.
19882
19883 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19884
19885         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
19886         * modules/poll-tests: Add inet_pton, stdbool, sockets.
19887         * tests/test-poll.c: Use them.  Use _pipe on Windows.
19888
19889 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
19890
19891         * modules/poll-tests: New.
19892         * tests/test-poll.c: New.
19893
19894 2008-09-12  Eric Blake  <ebb9@byu.net>
19895
19896         frexp: test for NetBSD failure on -0.0
19897         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
19898         not all, bugs from NetBSD 3.0 have been fixed.
19899         * doc/posix-functions/frexp.texi (frexp): Document bug.
19900         Reported by Thomas Klausner.
19901
19902         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
19903         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
19904         literal -0.0.
19905         Reported by Jonathan C. Patschke <jp@centtech.com>.
19906
19907 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19908
19909         * lib/glthread/cond.h: Use dummy implementation also if
19910         USE_WIN32_THREADS.
19911
19912 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19913
19914         * modules/fnmatch-posix (License): Change to LGPLv2+.
19915         * modules/fnmatch-gnu (License): Likewise.
19916
19917 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19918
19919         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
19920
19921 2008-09-11  Jim Meyering  <meyering@redhat.com>
19922
19923         * users.txt: Add gtk-vnc.
19924
19925 2008-09-08  Simon Josefsson  <simon@josefsson.org>
19926
19927         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
19928         rotate amounts.
19929
19930         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
19931         required for 16-bit and 8-bit rotates.
19932         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
19933         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
19934         UINT8_MAX instead of hard-coded constants.
19935         Suggested by Paul Eggert.
19936
19937 2008-09-07  Bruno Haible  <bruno@clisp.org>
19938
19939         * tests/test-striconveh.c (main): Check behaviour when converting from
19940         UTF-7.
19941
19942         Make striconveh work better with stateful encodings.
19943         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
19944         that iconv does not increment the inptr when returning -1/EINVAL.
19945
19946 2008-09-07  Bruno Haible  <bruno@clisp.org>
19947
19948         * build-aux/config.rpath: Update according to libtool-2.2.6.
19949         * build-aux/config.libpath: Likewise.
19950
19951 2008-09-06  Bruno Haible  <bruno@clisp.org>
19952
19953         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
19954         * lib/freadptr.c (freadptr): Likewise.
19955         * lib/freadseek.c (freadptrinc): Likewise.
19956         Reported by Simon Josefsson.
19957
19958 2008-09-06  Bruno Haible  <bruno@clisp.org>
19959
19960         * modules/freadptr (License): Change to LGPLv2+.
19961         * modules/freadseek (License): Likewise.
19962         Suggested by Eric Blake.
19963
19964         * modules/memchr2 (License): Change to LGPLv2+.
19965         Approved by Eric Blake.
19966
19967 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19968             Bruno Haible  <bruno@clisp.org>
19969
19970         Make gnulib-tool work with native 'sed' on AIX.
19971         * gnulib-tool (sed_noop): New variable.
19972         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
19973         func_add_or_update, func_create_testdir): Use it to initialize sed
19974         script variables.
19975         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19976
19977 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
19978             Bruno Haible  <bruno@clisp.org>
19979
19980         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
19981         also works after #include directives.
19982
19983 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
19984
19985         getdate.y: reject an out-of-range timezone value
19986         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
19987         the range [-24...+24].  When specified with only one or two digits,
19988         * tests/test-getdate.c: Tests for the fix.
19989         * doc/getdate.texi: Document this change.
19990
19991 2008-09-03  Bruno Haible  <bruno@clisp.org>
19992
19993         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
19994
19995 2008-09-02  Simon Josefsson  <simon@josefsson.org>
19996
19997         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
19998         <bruce.korb@gmail.com> with ideas from Ben Pfaff
19999         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
20000         Blake <ebb9@byu.net>.
20001
20002         * tests/test-bitrotate.c: Add more test vectors.
20003
20004 2008-09-02  Eric Blake  <ebb9@byu.net>
20005
20006         vasnprintf-posix: handle large precision via %.*d
20007         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
20008         when handling it ourselves.
20009         * tests/test-vasnprintf-posix.c (test_function): Add test.
20010         * tests/test-snprintf-posix.h (test_function): Likewise.
20011         * tests/test-sprintf-posix.h (test_function): Likewise.
20012         * tests/test-vasprintf-posix.c (test_function): Likewise.
20013         Reported by Alain Guibert.
20014
20015 2008-09-01  Eric Blake  <ebb9@byu.net>
20016
20017         c-stack: make configure-time check more robust
20018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
20019         successful sigaction call.
20020         Reported by Tom G. Christensen.
20021
20022 2008-09-01  Bruno Haible  <bruno@clisp.org>
20023
20024         New module 'findprog-lgpl'.
20025         * modules/findprog-lgpl: New file.
20026         * lib/findprog-lgpl.c: New file.
20027         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
20028         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
20029         to decide whether to use strdup or xstrdup, concatenated_filename or
20030         xconcatenated_filename.
20031
20032 2008-09-01  Bruno Haible  <bruno@clisp.org>
20033
20034         Split module 'concat-filename' into 'concat-filename' (LGPL) and
20035         'xconcat-filename' (GPL).
20036         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
20037         (License): Change to LGPLv2+.
20038         * modules/xconcat-filename: New file.
20039         * lib/concat-filename.h (concatenated_filename): Change specification.
20040         (xconcatenated_filename): New declaration.
20041         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
20042         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
20043         memory situations.
20044         * lib/xconcat-filename.c: New file.
20045         * NEWS: Mention the change.
20046         * lib/findprog.c: Include concat-filename.h, not filename.h.
20047         (find_in_path): Use xconcatenated_filename instead of
20048         concatenated_filename.
20049         * lib/javacomp.c: Include concat-filename.h, not filename.h.
20050         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
20051         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
20052         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
20053         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
20054         instead of concatenated_filename.
20055         * lib/javaexec.c: Include concat-filename.h, not filename.h.
20056         (execute_java_class): Use xconcatenated_filename instead of
20057         concatenated_filename.
20058         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
20059         * modules/javacomp (Depends-on): Likewise.
20060         * modules/javaexec (Depends-on): Likewise.
20061
20062 2008-09-01  Bruno Haible  <bruno@clisp.org>
20063
20064         Split module 'filename' into 'filename' and 'concat-filename'.
20065         * modules/filename: Keep only lib/filename.h.
20066         (License): Change to LGPLv2+.
20067         * modules/concat-filename: New file, extracted from modules/filename.
20068         * lib/filename.h (concatenated_filename): Remove declaration.
20069         * lib/concat-filename.h: New file, extracted from lib/filename.h.
20070         * lib/concat-filename.c: Include concat-filename.h.
20071         * NEWS: Mention the change.
20072
20073 2008-09-01  Simon Josefsson  <simon@josefsson.org>
20074
20075         * lib/bitrotate.h (rotl8, rotr8): Add.
20076
20077         * modules/bitrotate (configure.ac): Need
20078         AC_REQUIRE([AC_C_INLINE]).
20079         (Description): Mention stdint.h.  Reported by Bruno Haible
20080         <bruno@clisp.org>.
20081
20082         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
20083         Paolo Bonzini <bonzini@gnu.org>.
20084
20085 2008-08-31  Bruno Haible  <bruno@clisp.org>
20086
20087         Assume Solaris specific bi-arch conventions on Solaris systems.
20088         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
20089         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
20090         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
20091         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
20092         like acl_libdirstem.
20093         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
20094         acl_libdirstem.
20095         * NEWS: Mention the change.
20096         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
20097
20098 2008-08-31  Jim Meyering  <meyering@redhat.com>
20099
20100         * lib/strftime.h: Add comments describing the two added arguments.
20101
20102         remove duplicate #include directives
20103         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
20104         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
20105
20106 2008-08-31  Bruno Haible  <bruno@clisp.org>
20107
20108         New module 'sigpipe-die'.
20109         * modules/sigpipe-die: New file.
20110         * lib/sigpipe-die.h: New file.
20111         * lib/sigpipe-die.c: New file.
20112         * MODULES.html.sh (Signal handling): Add sigpipe-die.
20113
20114 2008-08-31  Bruno Haible  <bruno@clisp.org>
20115
20116         Don't override previously installed signal handlers.
20117         * lib/fatal-signal.c (saved_sigactions): New variable.
20118         (uninstall_handlers): Reset the signal to the saved handler, not
20119         to SIG_DFL (except when ignored).
20120         (install_handlers): Save the previous handlers.
20121
20122 2008-08-30  Bruno Haible  <bruno@clisp.org>
20123
20124         * gnulib-tool (func_reset_sigpipe): New function.
20125         (func_get_automake_snippet, func_modules_transitive_closure,
20126         func_import): Invoke it before a join command that reads from stdin,
20127         to avoid "echo: write error: Broken pipe" error messages on stderr.
20128         Reported by Sam Steingold <sds@gnu.org>.
20129
20130 2008-08-30  Bruno Haible  <bruno@clisp.org>
20131
20132         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
20133         Code copied from m4/open.m4.
20134         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
20135         access and the filename ends in a slash. Code copied from lib/open.c.
20136         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
20137         * tests/test-fopen.c (main): Check against bug with trailing slash.
20138
20139 2008-08-29  Bruno Haible  <bruno@clisp.org>
20140
20141         Avoid some "gcc -pedantic" warnings.
20142         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
20143         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
20144         * lib/dirent.in.h: Likewise.
20145         * lib/fcntl.in.h: Likewise.
20146         * lib/float.in.h: Likewise.
20147         * lib/iconv.in.h: Likewise.
20148         * lib/inttypes.in.h: Likewise.
20149         * lib/locale.in.h: Likewise.
20150         * lib/math.in.h: Likewise.
20151         * lib/netinet_in.in.h: Likewise.
20152         * lib/search.in.h: Likewise.
20153         * lib/signal.in.h: Likewise.
20154         * lib/stdarg.in.h: Likewise.
20155         * lib/stdint.in.h: Likewise.
20156         * lib/stdio.in.h: Likewise.
20157         * lib/stdlib.in.h: Likewise.
20158         * lib/string.in.h: Likewise.
20159         * lib/strings.in.h: Likewise.
20160         * lib/sys_select.in.h: Likewise.
20161         * lib/sys_socket.in.h: Likewise.
20162         * lib/sys_stat.in.h: Likewise.
20163         * lib/sys_time.in.h: Likewise.
20164         * lib/sysexits.in.h: Likewise.
20165         * lib/time.in.h: Likewise.
20166         * lib/unistd.in.h: Likewise.
20167         * lib/wchar.in.h: Likewise.
20168         * lib/wctype.in.h: Likewise.
20169         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
20170         * modules/fchdir (Makefile.am): Likewise.
20171         * modules/fcntl (Makefile.am): Likewise.
20172         * modules/float (Makefile.am): Likewise.
20173         * modules/iconv_open (Makefile.am): Likewise.
20174         * modules/inttypes (Makefile.am): Likewise.
20175         * modules/locale (Makefile.am): Likewise.
20176         * modules/math (Makefile.am): Likewise.
20177         * modules/netinet_in (Makefile.am): Likewise.
20178         * modules/search (Makefile.am): Likewise.
20179         * modules/signal (Makefile.am): Likewise.
20180         * modules/stdarg (Makefile.am): Likewise.
20181         * modules/stdint (Makefile.am): Likewise.
20182         * modules/stdio (Makefile.am): Likewise.
20183         * modules/stdlib (Makefile.am): Likewise.
20184         * modules/string (Makefile.am): Likewise.
20185         * modules/strings (Makefile.am): Likewise.
20186         * modules/sys_select (Makefile.am): Likewise.
20187         * modules/sys_socket (Makefile.am): Likewise.
20188         * modules/sys_stat (Makefile.am): Likewise.
20189         * modules/sys_time (Makefile.am): Likewise.
20190         * modules/sysexits (Makefile.am): Likewise.
20191         * modules/time (Makefile.am): Likewise.
20192         * modules/unistd (Makefile.am): Likewise.
20193         * modules/wchar (Makefile.am): Likewise.
20194         * modules/wctype (Makefile.am): Likewise.
20195         Reported by Reuben Thomas <rrt@sc3d.org>.
20196
20197 2008-08-29  Bruno Haible  <bruno@clisp.org>
20198
20199         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
20200         any more.
20201
20202 2008-08-29  Simon Josefsson  <simon@josefsson.org>
20203
20204         * MODULES.html.sh (Misc): Add bitrotate.
20205
20206         * modules/bitrotate: New file.
20207
20208         * lib/bitrotate.h: New file.
20209
20210         * modules/bitrotate-tests: New file.
20211
20212         * tests/test-bitrotate.c: New file.
20213
20214         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
20215         on the bitrotate module.
20216
20217         * lib/arctwo.c: Use new bitrotate module.
20218
20219 2008-08-29  Jim Meyering  <meyering@redhat.com>
20220
20221         bootstrap: merge changes from coreutils
20222         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
20223         of copied files.  Remove a kludge, now that this is fixed.
20224         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
20225         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
20226         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
20227
20228 2008-08-29  Bruno Haible  <bruno@clisp.org>
20229
20230         * MODULES.html.sh: Remove --cvs-urls option.
20231
20232 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
20233
20234         maint.mk: adjust to file name change
20235         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
20236
20237 2008-08-28  Jim Meyering  <meyering@redhat.com>
20238
20239         * modules/getndelim2 (License): Relicense to LGPLv2+.
20240         Approved by Richard Stallman for the version of 1995, and by
20241         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
20242
20243 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
20244
20245         * lib/getdelim.c (flockfile, funlockfile): Make all of them
20246         dummy if one is not available.  Do not touch them if
20247         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
20248         (getc_maybe_unlocked): New.
20249         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
20250
20251 2008-08-26  Eric Blake  <ebb9@byu.net>
20252
20253         doc/INSTALL: resync from autoconf
20254         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
20255         (INSTALL_PRELUDE): Delete; this is done more efficiently by
20256         moving...
20257         * install.texi [!autoconf]: ...here.  Resync from autoconf.
20258         * INSTALL: Regenerate.
20259         * INSTALL.ISO: New file.
20260         * INSTALL.UTF-8: Likewise.
20261
20262 2008-08-26  Jim Meyering  <meyering@redhat.com>
20263
20264         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
20265         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
20266         these definitions conditional, so that they may be overridden, too.
20267
20268 2008-08-26  Bruno Haible  <bruno@clisp.org>
20269
20270         Generate INSTALL file variants with prettier quotes.
20271         * doc/Makefile (INSTALL_PRELUDE): New macro.
20272         (INSTALL): Use it.
20273         (INSTALL.ISO, INSTALL.UTF-8): New rules.
20274
20275 2008-08-26  Bruno Haible  <bruno@clisp.org>
20276
20277         Run makeinfo in an English locale.
20278         * doc/Makefile (MAKEINFO): New variable.
20279
20280 2008-08-26  Bruno Haible  <bruno@clisp.org>
20281
20282         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
20283         Suggested by Eric Blake.
20284
20285 2008-08-25  Bruno Haible  <bruno@clisp.org>
20286
20287         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
20288
20289 2008-08-25  Eric Blake  <ebb9@byu.net>
20290
20291         c-stack: test that stack overflow can be caught
20292         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
20293         that platform allows handling stack overflow; at least OS/2 EMX
20294         has sigaltstack, but crashes before transferring control to
20295         handler on stack overflow.
20296         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
20297         check for HAVE_STACK_OVERFLOW_HANDLING.
20298         Reported by Elbert Pol.
20299
20300 2008-08-25  Bruno Haible  <bruno@clisp.org>
20301
20302         * doc/posix-functions/strftime.texi: Fix description of strftime
20303         module.
20304
20305 2008-08-24  Bruno Haible  <bruno@clisp.org>
20306
20307         * tests/uniwidth/test-uc_width2.c: New file.
20308         * tests/uniwidth/test-uc_width2.sh: New file.
20309         * modules/uniwidth/width-tests (Files): Add the new files.
20310         (TESTS): Add uniwidth/test-uc_width2.sh.
20311         (TESTS_ENVIRONMENT): New variable.
20312         (check_PROGRAMS): Add test-uc_width2.
20313         (test_uc_width2_SOURCES): New variable.
20314
20315         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
20316         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
20317         not 0x00AB.
20318         Reported by Alexander V. Lukyanov <lav@netis.ru>.
20319
20320 2008-08-22  Eric Blake  <ebb9@byu.net>
20321
20322         test-lock, test-tls: mention why a test is skipped
20323         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
20324         skipped.
20325         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
20326
20327         count-one-bits: relax license
20328         * modules/count-one-bits (License): Relicense to LGPLv2+.
20329         Suggested by Ludovic Courtès, approved by Ben Pfaff.
20330
20331 2008-08-22  Andreas Schwab  <schwab@suse.de>
20332
20333         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20334         Remove spurious space in assignment.
20335
20336 2008-08-21  Simon Josefsson  <simon@josefsson.org>
20337
20338         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
20339         Paul Eggert <eggert@CS.UCLA.EDU>.
20340
20341 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
20342
20343         * modules/gettext: Add m4/threadlib.m4.
20344
20345 2008-08-19  Eric Blake  <ebb9@byu.net>
20346
20347         test-c-stack: fix compilation failure on FreeBSD 5.0
20348         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
20349         headers before <sys/resource.h>.
20350         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
20351         the bug.
20352         Reported by Nelson H. F. Beebe.
20353
20354         strverscmp: migrate from "strverscmp.h" to <string.h>
20355         * modules/string (Makefile.am): Add new hooks.
20356         * modules/strverscmp (Files): Remove strverscmp.h.
20357         (Depends-on): Add string.
20358         (configure.ac): Add indicator.
20359         (Include): Mention new header.
20360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
20361         defaults.
20362         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
20363         results.
20364         * lib/strverscmp.h: Delete.
20365         * lib/string.in.h (strverscmp): Provide declaration, when needed.
20366         * tests/test-strverscmp.c (includes): Adjust client.
20367         * lib/check-version.c (includes): Likewise.
20368         * NEWS: Document the change.
20369
20370         strverscmp: add unit test
20371         * modules/strverscmp-tests: New file.
20372         * tests/test-strverscmp.c: Likewise.
20373
20374 2008-08-19  Simon Josefsson  <simon@josefsson.org>
20375
20376         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
20377         regarding Windows crypto stuff, from Mono.
20378
20379 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
20380
20381         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
20382         if present, for intel RND.  Return error on failures.
20383
20384 2008-08-18  Ben Pfaff  <blp@gnu.org>
20385
20386         gitlog-to-changelog: give better diagnostic for failed pipe-open
20387         * build-aux/gitlog-to-changelog: Improve error message: suggest
20388         that the version of Git may be too old.
20389
20390 2008-08-18  Simon Josefsson  <simon@josefsson.org>
20391
20392         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
20393         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
20394
20395 2008-08-18  Bruno Haible  <bruno@clisp.org>
20396
20397         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
20398         pthread_in_use().
20399
20400 2008-08-18  Bruno Haible  <bruno@clisp.org>
20401
20402         * lib/glthread/threadlib.c: Include <pthread.h>.
20403
20404 2008-08-18  Bruno Haible  <bruno@clisp.org>
20405
20406         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
20407         glthread_recursive_lock_* macros.
20408         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
20409         Fix syntax error.
20410
20411 2008-08-18  Bruno Haible  <bruno@clisp.org>
20412
20413         * lib/glthread/thread.c: Avoid forcing a context switch right after
20414         thread creation.
20415
20416 2008-08-17  Bruno Haible  <bruno@clisp.org>
20417
20418         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
20419         * lib/glthread/thread.h: Provide Win32 specific implementation.
20420         * modules/thread (Files): Add lib/glthread/thread.c.
20421         (Depends-on): Add lock.
20422         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
20423
20424 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20425
20426         New module 'yield'.
20427         * modules/yield: New file.
20428         * lib/glthread/yield.h: New file.
20429         * m4/yield.m4: New file.
20430         * MODULES.html.sh (Multithreading): Add yield.
20431
20432 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20433
20434         New module 'thread'.
20435         * modules/thread: New file.
20436         * lib/glthread/thread.h: New file.
20437         * m4/thread.m4: New file.
20438         * MODULES.html.sh (Multithreading): Add thread.
20439
20440 2008-08-17  Bruno Haible  <bruno@clisp.org>
20441
20442         * lib/glthread/lock.h: Include <stdlib.h> always.
20443         * lib/glthread/tls.h: Likewise.
20444         * lib/glthread/cond.h: Likewise.
20445
20446 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20447
20448         New module 'cond'.
20449         * modules/cond: New file.
20450         * lib/glthread/cond.h: New file.
20451         * lib/glthread/cond.c: New file.
20452         * m4/cond.m4: New file.
20453         * MODULES.html.sh (Multithreading): Add cond.
20454
20455 2008-08-16  Eric Blake  <ebb9@byu.net>
20456
20457         c-stack: fix regression on Irix 5.3 from 2008-06-21
20458         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
20459         sa_sigaction...
20460         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
20461         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
20462         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
20463         * modules/signal (Makefile.am): Use the value.
20464         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
20465         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
20466         * doc/posix-headers/signal.texi (signal.h): Document this
20467         portability issue.
20468         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
20469         Reported by Tom G. Christensen.
20470
20471 2008-08-17  Bruno Haible  <bruno@clisp.org>
20472
20473         New module 'threadlib'.
20474         * modules/threadlib: New file.
20475         * lib/glthread/threadlib.c: New file, extracted from
20476         lib/glthread/lock.c.
20477         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
20478         functions.
20479         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
20480         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
20481         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
20482         macros.
20483         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
20484         (gl_DISABLE_THREADS): Remove macro.
20485         * modules/lock (Files): Remove build-aux/config.rpath.
20486         (Depends-on): Remove havelib. Add threadlib.
20487         (configure.ac-early): Remove section.
20488         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
20489         * modules/tls (Depends-on): Remove lock. Add threadlib.
20490         (Link): New section, copied from threadlib.
20491         * MODULES.html.sh (Multithreading): Add threadlib.
20492
20493 2008-08-14  Bruno Haible  <bruno@clisp.org>
20494
20495         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
20496         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
20497         glthread_rwlock_unlock, glthread_rwlock_destroy,
20498         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
20499         glthread_recursive_lock_destroy): Define as macros always.
20500         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
20501         glthread_lock_lock.
20502         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
20503         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
20504         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
20505         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
20506         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
20507         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
20508         (glthread_recursive_lock_lock_func): Renamed from
20509         glthread_recursive_lock_lock.
20510         (glthread_recursive_lock_unlock_func): Renamed from
20511         glthread_recursive_lock_unlock.
20512         (glthread_recursive_lock_destroy_func): Renamed from
20513         glthread_recursive_lock_destroy.
20514
20515 2008-08-14  Bruno Haible  <bruno@clisp.org>
20516
20517         * lib/glthread/lock.h: Renamed from lib/lock.h.
20518         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
20519         * lib/glthread/tls.h: Renamed from lib/tls.h.
20520         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
20521         * lib/fstrcmp.c: Update includes.
20522         * lib/strsignal.c: Update includes.
20523         * modules/lock (Files, Makefile.am): Update.
20524         (Include): Change to "glthread/lock.h".
20525         * modules/tls (Files, Makefile.am): Update.
20526         (Include): Change to "glthread/tls.h".
20527         * tests/test-lock.c: Update includes.
20528         * tests/test-tls.c: Update includes.
20529         * NEWS: Mention the renamed header files.
20530
20531 2008-08-11  Jim Meyering  <meyering@redhat.com>
20532
20533         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
20534
20535 2008-08-11  Eric Blake  <ebb9@byu.net>
20536
20537         test-c-stack: avoid C99-ism
20538         * tests/test-c-stack.c (main): Fix whitespace, move declaration
20539         before statement.
20540         Reported by Alain Guibert.
20541
20542 2008-08-10  Jim Meyering  <meyering@redhat.com>
20543
20544         ensure that return value of uinttostr et al are not ignored
20545         * lib/inttostr.h (__GNUC_PREREQ): Define.
20546         (__attribute_warn_unused_result__): Define.
20547         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
20548
20549 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
20550
20551         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
20552         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
20553
20554 2008-08-07  Jim Meyering  <meyering@redhat.com>
20555
20556         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
20557
20558         * modules/mkstemp (License): Relicense under LGPLv2+.
20559         * modules/tempname (License): Likewise.
20560
20561 2008-08-06  Bruno Haible  <bruno@clisp.org>
20562
20563         * lib/poll.c (poll): Further micro-optimization.
20564
20565 2008-08-06  Jim Meyering  <meyering@redhat.com>
20566
20567         inet_pton.c: use locale-independent tolower
20568         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
20569         (inet_pton6): Use c_tolower rather than tolower.
20570         * modules/inet_pton (Depends-on): Add c-ctype.
20571
20572 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
20573
20574         * lib/poll.c (poll): Avoid division when timeout is 0, cache
20575         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
20576
20577 2008-08-06  Jim Meyering  <meyering@redhat.com>
20578
20579         * modules/inet_pton (License): Relicense under LGPLv2+.
20580
20581 2008-08-03  Bruno Haible  <bruno@clisp.org>
20582
20583         Additional non-aborting API for lock and tls.
20584         * lib/lock.h: Include <errno.h>.
20585         (glthread_lock_init): New macro/function.
20586         (gl_lock_init): Define as wrapper around glthread_lock_init.
20587         (glthread_lock_lock): New macro/function.
20588         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
20589         (glthread_lock_unlock): New macro/function.
20590         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
20591         (glthread_lock_destroy): New macro/function.
20592         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
20593         (glthread_rwlock_init): New macro/function.
20594         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
20595         (glthread_rwlock_rdlock): New macro/function.
20596         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
20597         (glthread_rwlock_wrlock): New macro/function.
20598         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
20599         (glthread_rwlock_unlock): New macro/function.
20600         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
20601         (glthread_rwlock_destroy): New macro/function.
20602         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
20603         (glthread_recursive_lock_init): New macro/function.
20604         (gl_recursive_lock_init): Define as wrapper around
20605         glthread_recursive_lock_init.
20606         (glthread_recursive_lock_lock): New macro/function.
20607         (gl_recursive_lock_lock): Define as wrapper around
20608         glthread_recursive_lock_lock.
20609         (glthread_recursive_lock_unlock): New macro/function.
20610         (gl_recursive_lock_unlock): Define as wrapper around
20611         glthread_recursive_lock_unlock.
20612         (glthread_recursive_lock_destroy): New macro/function.
20613         (gl_recursive_lock_destroy): Define as wrapper around
20614         glthread_recursive_lock_destroy.
20615         (glthread_once): New macro/function.
20616         (gl_once): Define as wrapper around glthread_once.
20617         Update function declarations.
20618         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
20619         glthread_rwlock_init. Return error code.
20620         (glthread_rwlock_rdlock_multithreaded): Renamed from
20621         glthread_rwlock_rdlock. Return error code.
20622         (glthread_rwlock_wrlock_multithreaded): Renamed from
20623         glthread_rwlock_wrlock. Return error code.
20624         (glthread_rwlock_unlock_multithreaded): Renamed from
20625         glthread_rwlock_unlock. Return error code.
20626         (glthread_rwlock_destroy_multithreaded): Renamed from
20627         glthread_rwlock_destroy. Return error code.
20628         (glthread_recursive_lock_init_multithreaded): Renamed from
20629         glthread_recursive_lock_init. Return error code.
20630         (glthread_recursive_lock_lock_multithreaded): Renamed from
20631         glthread_recursive_lock_lock. Return error code.
20632         (glthread_recursive_lock_unlock_multithreaded): Renamed from
20633         glthread_recursive_lock_unlock. Return error code.
20634         (glthread_recursive_lock_destroy_multithreaded): Renamed from
20635         glthread_recursive_lock_destroy. Return error code.
20636         (glthread_once_call): Make static.
20637         (glthread_once_multithreaded): Renamed from glthread_once.
20638         * lib/tls.h: Include <errno.h>.
20639         (glthread_tls_key_init): New macro/function.
20640         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
20641         (glthread_tls_set): New macro/function.
20642         (gl_tls_set): Define as wrapper around glthread_tls_set.
20643         (glthread_tls_key_destroy): New macro/function.
20644         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
20645         Update function declarations.
20646         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
20647         glthread_tls_get.
20648         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
20649
20650 2008-08-04  Eric Blake  <ebb9@byu.net>
20651
20652         gnumakefile: use space, not TAB, outside of targets
20653         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
20654
20655 2008-08-02  Jim Meyering  <meyering@redhat.com>
20656
20657         getdate.y: avoid locale-dependent date parsing failure
20658         In Turkish locales, getdate would fail to recognize keywords
20659         containing a lowercase "i".  The solution is not to rely on
20660         locale-sensitive case-conversion.
20661         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
20662         (lookup_word): Use c_toupper in place of toupper.
20663         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
20664         Reported by Vefa Bicakci <bicave@superonline.com> in
20665         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
20666         * modules/getdate (Depends-on): Add c-ctype.
20667
20668 2008-08-02  Bruno Haible  <bruno@clisp.org>
20669
20670         * gnulib-tool (func_import): When updating or creating a .gitignore
20671         file, prepend each added line with a slash, and ignore leading slashes
20672         from the existing lines.
20673         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
20674
20675 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20676
20677         Portability fix for GNU make 3.79.1.
20678         * top/GNUmakefile: Avoid 'else COND', which older GNU make
20679         versions do not understand.
20680
20681 2008-08-01  Bruno Haible  <bruno@clisp.org>
20682
20683         Work around bug of HP-UX 10.20 cc with -0.0 literal.
20684         * tests/test-isnanf.h (zero): New variable.
20685         (main): Avoid literal -0.0f.
20686         * tests/test-isnand.h (zero): New variable.
20687         (main): Avoid literal -0.0.
20688         * tests/test-isnanl.h (zero): New variable.
20689         (main): Avoid literal -0.0L.
20690         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
20691         (test_float, test_double, test_long_double): Avoid literals -0.0f,
20692         -0.0, -0.0L.
20693         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
20694         (test_signbitd): Avoid literal -0.0.
20695         (test_signbitl): Avoid literal -0.0L.
20696         * tests/test-ceilf1.c (zero): New variable.
20697         (main): Avoid literal -0.0f.
20698         * tests/test-ceill.c (zero): New variable.
20699         (main): Avoid literal -0.0L.
20700         * tests/test-floorf1.c (zero): New variable.
20701         (main): Avoid literal -0.0f.
20702         * tests/test-floorl.c (zero): New variable.
20703         (main): Avoid literal -0.0L.
20704         * tests/test-roundf1.c (zero): New variable.
20705         (main): Avoid literal -0.0f.
20706         * tests/test-round1.c (zero): New variable.
20707         (main): Avoid literal -0.0.
20708         * tests/test-roundl.c (zero): New variable.
20709         (main): Avoid literal -0.0L.
20710         * tests/test-truncf1.c (zero): New variable.
20711         (main): Avoid literal -0.0f.
20712         * tests/test-trunc1.c (zero): New variable.
20713         (main): Avoid literal -0.0.
20714         * tests/test-truncl.c (zero): New variable.
20715         (main): Avoid literal -0.0L.
20716         * tests/test-frexp.c (zero): New variable.
20717         (main): Avoid literal -0.0.
20718         * tests/test-frexpl.c (zero): New variable.
20719         (main): Avoid literal -0.0L.
20720         * tests/test-ldexpl.c (zero): New variable.
20721         (main): Avoid literal -0.0L.
20722         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
20723         (zerod, zerol): New variables.
20724         (test_function): Avoid literals -0.0, -0.0L.
20725         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
20726         (zerod, zerol): New variables.
20727         (test_function): Avoid literals -0.0, -0.0L.
20728         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
20729         (zerod, zerol): New variables.
20730         (test_function): Avoid literals -0.0, -0.0L.
20731         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
20732         (zerod, zerol): New variables.
20733         (test_function): Avoid literals -0.0, -0.0L.
20734         * tests/test-strtod.c (zero): New variable.
20735         (main): Avoid literal -0.0.
20736         Reported by Jonathan C. Patschke <jp@centtech.com>.
20737
20738 2008-07-31  Jim Meyering  <meyering@redhat.com>
20739
20740         sha256.h: correct definition of SHA224_DIGEST_SIZE
20741         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
20742         Reported by Paulie Pena IV <paulie4@gmail.com>.
20743         Define as 224 / 8, rather than as a literal.
20744         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
20745         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
20746         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
20747
20748 2008-07-31  Bruno Haible  <bruno@clisp.org>
20749
20750         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
20751         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
20752         Reported by Jonathan Patschke <jp@centtech.com>.
20753
20754 2008-07-31  Bruno Haible  <bruno@clisp.org>
20755
20756         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
20757         Reported by Paolo Bonzini <bonzini@gnu.org>.
20758
20759 2008-07-30  Eric Blake  <ebb9@byu.net>
20760
20761         test-strtod: allow compilation without -lm
20762         * tests/test-strtod.c (main): Avoid link dependence on fabs.
20763         Reported by Dennis Clarke <blastwave@gmail.com>.
20764
20765 2008-07-28  Jim Meyering  <meyering@redhat.com>
20766
20767         bootstrap: work also when there are no .po files in po/
20768         * build-aux/bootstrap (update_po_files): Complete the change
20769         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
20770
20771 2008-07-27  Jim Meyering  <meyering@redhat.com>
20772
20773         * users.txt: Add zile.
20774
20775 2008-07-26  Ben Pfaff  <blp@gnu.org>
20776
20777         Add missing dependencies on new m4/exponent[fdl].m4 files.
20778         * modules/isnanf-nolibm: Add m4/exponentf.m4.
20779         * modules/isnand-nolibm: Add m4/exponentd.m4.
20780         * modules/isnanl-nolibm: Add m4/exponentl.m4.
20781         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
20782         m4/isnan[fdl].m4, because the macros actually used moved.
20783         Reported by Jim Meyering.
20784
20785 2008-07-14  Ben Pfaff  <blp@gnu.org>
20786
20787         Add isinf module.
20788         * lib/isinf.c: New file.
20789         * lib/math.in.h: Define isinf macro if we have decided to replace
20790         it.
20791         * m4/isinf.m4: New file.
20792         * m4/math_h.m4: Initialize and substitute variables for isinf
20793         module.
20794         * modules/isinf: New file.
20795         * modules/isinf-tests: New file.
20796         * modules/math: Add substitutions for new module.
20797         * tests/test-isinf.c: New file.
20798         * doc/posix-functions/isinf.texi: Mention new module.
20799         * MODULES.html.sh: Mention new module.
20800
20801 2008-07-14  Ben Pfaff  <blp@gnu.org>
20802
20803         Factor out some macros for use by additional modules.
20804         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
20805         exponentf.m4.
20806         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
20807         exponentd.m4.
20808         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
20809         file exponentl.m4.
20810         * m4/exponentf.m4: New file.
20811         * m4/exponentd.m4: New file.
20812         * m4/exponentl.m4: New file.
20813         * modules/isnanf: Use new file m4/exponentf.m4.
20814         * modules/isnand: Use new file m4/exponentd.m4.
20815         * modules/isnanl: Use new file m4/exponentl.m4.
20816
20817 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
20818
20819         mktime.c: normalize tp->tm_isdst value to -1/0/1.
20820         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
20821         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
20822         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
20823
20824         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
20825         readlink on platforms without PATH_MAX.
20826
20827 2008-07-21  Eric Blake  <ebb9@byu.net>
20828
20829         Warn, not fail, on stale version.
20830         * top/GNUmakefile (_curr-ver): Tone down previous patch.
20831
20832         Don't allow installation with stale devel version number.
20833         * top/GNUmakefile (_is-install-target): New macro.
20834         (_curr-ver): Forbid installation with stale version number.
20835
20836 2008-07-20  Bruno Haible  <bruno@clisp.org>
20837
20838         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
20839         TESTS_ENVIRONMENT.
20840         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
20841
20842 2008-07-20  Bruno Haible  <bruno@clisp.org>
20843
20844         * lib/c-stack.h (c_stack_action): Add documentation.
20845         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
20846
20847 2008-07-20  Bruno Haible  <bruno@clisp.org>
20848
20849         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
20850         * modules/readlink (License): Likewise.
20851
20852 2008-07-17  Eric Blake  <ebb9@byu.net>
20853
20854         * modules/c-stack (Link): Fix typo.
20855
20856         Make c-stack use libsigsegv, when available.
20857         * modules/c-stack (Depends-on): Add libsigsegv.
20858         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
20859         needed.
20860         * lib/c-stack.c (SIGSTKSZ): Define fallback.
20861         (segv_handler, overflow_handler, c_stack_action)
20862         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
20863         implementation when libsigsegv is available, but only when using
20864         the library is necessary.
20865         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
20866         comment, explaining why XSI check fails on Linux.
20867         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
20868         * tests/test-c-stack2.sh: Tweak skip message.
20869         * NEWS: Document new link-time requirements.
20870
20871 2008-07-16  Eric Blake  <ebb9@byu.net>
20872
20873         c-stack: Expose false positives when not using libsigsegv.
20874         * modules/c-stack-tests (Files): Expand test.
20875         * tests/test-c-stack.c (main): Add means to conditionally trigger
20876         non-overflow SIGSEGV.
20877         * tests/test-c-stack2.sh: New file.
20878
20879 2008-07-14  Bruno Haible  <bruno@clisp.org>
20880
20881         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
20882         Reported by Eric Blake.
20883
20884 2008-07-14  Sam Steingold  <sds@gnu.org>
20885             Bruno Haible  <bruno@clisp.org>
20886
20887         New module libsigsegv.
20888         * modules/libsigsegv: New file.
20889         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
20890         modifications.
20891         * MODULES.html.sh (Signal handling): New section.
20892
20893 2008-07-14  Bruno Haible  <bruno@clisp.org>
20894
20895         * modules/unictype/ctype-* (Description): Add the word "function".
20896         Improves the resulting doc in MODULES.html.
20897
20898 2008-07-12  Ben Pfaff  <blp@gnu.org>
20899
20900         Add longlong module.
20901         * modules/longlong: New file.
20902
20903 2008-07-12  Bruno Haible  <bruno@clisp.org>
20904
20905         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
20906         to empty.
20907
20908 2008-07-10  Ben Pfaff  <blp@gnu.org>
20909
20910         Add isnan module.
20911         * doc/posix-functions/isnan.texi: Mention new module.
20912         * lib/math.in.h: Define isnan macro if we have decided to replace
20913         it.
20914         * m4/isnan.m4: New file.
20915         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
20916         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
20917         also.
20918         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
20919         redundancy.
20920         * m4/math_h.m4: Initialize and substitute variables for isnan
20921         module.
20922         * modules/isnan: New file.
20923         * modules/isnan-tests: New file.
20924         * modules/math: Add substitutions for new module.
20925         * tests/test-isnan.c: New file.
20926         * MODULES.html.sh: Mention new module.
20927
20928 2008-07-10  Ben Pfaff  <blp@gnu.org>
20929
20930         Add isnanf module.
20931         * lib/isnanf.m4: New file.
20932         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
20933         (gl_HAVE_ISNANF_IN_LIBM): New macro.
20934         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
20935         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
20936         * modules/isnanf: New file.
20937         * modules/isnanf-tests: New file.
20938         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
20939         files.
20940         * tests/test-isnanf-nolibm.c: factored most of its contents into
20941         new file tests/test-isnanf.h.
20942         * tests/test-isnanf.h: New file.
20943         * tests/test-isnanf.c: New file.
20944         * MODULES.html.sh: Mention new module.
20945         * doc/glibc-functions/isnanf.texi: Mention new module.
20946
20947 2008-07-10  Ben Pfaff  <blp@gnu.org>
20948
20949         Add isnand module.
20950         * lib/isnand.h: New file.
20951         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
20952         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
20953         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
20954         functionality also.
20955         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
20956         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
20957         (gl_HAVE_ISNAND_IN_LIBM): New macro.
20958         * modules/isnand: New file.
20959         * modules/isnand-tests: New file.
20960         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
20961         files.
20962         * tests/test-isnand-nolibm.c: factored most of its contents into
20963         new file tests/test-isnand.h.
20964         * tests/test-isnand.h: New file.
20965         * tests/test-isnand.c: New file.
20966         * MODULES.html.sh: Mention new module.
20967
20968 2008-07-10  Ben Pfaff  <blp@gnu.org>
20969
20970         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
20971         * lib/isnand.h: Rename lib/isnand-nolibm.h.
20972         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
20973         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
20974         * modules/isnanf-nolibm: Update references to renamed files.
20975         * modules/isnand-nolibm: Likewise.
20976         * modules/isnanf-nolibm-tests: Likewise.
20977         * modules/isnand-nolibm-tests: Likewise.
20978         * lib/frexp.c: Likewise.
20979         * lib/isfinite.c: Likewise.
20980         * lib/signbitd.c: Likewise.
20981         * lib/signbitf.c: Likewise.
20982         * lib/vasnprintf.c: Likewise.
20983         * tests/test-ceilf1.c: Likewise.
20984         * tests/test-ceilf2.c: Likewise.
20985         * tests/test-floorf1.c: Likewise.
20986         * tests/test-floorf2.c: Likewise.
20987         * tests/test-frexp.c: Likewise.
20988         * tests/test-round1.c: Likewise.
20989         * tests/test-round2.c: Likewise.
20990         * tests/test-roundf1.c: Likewise.
20991         * tests/test-strtod.c: Likewise.
20992         * tests/test-trunc1.c: Likewise.
20993         * tests/test-trunc2.c: Likewise.
20994         * tests/test-truncf1.c: Likewise.
20995         * tests/test-truncf2.c: Likewise.
20996         * NEWS: Mention the renamed header files.
20997
20998 2008-07-11  Jim Meyering  <meyering@redhat.com>
20999
21000         vc-list-files: make the last-resort awk code more portable
21001         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
21002         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
21003         does not support it.
21004
21005 2008-07-10  Eric Blake  <ebb9@byu.net>
21006
21007         Work with tar's bootstrap.
21008         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
21009         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
21010         an m4 comment.
21011
21012 2008-07-09  Jim Meyering  <meyering@redhat.com>
21013
21014         posix-shell.m4: fix typo that made this test malfunction
21015         * m4/posix-shell.m4: Remove capitalization in variable name.
21016
21017 2008-07-08  Bruno Haible  <bruno@clisp.org>
21018
21019         * m4/onceonly.m4: Update comments.
21020         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21021
21022 2008-07-04  Jim Meyering  <meyering@redhat.com>
21023
21024         * users.txt: Add vc-dwim.
21025         (bison, coreutils): Use the gitweb URL.
21026
21027 2008-07-03  Jim Meyering  <meyering@redhat.com>
21028
21029         * users.txt: Add libffcall.  From Sam Steingold.
21030
21031 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
21032
21033         getdate.y: do not ignore TZ with relative day, month or year offset
21034         * lib/getdate.y (get_date): Move the tz-handling block to follow the
21035         relative-date-handling, since otherwise, the latter would clobber the
21036         sole output (an updated Start value) of the tz-handling block.
21037         * tests/test-getdate.c: Tests for the fix
21038
21039 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21040
21041         Recognize 'foo_LIBRARIES += libgnu.a'.
21042         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
21043         makefile snippet has already specified an installation location,
21044         also using '+='.
21045
21046 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
21047
21048         getdate.y: factor out common actions
21049         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
21050         Use them in place of open-coded actions.
21051
21052 2008-07-01  Simon Josefsson  <simon@josefsson.org>
21053
21054         Add self-test for getdate module.
21055         * modules/getdate-tests: New file.
21056         * tests/test-getdate.c: New file.
21057
21058 2008-06-29  Bruno Haible  <bruno@clisp.org>
21059
21060         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
21061         .gitignore.
21062         Reported by Sylvain Beucler <beuc@beuc.net>.
21063
21064 2008-06-29  Bruno Haible  <bruno@clisp.org>
21065
21066         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
21067         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
21068
21069 2008-06-29  Bruno Haible  <bruno@clisp.org>
21070
21071         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
21072         EXTRA_DIST.
21073         Reported by Sylvain Beucler <beuc@beuc.net>.
21074
21075 2008-06-26  Jim Meyering  <meyering@redhat.com>
21076
21077         make several modules depend on the "open" module
21078         This provides slightly increased consistency when opening-for-write
21079         the name of a non-directory spelled with a trailing slash.
21080         * modules/chdir-safer: Likewise.
21081         * modules/chown: Likewise.
21082         * modules/clean-temp: Likewise.
21083         * modules/copy-file: Likewise.
21084         * modules/fchdir: Likewise.
21085         * modules/fcntl-safer: Likewise.
21086         * modules/pipe: Likewise.
21087         * modules/utime: Likewise.
21088         Prompted by Eric Blake and Bruno Haible.
21089
21090 2008-06-24  Andreas Schwab  <schwab@suse.de>
21091
21092         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
21093         literals can be used as initializers for global variables.
21094
21095 2008-06-23  Eric Blake  <ebb9@byu.net>
21096
21097         Make gnulib-cache.m4 easier to diff.
21098         * gnulib-tool (func_import): Allow newlines when reading cached
21099         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
21100
21101 2008-06-23  Bruno Haible  <bruno@clisp.org>
21102
21103         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
21104         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
21105         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
21106         m4/signalblocking.m4.
21107         (gl_PREREQ_SIGACTION): Don't invoke it.
21108         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
21109         gl_PREREQ_SIG_HANDLER_H.
21110         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21111         Don't check for sigaction here.
21112
21113 2008-06-23  Bruno Haible  <bruno@clisp.org>
21114
21115         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
21116         (install_handlers): Don't set the SA_RESETHAND flag.
21117
21118 2008-06-23  Bruno Haible  <bruno@clisp.org>
21119
21120         * m4/sigaction.m4: Comment fixes.
21121         * lib/signal.in.h: Likewise.
21122
21123 2008-06-23  Eric Blake  <ebb9@byu.net>
21124
21125         Fix typo.
21126         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
21127
21128         Avoid SA_ namespace.
21129         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
21130         Reported by Ralf Wildenhues.
21131
21132         Avoid test failure due to SA_RESTORER.
21133         * tests/test-sigaction.c (SA_MASK): New macro.
21134         (main): Avoid failing due to extension flags being set.
21135         Reported by Jim Meyering.
21136
21137         Revert use of sig-handler.h in sigprocmask.c.
21138         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
21139         it requires the existence of struct sigaction.
21140         * lib/sigprocmask.c (handler_t): Restore typedef.
21141         (rpl_signal, old_handlers): Use local type.
21142
21143 2008-06-22  Bruno Haible  <bruno@clisp.org>
21144
21145         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
21146         conditionally.
21147         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21148
21149 2008-06-22  Bruno Haible  <bruno@clisp.org>
21150
21151         * doc/posix-functions/siginterrupt.texi: Move note.
21152
21153         * lib/signal.in.h (SA_RESTART): New macro.
21154         * lib/sigaction.c: Update comment.
21155
21156         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
21157
21158         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
21159         (gl_PREREQ_SIGPROCMASK): Invoke it.
21160         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
21161
21162         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
21163
21164         * lib/sigprocmask.c: Update a comment.
21165
21166 2008-06-21  Eric Blake  <ebb9@byu.net>
21167
21168         Use sigaction module rather than signal().
21169         * modules/c-stack (Depends-on): Add sigaction.
21170         * modules/fatal-signal (Depends-on): Likewise.
21171         * modules/nanosleep (Depends-on): Likewise.
21172         * modules/sigprocmask (Files): Add sig-handler.h.
21173         * modules/sigaction (Files): Likewise.
21174         * lib/sig-handler.h (get_handler): New file, suggested by Paul
21175         Eggert.
21176         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
21177         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
21178         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21179         (init_fatal_signals): Likewise.
21180         * lib/nanosleep.c (rpl_nanosleep): Likewise.
21181         (siginterrupt): Delete fallback.
21182         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
21183         instead.
21184         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
21185         siginterrupt.
21186
21187         New module sigaction, for mingw.
21188         * modules/sigaction: New module...
21189         * modules/sigaction-tests: ...and its test.
21190         * m4/sigaction.m4: New file.
21191         * lib/sigaction.c: Likewise.
21192         * tests/test-sigaction.c: Likewise.
21193         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
21194         * modules/signal (Makefile.am): Likewise.
21195         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
21196         needed.
21197         * doc/posix-headers/signal.texi (signal.h): Mention provided
21198         types.
21199         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
21200         that sigaction is preferable.
21201         * doc/posix-functions/sigaction.texi (sigaction): Mention new
21202         module.
21203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21204         sigaction.
21205
21206         Improve robustness of sigprocmask by overriding signal.
21207         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
21208         is in use.
21209         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
21210         (SIGKILL, SIGSTOP): Provide fallbacks.
21211         (rpl_signal): Implement.
21212         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
21213         signal can be called inside handlers.
21214
21215         Fix nanosleep module on mingw.
21216         * modules/nanosleep (Depends-on): Add sys_select.
21217         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
21218
21219         Fix licensing of sigprocmask.
21220         * modules/raise (License): Relicense as LGPL.
21221
21222 2008-06-21  Bruno Haible  <bruno@clisp.org>
21223
21224         * lib/propername.c (proper_name_utf8): Don't use the transliterated
21225         result if it contains question marks.
21226         Reported by Michael Geng <linux@michaelgeng.de>.
21227
21228 2008-06-19  Bruno Haible  <bruno@clisp.org>
21229
21230         Fix CVS-ism.
21231         * doc/gnulib.texi: Include updated-stamp.texi.
21232         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
21233         (updated-stamp.texi): New rule.
21234         (gnulib.info): Depend on it.
21235         * doc/.gitignore: Add updated-stamp.texi.
21236         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
21237
21238 2008-06-19  Bruno Haible  <bruno@clisp.org>
21239
21240         * doc/Makefile (gnulib.info): Update and simplify dependencies.
21241         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21242
21243 2008-06-19  Eric Blake  <ebb9@byu.net>
21244
21245         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
21246         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
21247         Reported by Stepan Kasal.
21248
21249 2008-06-18  Bruno Haible  <bruno@clisp.org>
21250
21251         * lib/fatal-signal.c (init_fatal_signals): Add comment.
21252         Reported by Eric Blake.
21253
21254 2008-06-18  Eric Blake  <ebb9@byu.net>
21255
21256         Work around cygwin 1.5.25 strsignal bug.
21257         * tests/test-strsignal.c: Allow for const char *.
21258         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
21259
21260 2008-06-18  Simon Josefsson  <simon@josefsson.org>
21261
21262         * users.txt: Update URL to article and add author/date
21263         information.
21264
21265 2008-06-17  Bruno Haible  <bruno@clisp.org>
21266
21267         New macro gl_DISABLE_THREADS.
21268         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
21269         if the user did not pass --enable-threads or --disable-threads option.
21270         (gl_DISABLE_THREADS): New macro.
21271         Reported by Eric Blake <ebb9@byu.net>.
21272
21273 2008-06-17  Bruno Haible  <bruno@clisp.org>
21274
21275         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
21276         when the macro ignores it.
21277         Based on a patch by Eric Blake <ebb9@byu.net>.
21278
21279 2008-06-17  Bruno Haible  <bruno@clisp.org>
21280
21281         * modules/tls (License): Change to LGPLv2+.
21282         Reported by Eric Blake.
21283
21284 2008-06-17  Eric Blake  <ebb9@byu.net>
21285
21286         Simplify c-stack prerequisites.
21287         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
21288         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
21289         no longer requires <ucontext.h> to exist.  Optimize setrlimit
21290         check.
21291         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
21292         <sys/resource.h>.
21293
21294         Move c-stack test into testsuite.
21295         * modules/c-stack-tests: New file.
21296         * lib/c-stack.c [DEBUG]: Move test program...
21297         * tests/test-c-stack.c: ...into this new file.  Skip rather than
21298         fail test if sigaltstack is lacking.
21299         * tests/test-c-stack.sh: New driver file.
21300
21301 2008-06-16  Eric Blake  <ebb9@byu.net>
21302
21303         Use raise module consistently.
21304         * modules/fatal-signal (Depends-on): Add raise.
21305         * modules/sigprocmask (Depends-on): Likewise.
21306         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
21307         * lib/sigprocmask.c (sigprocmask): Likewise.
21308         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21309         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
21310
21311         Fix compliance bug in sigpending.
21312         * lib/sigprocmask.c (sigpending): Return pending array via
21313         parameter, not return value.
21314
21315 2008-06-14  Eric Blake  <ebb9@byu.net>
21316
21317         Improve obstack-printf test code.
21318         * tests/test-obstack-printf.c (test_function): Fix comment, and
21319         simplify usage of obstack_* in macros.  Add a test for coverage.
21320         Reported by Bruno Haible.
21321
21322 2008-06-14  Bruno Haible  <bruno@clisp.org>
21323
21324         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
21325         array size as a constant, not as a const variable.
21326         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
21327         AC_USE_SYSTEM_EXTENSIONS.
21328         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21329         Test whether the obstack_printf function actually exists.
21330         * modules/obstack-printf (Depends-on): Add extensions.
21331         (Include): Remove obstack.h.
21332         * modules/obstack-printf-posix (Depends-on): Add extensions.
21333         (Include): Remove obstack.h.
21334
21335 2008-06-13  Eric Blake  <ebb9@byu.net>
21336
21337         Add obstack-printf and obstack-printf-posix modules.
21338         * modules/obstack-printf: New file.
21339         * modules/obstack-printf-posix: Likewise.
21340         * MODULES.html.sh (Misc): Mention them.
21341         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21342         Likewise.
21343         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21344         Likewise.
21345         * modules/stdio (Makefile.am): Accomodate new modules.
21346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21347         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
21348         Declare.
21349         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
21350         functions.
21351         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
21352         (gl_REPLACE_OBSTACK_PRINTF): New macros
21353         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
21354         * tests/test-obstack-printf.c: New file.
21355         * modules/obstack-printf-tests: Likewise.
21356         * modules/obstack-printf-posix-tests: Likewise.
21357
21358 2008-06-11  Bruno Haible  <bruno@clisp.org>
21359
21360         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
21361         * lib/open.c: Include errno.h.
21362         (open): Fail when attempting to write to a file that has a trailing
21363         slash.
21364         * tests/test-open.c (main): Test against trailing slash bug.
21365         * doc/posix-functions/open.texi: Mention the trailing slash bug.
21366
21367 2008-06-10  Bruno Haible  <bruno@clisp.org>
21368
21369         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
21370         for $? to work inside the trap command, with various /bin/sh-s.
21371         * tests/test-vc-list-files-cvs.sh: Likewise.
21372
21373 2008-06-10  Bruno Haible  <bruno@clisp.org>
21374
21375         * lib/acl-internal.h: Don't include gettext.h here.
21376         * lib/set-mode-acl.c: Include gettext.h here.
21377         * lib/copy-acl.c: Likewise.
21378
21379 2008-06-10  Bruno Haible  <bruno@clisp.org>
21380
21381         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
21382         * lib/wait-process.c (wait_subprocess): Likewise.
21383         * lib/execute.h (execute): Add termsigp argument.
21384         * lib/execute.c (execute): Likewise.
21385         * lib/csharpcomp.c (compile_csharp_using_pnet,
21386         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
21387         * lib/csharpexec.c (execute_csharp_using_pnet,
21388         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
21389         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
21390         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
21391         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
21392         is_jikes_present): Update.
21393         * lib/javaexec.c (execute_java_class): Update.
21394         * lib/javaversion.c (execute_and_read_line): Update.
21395         * NEWS: Document the changes.
21396         Reported by Eric Blake.
21397
21398 2008-06-10  Eric Blake  <ebb9@byu.net>
21399
21400         Add missing include.
21401         * tests/test-strstr.c (includes): Add <signal.h>.
21402         * tests/test-strcasestr.c (includes): Likewise.
21403         * tests/test-memmem.c (includes): Likewise.
21404
21405 2008-06-10  Bruno Haible  <bruno@clisp.org>
21406
21407         * lib/wait-process.c (wait_subprocess): Add an assertion.
21408
21409 2008-06-10  Bruno Haible  <bruno@clisp.org>
21410
21411         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
21412
21413 2008-06-10  Bruno Haible  <bruno@clisp.org>
21414
21415         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
21416         using alarm().
21417         * tests/test-strcasestr.c (main): Likewise.
21418         * tests/test-strstr.c (main): Likewise.
21419
21420 2008-06-09  Bruno Haible  <bruno@clisp.org>
21421
21422         Work around the Solaris 10 ACE ACLs ABI change.
21423         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
21424         declare if ACL_NO_TRIVIAL is present.
21425         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
21426         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
21427         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
21428         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
21429         define if ACL_NO_TRIVIAL is present.
21430         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
21431         and use the current ABI.
21432         (file_has_acl): Use same #if condition as elsewhere.
21433         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
21434         in use, and use the current ABI.
21435         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
21436         Reported by Jim Meyering.
21437
21438 2008-06-09  Eric Blake  <ebb9@byu.net>
21439
21440         Work around environments that (stupidly) ignore SIGALRM.
21441         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
21442         before using alarm().
21443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21444         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21445         Reported by Ian Beckwith <ianb@erislabs.net>.
21446
21447         Produce autobuild blurb earlier in log.
21448         * modules/autobuild (configure.ac-early): Move AB_INIT here.
21449
21450 2008-06-09  Jim Meyering  <meyering@redhat.com>
21451         and Ondřej Vašík  <ovasik@redhat.com>
21452
21453         utimens.c: correct kernel bug work-around
21454         Ondřej Vašík found that the invalid return value of 280 indicates
21455         failure, not success, and the kernel bug we're trying to work
21456         around affects not just the utimensat call, but also the fallback
21457         futimens call.
21458         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
21459         not success.
21460         [HAVE_FUTIMENS]: Use the same work-around, here.
21461
21462 2008-06-09  Jim Meyering  <meyering@redhat.com>
21463
21464         add more guards around definition of ACE_-related code
21465         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
21466         ALLOW and ACE_OWNER are also defined.
21467
21468 2008-06-08  Bruno Haible  <bruno@clisp.org>
21469
21470         * lib/acl-internal.h: Add me as co-author.
21471         * lib/file-has-acl.c: Likewise.
21472         * lib/set-mode-acl.c: Likewise.
21473         * lib/copy-acl.c: Likewise.
21474
21475 2008-06-08  Bruno Haible  <bruno@clisp.org>
21476
21477         Add support for AIX ACLs.
21478         * lib/acl-internal.h (acl_nontrivial): New declaration.
21479         * lib/file-has-acl.c (acl_nontrivial): New function.
21480         (file_has_acl): Add implementation using AIX 4 ACL API.
21481         * lib/set-mode-acl.c (qset_acl): Likewise.
21482         * lib/copy-acl.c (qcopy_acl): Likewise.
21483
21484 2008-06-08  Bruno Haible  <bruno@clisp.org>
21485
21486         Add support for HP-UX ACLs.
21487         * lib/acl-internal.h (acl_nontrivial): New declaration.
21488         * lib/file-has-acl.c (acl_nontrivial): New function.
21489         (file_has_acl): Add implementation using HP-UX 11 ACL API.
21490         * lib/set-mode-acl.c (qset_acl): Likewise.
21491         * lib/copy-acl.c (qcopy_acl): Likewise.
21492
21493 2008-06-08  Bruno Haible  <bruno@clisp.org>
21494
21495         Add support for Cygwin ACLs.
21496         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
21497         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
21498         the chmod_or_fchmod call.
21499         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
21500
21501 2008-06-08  Bruno Haible  <bruno@clisp.org>
21502
21503         Fix bug with setuid modes in Solaris 10+ code.
21504         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
21505         succeeded, when the mode contains some special bits.
21506
21507 2008-06-08  Bruno Haible  <bruno@clisp.org>
21508
21509         Add support for Solaris 7..10 ACLs.
21510         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
21511         declarations.
21512         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
21513         functions.
21514         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
21515         * lib/set-mode-acl.c (qset_acl): Likewise.
21516         * lib/copy-acl.c (qcopy_acl): Likewise.
21517
21518 2008-06-08  Bruno Haible  <bruno@clisp.org>
21519
21520         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
21521         declaration.
21522         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
21523         (acl_access_nontrivial): Remove MacOS X case.
21524         (file_has_acl): Use acl_extended_nontrivial.
21525         * lib/copy-acl.c (qcopy_acl): Likewise.
21526
21527 2008-06-08  Bruno Haible  <bruno@clisp.org>
21528
21529         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
21530
21531 2008-06-08  Jim Meyering  <meyering@redhat.com>
21532
21533         * modules/acl (Maintainer): Add Bruno Haible.
21534
21535 2008-06-07  Bruno Haible  <bruno@clisp.org>
21536
21537         Improve support for Tru64 ACLs.
21538         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
21539         ACL on OSF/1.
21540
21541 2008-06-07  Bruno Haible  <bruno@clisp.org>
21542
21543         Add support for MacOS X ACLs.
21544         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
21545         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
21546         * lib/set-mode-acl.c (qset_acl): Likewise.
21547         * lib/copy-acl.c (qcopy_acl): Likewise.
21548
21549 2008-06-07  Bruno Haible  <bruno@clisp.org>
21550
21551         Fix memory leak introduced on 2008-05-22.
21552         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
21553         use.
21554
21555 2008-06-07  Bruno Haible  <bruno@clisp.org>
21556
21557         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
21558         to construct an empty ACL.
21559
21560 2008-06-07  Bruno Haible  <bruno@clisp.org>
21561
21562         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
21563         precisely.
21564         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
21565
21566 2008-06-07  Bruno Haible  <bruno@clisp.org>
21567
21568         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
21569         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
21570
21571 2008-06-07  Bruno Haible  <bruno@clisp.org>
21572
21573         * doc/posix-functions/_setjmp.texi: Explain the use of this function
21574         regardless of POSIX.
21575         * doc/posix-functions/_longjmp.texi: Likewise.
21576         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
21577         SystemV platform in this case.
21578
21579 2008-06-06  Eric Blake  <ebb9@byu.net>
21580
21581         Document abort() bugs.
21582         * doc/posix-functions/abort.texi (abort): Mention anomalies.
21583
21584         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
21585         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
21586         sigsetjmp.
21587         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
21588         siglongjmp, but only as a macro.
21589         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
21590         is obsolete.
21591         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
21592
21593         Tweak documentation to cover cygwin argz bugs.
21594         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
21595         argz bug fix; no code change needed since no cygwin releases
21596         occurred between the last fix and the bug being tested.
21597         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
21598         module and recently fixed cygwin bugs.
21599         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
21600         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
21601         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
21602         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
21603         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
21604         Likewise.
21605         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
21606         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
21607         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
21608         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
21609         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
21610         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
21611         Likewise.
21612
21613         Avoid gcc warning on cygwin.
21614         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
21615         !ACL_NO_TRIVIAL]: Avoid unused variable.
21616
21617 2008-06-05  Eric Blake  <ebb9@byu.net>
21618
21619         Be tolerant of UNKNOWN version in gnulib-tool test dir.
21620         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
21621         git-version-gen fails to come up with a version.
21622         Reported by Simon Josefsson.
21623
21624 2008-06-05  Jim Meyering  <meyering@redhat.com>
21625             Paul Eggert  <eggert@cs.ucla.edu>
21626
21627         utimens.c: work around a probable Linux kernel bug
21628         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
21629         appears to be a kernel bug that causes utimensat to return 280
21630         instead of 0, indicating success.
21631
21632 2008-06-04  Bruno Haible  <bruno@clisp.org>
21633
21634         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
21635         2008-06-01 commit.
21636
21637 2008-06-04  Bruno Haible  <bruno@clisp.org>
21638
21639         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
21640         * lib/file-has-acl.c (acl_access_nontrivial): New function.
21641         (file_has_acl): Use it. Save errno afterwards.
21642         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
21643
21644 2008-06-03  Bruno Haible  <bruno@clisp.org>
21645
21646         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
21647         draft code. Simplify #ifs.
21648         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
21649         Put Solaris code after POSIX-draft code. Fix comments regarding
21650         Solaris 10, HP-UX. Mention Cygwin.
21651         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
21652
21653 2008-06-03  Eric Blake  <ebb9@byu.net>
21654
21655         Provide fallback for older kernels.
21656         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
21657         Provide runtime fallback if kernel lacks support.
21658         Reported by Mike Frysinger.
21659
21660 2008-06-02  Bruno Haible  <bruno@clisp.org>
21661
21662         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
21663         it exists.
21664
21665 2008-06-02  Bruno Haible  <bruno@clisp.org>
21666
21667         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
21668         * lib/copy-acl.c (qcopy_acl): Update comment.
21669
21670 2008-06-02  Bruno Haible  <bruno@clisp.org>
21671
21672         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
21673         like ACL APIs.
21674
21675 2008-06-02  Bruno Haible  <bruno@clisp.org>
21676
21677         * tests/test-file-has-acl.sh: Use different code for Cygwin.
21678         * tests/test-set-mode-acl.sh: Likewise.
21679         * tests/test-copy-acl.sh: Likewise.
21680         * tests/test-copy-file.sh: Likewise.
21681
21682 2008-06-02  Bruno Haible  <bruno@clisp.org>
21683
21684         * tests/test-file-has-acl.sh: Remove unused code.
21685
21686 2008-06-01  Bruno Haible  <bruno@clisp.org>
21687
21688         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
21689         (copy_acl): Just a wrapper around qcopy_acl that emits the error
21690         messages.
21691         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
21692
21693 2008-06-01  Bruno Haible  <bruno@clisp.org>
21694
21695         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
21696         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
21697         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
21698         APIs.
21699         * modules/acl-tests (configure.ac): Remove tests now contained in
21700         m4/acl.m4.
21701
21702 2008-06-02  Jim Meyering  <meyering@redhat.com>
21703
21704         announce-gen: use a better key-server host name
21705         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
21706         it may be more consistently reliable.  Suggested by Werner Koch
21707         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
21708
21709 2008-06-01  Bruno Haible  <bruno@clisp.org>
21710
21711         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
21712         Reported by Voroskoi Andras <voroskoi@gmail.com>.
21713
21714 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
21715
21716         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
21717
21718 2008-06-01  Bruno Haible  <bruno@clisp.org>
21719
21720         New ACL tests.
21721         * tests/test-file-has-acl.sh: New file.
21722         * tests/test-file-has-acl.c: New file.
21723         * tests/test-set-mode-acl.sh: New file.
21724         * tests/test-set-mode-acl.c: New file.
21725         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
21726         * tests/test-copy-acl.c: New file.
21727         * modules/acl-tests: New file, based on modules/copy-file-tests.
21728         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
21729         (Depends-on): Add acl-tests.
21730         (configure.ac): Remove checks.
21731         (Makefile.am): Don't create test-sameacls program here any more.
21732
21733 2008-06-01  Bruno Haible  <bruno@clisp.org>
21734
21735         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
21736         * tests/test-sameacls.c: Include progname.h.
21737         (main): Invoke set_program_name. Portability fixes for MacOS X,
21738         Solaris, HP-UX.
21739
21740 2008-06-01  Bruno Haible  <bruno@clisp.org>
21741
21742         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
21743         function.
21744         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
21745
21746 2008-06-01  Bruno Haible  <bruno@clisp.org>
21747
21748         * modules/rpmatch (Depends-on): Add strdup.
21749
21750 2008-06-01  Bruno Haible  <bruno@clisp.org>
21751
21752         * lib/pipe.c: Include unistd-safer.h.
21753         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
21754         * modules/pipe (Depends-on): Add unistd-safer.
21755
21756 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21757
21758         * modules/autobuild (configure.ac): Call AB_INIT.
21759
21760 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21761
21762         * tests/test-getaddrinfo.c: Don't print debug messages by default.
21763         Suggested by Bruno Haible <bruno@clisp.org>.
21764
21765 2008-05-30  Simon Josefsson  <simon@josefsson.org>
21766
21767         * tests/test-base64.c: Cast size_t to unsigned long when invoking
21768         printf.  Use %lu instead of %d.  Reported by Bruno Haible
21769         <bruno@clisp.org>.
21770
21771 2008-05-29  Eric Blake  <ebb9@byu.net>
21772
21773         Prefer new POSIX 200x interfaces over futimesat.
21774         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
21775         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
21776         when available.
21777         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
21778
21779 2008-05-28  Bruno Haible  <bruno@clisp.org>
21780
21781         * modules/stpcpy (License): Change to LGPLv2+.
21782         Requested by David Lutterkort <dlutter@redhat.com>.
21783
21784 2008-05-27  Bruno Haible  <bruno@clisp.org>
21785
21786         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
21787         current mingw.
21788         Reported by Jose E. Marchesi <jemarch@gnu.org>.
21789
21790 2008-05-27  Bruno Haible  <bruno@clisp.org>
21791
21792         * modules/iconv_open (Link): New section, from module 'iconv'.
21793         * modules/striconv (Link): Likewise.
21794         * modules/striconveh (Link): Likewise.
21795         * modules/xstriconv (Link): Likewise.
21796         * modules/unicodeio (Link): Likewise.
21797         * modules/propername (Link): Likewise.
21798         Reported by Jim Meyering.
21799
21800 2008-05-26  Jim Meyering  <meyering@redhat.com>
21801
21802         sha256: do not artificially restrict buffer length to be < 2^32
21803         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
21804         uint32_t to size_t.
21805         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
21806         to match.
21807
21808         avoid unaligned access errors, e.g., on sparc
21809         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
21810         direct access through a possibly-unaligned uint64* pointer.
21811         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
21812         direct access through a possibly-unaligned uint32* pointer.
21813         Prompted by this patch from Tom "spot" Callaway:
21814         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
21815
21816         sha512.c: fix typo in comment
21817         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
21818
21819 2008-05-25  Bruno Haible  <bruno@clisp.org>
21820
21821         * lib/set-mode-acl.c: Renamed from lib/acl.c.
21822         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
21823         (Makefile.am): Update lib_SOURCES.
21824
21825 2008-05-25  Bruno Haible  <bruno@clisp.org>
21826
21827         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
21828
21829 2008-05-25  Jim Meyering  <meyering@redhat.com>
21830
21831         useless-if-before-free: freed expr may have white-space differences
21832         * build-aux/useless-if-before-free: Recognize cases in which the
21833         freed expression differs from the tested one in embedded white
21834         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
21835         $1 was used, so we can't make any regexp shy.  Improved tests now
21836         detect this.
21837
21838         useless-if-before-free: accept white space in the expression.
21839         * build-aux/useless-if-before-free: For now, any white space
21840         in the expression must be identical in the free argument.
21841
21842         useless-if-before-free: efficiency tweak
21843         * build-aux/useless-if-before-free: Make the expression-matching
21844         regexp "shy".
21845         Make the *outer* regexp shy, not the expr-matching one.
21846
21847         update code-in-comment to accept cast of free arg
21848         * build-aux/useless-if-before-free: Update regexp.
21849
21850 2008-05-25  Bruno Haible  <bruno@clisp.org>
21851
21852         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
21853         * modules/copy-file-tests (Files, Makefile.am): Update.
21854         * tests/test-copy-file.c (func_test_copy): Update.
21855
21856 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
21857
21858         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
21859
21860 2008-05-23  Bruno Haible  <bruno@clisp.org>
21861
21862         Improve support for ACLs on OSF/1.
21863         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
21864         Remove fallback for unknown flavors of ACLs.
21865
21866 2008-05-22  Bruno Haible  <bruno@clisp.org>
21867
21868         Add support for ACLs on OSF/1.
21869         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
21870         replacements.
21871         (acl_free_text): New macro fallback.
21872         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
21873         acl_free.
21874         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
21875         acl_free_text function. Require AC_C_INLINE.
21876
21877 2008-05-22  Bruno Haible  <bruno@clisp.org>
21878
21879         Make copy_acl work on MacOS X 10.5.
21880         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
21881         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
21882         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
21883         If MODE_INSIDE_ACL, don't assume that every system has the same text
21884         representation for ACLs as FreeBSD.
21885         * lib/copy-acl.c (copy_acl): Add support for platforms with
21886         !MODE_INSIDE_ACL.
21887         * lib/file-has-acl.c (file_has_acl): Likewise.
21888         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
21889         FreeBSD, MacOS X, or IRIX, respectively.
21890
21891 2008-05-22  Bruno Haible  <bruno@clisp.org>
21892
21893         * lib/acl.h: Don't include <sys/acl.h>.
21894         (GETACLCNT): Move fallback to lib/acl-internal.h.
21895         * lib/acl-internal.h: Include <sys/acl.h> here.
21896         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
21897
21898 2008-05-22  Bruno Haible  <bruno@clisp.org>
21899
21900         Split off copy_acl function to separate file.
21901         * lib/copy-acl.c: New file, extracted from lib/acl.c.
21902         * lib/acl.c (copy_acl): Moved function to separate file.
21903         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
21904         * modules/acl (Files): Add lib/copy-acl.c.
21905         (Makefiles.am): Augment lib_SOURCES.
21906
21907 2008-05-22  Bruno Haible  <bruno@clisp.org>
21908
21909         * modules/copy-file-tests: New file.
21910         * tests/test-copy-file.sh: New file.
21911         * tests/test-copy-file.c: New file.
21912         * tests/test-copy-file-sameacls.c: New file.
21913
21914 2008-05-22  Eric Blake  <ebb9@byu.net>
21915
21916         Avoid gcc warning.
21917         * tests/test-memcmp.c (main): Pass NULL indirectly.
21918
21919 2008-05-21  Bruno Haible  <bruno@clisp.org>
21920
21921         Add reference doc about ACLs.
21922         * doc/acl-resources.txt: New file.
21923         * doc/acl-cygwin.txt: New file.
21924
21925 2008-05-21  Bruno Haible  <bruno@clisp.org>
21926
21927         Avoid one more warning from gcc.
21928         * lib/vasnprintf.c (IF_LINT): Update comments.
21929         (VASNPRINTF): Use it also for the 'prefix' array initializer.
21930
21931 2008-05-21  Jim Meyering  <meyering@redhat.com>
21932
21933         avoid a warning from gcc
21934         * lib/vasnprintf.c (IF_LINT): Define.
21935         (scale10_round_decimal_long_double):
21936         Use it to avoid a "may be used uninitialized" warning.
21937         (scale10_round_decimal_double): Likewise.
21938
21939 2008-05-21  Simon Josefsson  <simon@josefsson.org>
21940
21941         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
21942         declared.
21943
21944 2008-05-20  Bruno Haible  <bruno@clisp.org>
21945
21946         * tests/test-memcmp.c (main): Test also the sign of the result. Test
21947         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
21948
21949 2008-05-20  Simon Josefsson  <simon@josefsson.org>
21950
21951         * modules/memcmp-tests: New file.
21952         * tests/test-memcmp.c: New file.
21953
21954 2008-05-19  Bruno Haible  <bruno@clisp.org>
21955
21956         * modules/propername (Notice, configure.ac): Put quoted "..." into
21957         --keyword option.
21958         * lib/propername.h: Update comments accordingly.
21959         Reported by Eric Blake.
21960
21961 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
21962
21963         * modules/getpass-gnu (Depends-on): Add fseeko.
21964
21965 2008-05-19  Simon Josefsson  <simon@josefsson.org>
21966
21967         * modules/base64-tests: New file.
21968
21969 2008-05-19  Bo Borgerson <gigabo@gmail.com>
21970
21971         * lib/base64.c (base64_decode_ctx): If a decode context structure
21972         was passed in use it to ignore newlines.  If a context structure
21973         was _not_ passed in, continue to treat newlines as garbage (this
21974         is the historical behavior).  Formerly base64_decode.
21975         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
21976         takes a decode context structure.
21977         * lib/base64.h (base64_decode): Macro for four-argument calls.
21978         (base64_decode_alloc): Likewise.
21979         * lib/base64.c (base64_decode_ctx): If a decode context structure
21980         was passed in use it to ignore newlines.  If a context structure
21981         was _not_ passed in, continue to treat newlines as garbage (this
21982         is the historical behavior).  Formerly base64_decode.
21983         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
21984         takes a decode context structure.
21985         * lib/base64.h (base64_decode): Macro for four-argument calls.
21986         (base64_decode_alloc): Likewise.
21987
21988 2008-05-19  Jim Meyering  <meyering@redhat.com>
21989
21990         avoid a warning from gcc
21991         * lib/trim.c (IF_LINT): Define.
21992         (trim2): Use it to avoid a "may be used uninitialized" warning.
21993
21994         Fix doc typo.
21995         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
21996
21997 2008-05-19  Bruno Haible  <bruno@clisp.org>
21998
21999         * doc/glibc-functions/getpass.texi: Document limits of other
22000         implementations.
22001
22002 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22003             Bruno Haible <bruno@clisp.org>
22004
22005         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
22006
22007 2008-05-18  Bruno Haible  <bruno@clisp.org>
22008
22009         * modules/propername: New file, from GNU gettext.
22010         * lib/propername.h: New file, from GNU gettext.
22011         * lib/propername.c: New file, from GNU gettext.
22012         * MODULES.html.sh (Internationalization functions): Add propername.
22013
22014 2008-05-16  Jim Meyering  <meyering@redhat.com>
22015             Bruno Haible  <bruno@clisp.org>
22016
22017         Avoid some warnings from "gcc -Wshadow".
22018         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
22019
22020 2008-05-15  Eric Blake  <ebb9@byu.net>
22021
22022         Extend previous patch to cygwin 1.7.0.
22023         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
22024         fast implementation in cygwin >= 1.7.0.
22025         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22026         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22027
22028 2008-05-15  Bruno Haible  <bruno@clisp.org>
22029
22030         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
22031         implementation in glibc >= 2.9.
22032         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22033         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22034
22035 2008-05-15  Bruno Haible  <bruno@clisp.org>
22036
22037         * MODULES.html.sh (Internationalization functions): Remove linebreak.
22038         (Unicode string functions): Add unilbrk/*.
22039         Reported by Karl Berry.
22040
22041 2008-05-15  Eric Blake  <ebb9@byu.net>
22042
22043         Fix violation of <stdbool.h> replacement in regex.
22044         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
22045         * lib/regexec.c (re_search_internal): Likewise.
22046         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
22047
22048 2008-05-15  Jim Meyering  <meyering@redhat.com>
22049
22050         avoid distracting test output when git or cvs is not found
22051         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
22052         * tests/test-vc-list-files-git.sh: Likewise.
22053
22054 2008-05-15  Eric Blake  <ebb9@byu.net>
22055
22056         Glibc finally accepted the memmem speedup code, bugzilla #5514.
22057         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
22058         glibc version.
22059         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22060         * doc/posix-functions/strstr.texi (strstr): Likewise.
22061         * lib/str-two-way.h (MAX): Sychronize with glibc.
22062
22063 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
22064
22065         * lib/regcomp.c (optimize_utf8): Add a note on why we test
22066         opr.ctx_type.
22067         (calc_first): Initialize constraint field.
22068         (duplicate_node_closure): Use it instead of special casing ANCHORS.
22069         Fix grammar.
22070         (duplicate_node): Merge constraint field for all node types.
22071         (calc_eclosure_iter): Look at constraint field for all node types.
22072         * lib/regex_internal.c (create_cd_newstate): Don't look at
22073         opr.ctx_type.
22074
22075 2008-05-14  Bruno Haible  <bruno@clisp.org>
22076
22077         Help GCC to do better code generation.
22078         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
22079         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22080         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
22081         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
22082         Declare with attribute 'malloc' if supported.
22083
22084 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
22085
22086         use "echo STR|wc -c" rather than unportable "expr length STR"
22087         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
22088         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
22089
22090 2008-05-14  Jim Meyering  <meyering@redhat.com>
22091
22092         use dd ibs=$n count=1 ... rather than less-portable head -c$n
22093         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
22094         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
22095         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
22096         via Collin Lasse.
22097
22098 2008-05-14  Eric Blake  <ebb9@byu.net>
22099
22100         Avoid quadratic growth in gl_LIBSOURCES.
22101         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
22102         Suggested by Bruno Haible.
22103
22104         Test xmemdup0.
22105         * modules/xmemdup0-tests: New file.
22106         * tests/test-xmemdup0.c: Likewise.
22107
22108 2008-05-13  Eric Blake  <ebb9@byu.net>
22109
22110         Split xmemdup0 into its own module.
22111         * modules/xmemdup0: New file.
22112         * lib/xmemdup0.h: Likewise.
22113         * lib/xmemdup0.c: Likewise.
22114         * MODULES.html.sh (Memory management functions): Add xmemdup0.
22115         * lib/xalloc.h (xmemdup0): Remove.
22116         * lib/xmalloc.c (xmemdup0): Likewise.
22117
22118 2008-05-13  Eric Blake  <ebb9@byu.net>
22119             Bruno Haible  <bruno@clisp.org>
22120
22121         Reduce number of forks required during autoconf.
22122         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
22123         and gl_LIBSOURCES_DIR.
22124         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
22125         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
22126         m4_syscmd per file.
22127         <m4_foreach_w>: Move...
22128         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
22129
22130 2008-05-13  Eric Blake  <ebb9@byu.net>
22131
22132         * gnulib-tool: Fix various comment typos.
22133
22134 2008-05-12  Bruno Haible  <bruno@clisp.org>
22135
22136         Tailor the linebreaking algorithm.
22137         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
22138
22139 2008-05-12  Bruno Haible  <bruno@clisp.org>
22140
22141         Update to Unicode 5.0.0.
22142         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22143         LBP_JV, LBP_JT. Redistribute values.
22144         (unilbrk_table): Change size.
22145         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
22146         Unicode TR#14 rev. 22.
22147         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22148         LBP_JV, LBP_JT. Redistribute values.
22149         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
22150         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
22151         Update.
22152         * lib/unilbrk/lbrkprop1.h: Regenerated.
22153         * lib/unilbrk/lbrkprop2.h: Regenerated.
22154         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
22155         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
22156         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
22157         Likewise.
22158         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
22159         Likewise.
22160         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
22161         result.
22162         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22163         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22164         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22165         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
22166         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
22167         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
22168
22169 2008-05-11  Bruno Haible  <bruno@clisp.org>
22170
22171         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
22172
22173 2008-05-11  Bruno Haible  <bruno@clisp.org>
22174
22175         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
22176         * modules/unilbrk/gen-lbrk: New file.
22177
22178 2008-05-11  Bruno Haible  <bruno@clisp.org>
22179
22180         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
22181         * m4/sha512.m4 (gl_SHA512): Likewise.
22182
22183 2008-05-11  Jim Meyering  <meyering@redhat.com>
22184
22185         New modules: crypto/sha256, crypto/sha512 (from coreutils)
22186         * modules/crypto/sha256: New file.
22187         * modules/crypto/sha512: Likewise.
22188         * lib/sha256.c: Likewise.
22189         * lib/sha256.h: Likewise.
22190         * lib/sha512.c: Likewise.
22191         * lib/sha512.h: Likewise.
22192         * lib/u64.h: Likewise.
22193         * m4/sha256.m4: Likewise.
22194         * m4/sha512.m4: Likewise.
22195         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
22196
22197 2008-05-10  Bruno Haible  <bruno@clisp.org>
22198
22199         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
22200         (Input/Output <stdio.h>): Add xprintf.
22201         (Signal handling <signal.h>): Add strsignal.
22202         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
22203         (Core language properties): Add func.
22204         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
22205         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
22206         strings.
22207         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
22208         (Input/output): New section.
22209         (File system functions): Add openat-die, stat-macros.
22210         (Networking functions): Add sockets.
22211         (Unicode string functions): Add unictype/*.
22212         (Support for building libraries and executables): Add gperf.
22213         (Support for building documentation): Add agpl-3.0.
22214         (Misc): Add nocrash.
22215
22216 2008-05-10  Bruno Haible  <bruno@clisp.org>
22217
22218         * modules/unictype/gen-ctype: New file.
22219
22220 2008-05-10  Jim Meyering  <meyering@redhat.com>
22221
22222         Make chdir-safer.c more efficient on a system with no symlinks.
22223         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
22224         also if ELOOP is zero.  Suggested by Bruno Haible.
22225
22226         Make chdir-safer.c slightly safer.
22227         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
22228         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
22229
22230         Avoid compile failure on systems without ELOOP (like mingw).
22231         * lib/chdir-safer.c (ELOOP): Define if not already defined.
22232         Reported by Bruno Haible.
22233
22234 2008-05-10  Bruno Haible  <bruno@clisp.org>
22235
22236         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
22237         (is_utf8_encoding): Use a case-insensitive comparison.
22238         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
22239         streq.
22240
22241 2008-05-10  Bruno Haible  <bruno@clisp.org>
22242
22243         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
22244         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
22245         * lib/unilbrk/ulc-common.h (iconv_string_length,
22246         iconv_string_keeping_offsets): Remove declarations.
22247         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
22248         Don't include <iconv.h>, streq.h, xsize.h.
22249         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
22250         conversion.
22251         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
22252         <iconv.h>, streq.h, xsize.h.
22253         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
22254         conversion.
22255         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
22256         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
22257         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
22258         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
22259
22260 2008-05-10  Bruno Haible  <bruno@clisp.org>
22261
22262         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
22263         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
22264
22265         * modules/unilbrk/u32-width-linebreaks-tests: New file.
22266         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
22267
22268         * modules/unilbrk/u16-width-linebreaks-tests: New file.
22269         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
22270
22271         * modules/unilbrk/u8-width-linebreaks-tests: New file.
22272         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
22273
22274         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
22275         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
22276
22277         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
22278         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
22279
22280         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
22281         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
22282
22283         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
22284         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
22285
22286 2008-05-10  Bruno Haible  <bruno@clisp.org>
22287
22288         Split up 'linebreak' module.
22289         * lib/unilbrk.h: New file, based on lib/linebreak.h.
22290         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
22291         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
22292         modifications.
22293         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
22294         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
22295         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
22296         lib/linebreak.c.
22297         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
22298         lib/linebreak.c.
22299         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
22300         lib/linebreak.c.
22301         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
22302         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
22303         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
22304         lib/linebreak.c.
22305         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
22306         lib/linebreak.c.
22307         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
22308         lib/linebreak.c.
22309         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
22310         lib/linebreak.c.
22311         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
22312         lib/linebreak.c.
22313         * modules/unilbrk/base: New file.
22314         * modules/unilbrk/tables: New file.
22315         * modules/unilbrk/u8-possible-linebreaks: New file.
22316         * modules/unilbrk/u16-possible-linebreaks: New file.
22317         * modules/unilbrk/u32-possible-linebreaks: New file.
22318         * modules/unilbrk/ulc-common: New file.
22319         * modules/unilbrk/ulc-possible-linebreaks: New file.
22320         * modules/unilbrk/u8-width-linebreaks: New file.
22321         * modules/unilbrk/u16-width-linebreaks: New file.
22322         * modules/unilbrk/u32-width-linebreaks: New file.
22323         * modules/unilbrk/ulc-width-linebreaks: New file.
22324         * lib/linebreak.h: Remove file.
22325         * lib/linebreak.c: Remove file.
22326         * m4/linebreak.m4: Remove file.
22327         * modules/linebreak: Remove file.
22328         * NEWS: Mention the changes.
22329
22330 2008-05-09  Eric Blake  <ebb9@byu.net>
22331
22332         Add xmemdup0.
22333         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
22334         implementation.
22335         * lib/xmalloc.c (xmemdup0): New C implementation.
22336
22337 2008-05-08  Bruno Haible  <bruno@clisp.org>
22338
22339         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
22340
22341 2008-05-07  Eric Blake  <ebb9@byu.net>
22342
22343         Support cross-compilation of <wctype.h>.
22344         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
22345         AC_CACHE_CHECK.
22346
22347 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
22348
22349         * build-aux/vc-list-files: Add support for bzr.
22350
22351 2008-05-03  Jim Meyering  <meyering@redhat.com>
22352
22353         avoid failed assertion with tight malloc
22354         * tests/test-getndelim2.c: Correct an off-by-one assertion.
22355
22356 2008-05-03  Simon Josefsson  <simon@josefsson.org>
22357
22358         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
22359         are needed from arpa/inet.h.
22360         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
22361         Reported by Bruno Haible.
22362
22363 2008-05-02  Jim Meyering  <meyering@redhat.com>
22364
22365         avoid compilation error on FreeBSD 6
22366         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
22367
22368 2008-05-01  Jim Meyering  <meyering@redhat.com>
22369
22370         useless-if-before-free: correct --help's exit status description
22371         * build-aux/useless-if-before-free (usage): Like grep, exit 0
22372         for one or more matches, etc.  Reported by Bruno Haible.
22373
22374         vc-list-files: make the stand-alone gnulib test work
22375         * modules/vc-list-files-tests (configure.ac):
22376         Define and AC_SUBST abs_aux_dir.
22377         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
22378         $(abs_top_srcdir) to each script and having each of them
22379         duplicate the work of setting PATH, set PATH here, using
22380         the new variable, abs_aux_dir instead.
22381         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
22382         * tests/test-vc-list-files-git.sh: Likewise.
22383         Reported by Bruno Haible.
22384
22385 2008-05-01  Bruno Haible  <bruno@clisp.org>
22386
22387         * lib/getndelim2.c (getndelim2): Fix newsize computation during
22388         reallocation. Rename 'done' to 'found_delimiter'.
22389
22390 2008-05-01  Jim Meyering  <meyering@redhat.com>
22391
22392         vc-list-files: accommodate /bin/sh like the one from Solaris 10
22393         * build-aux/vc-list-files: Use `...`, not $(...).
22394
22395 2008-04-30  Jim Meyering  <meyering@redhat.com>
22396
22397         add tests for vc-list-files
22398         * modules/vc-list-files-tests: New module.
22399         * tests/test-vc-list-files-cvs.sh: New file.
22400         * tests/test-vc-list-files-git.sh: New file.
22401
22402         avoid a warning from gcc
22403         * lib/getndelim2.c (IF_LINT): Define.
22404         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
22405
22406         vc-list-files: work properly with build-aux/cvsu, too
22407         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
22408         to all cvs-based clauses.
22409
22410         vc-list-files: work properly in the CVS+awk case, too
22411         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
22412
22413         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
22414         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
22415         take more than one file argument, so .  Add quotes, just in case $dir
22416         ever contains a shell meta-character.  Prompted by Soren Hansen in
22417         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
22418
22419 2008-04-29  Eric Blake  <ebb9@byu.net>
22420
22421         Optimize getndelim2 to use block operations when possible.
22422         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
22423         freadseek, and memchr2.
22424         * lib/getndelim2.c (getndelim2): Use them for block reads.
22425
22426 2008-04-29  Bruno Haible  <bruno@clisp.org>
22427
22428         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
22429         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22430         * modules/inet_ntop (Depends-on): Add extensions.
22431         * modules/inet_pton (Depends-on): Likewise.
22432         Reported by Simon Josefsson.
22433
22434 2008-04-29  Jim Meyering  <meyering@redhat.com>
22435
22436         When the is more than one match in a block, match all of them.
22437         * build-aux/useless-if-before-free: Iterate through each block
22438         until there are no more matches.
22439
22440         Fix broken useless-if-before-free script.
22441         * build-aux/useless-if-before-free: Fix typo: missing "?" after
22442         the expression to match cast of argument to free-like function.
22443
22444 2008-04-29  Eric Blake  <ebb9@byu.net>
22445
22446         Use new header.
22447         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
22448
22449 2008-04-29  Jim Meyering  <meyering@redhat.com>
22450
22451         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
22452         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
22453         by gnulib to exist and to declare e.g., inet_ntop.
22454         Don't include "inet_ntop.h", now removed.
22455
22456         * m4/arpa_inet_h.m4: Remove trailing blanks.
22457
22458 2008-04-29  Eric Blake  <ebb9@byu.net>
22459
22460         Silence valgrind on safe reads beyond potential array bounds.
22461         * lib/rawmemchr.valgrind: New file.
22462         * lib/strchrnul.valgrind: Likewise.
22463         * modules/rawmemchr (Files): Distribute new file.
22464         * modules/strchrnul (Files): Likewise.
22465         Suggested by Bruno Haible.
22466
22467 2008-04-29  Bruno Haible  <bruno@clisp.org>
22468
22469         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
22470         (inet_ntop, inet_pton): Change portability warning's wording.
22471         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
22472         Invoke gl_CHECK_NEXT_HEADERS.
22473         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
22474         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
22475         set ARPA_INET_H.
22476         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22477         * modules/arpa_inet (Description): No longer only for systems that
22478         lack it.
22479         (Depends-on): Add include_next.
22480         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
22481         HAVE_ARPA_INET_H.
22482
22483 2008-04-29  Jim Meyering  <meyering@redhat.com>
22484
22485         * modules/mkdir (License): Re-license as LGPLv2+.
22486
22487 2008-04-29  Bruno Haible  <bruno@clisp.org>
22488
22489         * modules/rawmemchr (Maintainer): Set to Eric.
22490         * modules/strchrnul (Maintainer): Likewise.
22491
22492 2008-04-29  Simon Josefsson  <simon@josefsson.org>
22493
22494         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
22495         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
22496
22497         * modules/arpa_inet (arpa/inet.h): Use them.
22498
22499 2008-04-28  Eric Blake  <ebb9@byu.net>
22500
22501         Test getndelim2.
22502         * modules/getndelim2-tests: New file.
22503         * tests/test-getndelim2.c: Likewise.
22504         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
22505         stream.
22506         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
22507
22508         * MODULES.html.sh: Document new module.
22509
22510 2008-04-20  Bruno Haible  <bruno@clisp.org>
22511
22512         * lib/c-stack.c (die): Use raise.
22513         * modules/c-stack (Depends-on): Add raise.
22514
22515 2008-04-28  Bruno Haible  <bruno@clisp.org>
22516
22517         Expect rpmatch to be declared.
22518         * lib/yesno.c (rpmatch): Remove declaration.
22519
22520         Declare rpmatch.
22521         * lib/stdlib.in.h (rpmatch): New declaration.
22522         * lib/rpmatch.c: Include <stdlib.h> first.
22523         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
22524         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
22525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
22526         HAVE_RPMATCH.
22527         * modules/rpmatch (Depends-on): Add stdlib, extensions.
22528         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22529         (Include): Set to <stdlib.h>.
22530         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
22531         HAVE_RPMATCH.
22532         * NEWS: Document the change.
22533
22534 2008-04-28  Bruno Haible  <bruno@clisp.org>
22535
22536         Change rpmatch to use nl_langinfo when appropriate.
22537         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
22538         (N_): New macro.
22539         (localized_pattern): New function/macro.
22540         (try): Remove match, nomatch arguments. Copy the pattern into safe
22541         memory before caching it.
22542         (rpmatch): Use localized_pattern. Add translator comments.
22543         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
22544         Suggested by Eric Blake.
22545         * modules/rpmatch (Depends-on): Add stdbool.
22546
22547 2008-04-28  Eric Blake  <ebb9@byu.net>
22548
22549         Add rawmemchr module, matching glibc.
22550         * modules/string (Makefile.am): New indicator.
22551         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
22552         * lib/string.in.h (rawmemchr): Declare when appropriate.
22553         * modules/rawmemchr: New file.
22554         * m4/rawmemchr.m4: Likewise.
22555         * lib/rawmemchr.c: Likewise.
22556         * modules/rawmemchr-tests: Likewise.
22557         * tests/test-rawmemchr.c: Likewise.
22558         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
22559         module.
22560         * modules/strchrnul (Depends-on): Add rawmemchr.
22561         * lib/strchrnul.c (strchrnul): Optimize a corner case.
22562
22563         Whitespace cleanup.
22564         * tests/test-strchrnul.c: Reindent.
22565         * lib/strchrnul.c: Likewise.
22566
22567         Optimize and test strchrnul.
22568         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
22569         * modules/strchrnul-tests: New file.
22570         * tests/test-strchrnul.c: Likewise.
22571
22572         Remove intprops dependency.
22573         * modules/memchr (Depends-on): Remove intprops.
22574         * modules/memrchr (Depends-on): Likewise.
22575         * modules/memchr2 (Depends-on): Likewise.
22576         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
22577         * lib/memrchr.c (__memrchr): Likewise.
22578         * lib/memrchr2.c (memchr2): Likewise.
22579         Reported by Simon Josefsson.
22580
22581 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22582
22583         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
22584         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22585
22586 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22587
22588         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
22589
22590         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
22591
22592         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
22593
22594         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
22595         declarations.
22596         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
22597
22598         * m4/inet_pton.m4: Don't check for header files.
22599
22600         * m4/inet_ntop.m4: Don't check for header files.
22601
22602 2008-04-28  Simon Josefsson  <simon@josefsson.org>
22603
22604         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
22605         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
22606         trigger for cygwin).
22607         Reported by Bruno Haible  <bruno@clisp.org>.
22608
22609 2008-04-28  Bruno Haible  <bruno@clisp.org>
22610
22611         * doc/posix-functions/strdup.texi: Mention mingw problem.
22612
22613 2008-04-27  Bruno Haible  <bruno@clisp.org>
22614
22615         * modules/stat-time-tests (Depends-on): Add sleep.
22616         * tests/test-stat-time.c (force_unlink): New function.
22617         (cleanup): Use it.
22618         (test_mtime): Remove the ctime related tests.
22619         (test_ctime): New function, containing the ctime related tests.
22620         (main): Call test_ctime, except on native Windows platforms.
22621
22622 2008-04-27  Bruno Haible  <bruno@clisp.org>
22623
22624         * lib/rpmatch.c (rpmatch): Add some comments.
22625         Reported by James Youngman <jay@gnu.org>.
22626
22627 2008-04-27  Bruno Haible  <bruno@clisp.org>
22628
22629         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
22630         quiet NaNs.
22631
22632 2008-04-27  Bruno Haible  <bruno@clisp.org>
22633
22634         Make test-yesno.sh work on mingw.
22635         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
22636         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
22637         (main): Set stdin to binary mode.
22638         * modules/yesno-tests (Depends-on): Add binary-io.
22639
22640 2008-04-27  Bruno Haible  <bruno@clisp.org>
22641
22642         Fix 'isfinite' on x86, x86_64, ia64 platforms.
22643         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
22644         argument that lie outside the IEEE 854 domain.
22645         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
22646         (gl_ISFINITE): Use it.
22647         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
22648
22649 2008-04-27  Bruno Haible  <bruno@clisp.org>
22650
22651         Allow local renaming in config.h.
22652         * lib/memrchr.c (memrchr): Don't undefine outside libc.
22653
22654 2008-04-27  Bruno Haible  <bruno@clisp.org>
22655
22656         * lib/memchr.c (__memchr): Change type of 'i'.
22657         * lib/memchr2.c (memchr2): Likewise.
22658
22659 2008-04-26  Eric Blake  <ebb9@byu.net>
22660         and Bruno Haible  <bruno@clisp.org>
22661
22662         Optimize and test memrchr.
22663         * modules/memrchr (Depends-on): Add intprops.
22664         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
22665         * modules/memrchr-tests: New file.
22666         * tests/test-memrchr.c: New file.
22667
22668 2008-04-26  Bruno Haible  <bruno@clisp.org>
22669
22670         Add tentative support for DragonFly BSD.
22671         * lib/stdio-impl.h: Add macros for DragonFly BSD.
22672         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
22673         fp.
22674         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
22675         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
22676         * lib/fpurge.c (fpurge): Likewise.
22677         * lib/freadable.c (freaadable): Likewise.
22678         * lib/freadahead.c (freadahead): Likewise.
22679         * lib/freading.c (freading): Likewise.
22680         * lib/freadptr.c (freadptr): Likewise.
22681         * lib/freadseek.c (freadptrinc): Likewise.
22682         * lib/fseeko.c (fseeko): Likewise.
22683         * lib/fseterr.c (fseterr): Likewise.
22684         * lib/fwritable.c (fwritable): Likewise.
22685         * lib/fwriting.c (fwriting): Likewise.
22686
22687 2008-04-26  Bruno Haible  <bruno@clisp.org>
22688
22689         * lib/stdio-impl.h: New file.
22690         * lib/fbufmode.c: Include stdio-impl.h.
22691         (fbufmode): Use fp_, remove redundant #defines.
22692         * lib/fflush.c: Include stdio-impl.h.
22693         (clear_ungetc_buffer): Remove redundant #defines.
22694         * lib/fpurge.c: Include stdio-impl.h.
22695         (fpurge): Remove redundant #defines.
22696         * lib/freadable.c: Include stdio-impl.h.
22697         (freadable): Remove redundant #defines.
22698         * lib/freadahead.c: Include stdio-impl.h.
22699         (freadahead): Remove redundant #defines.
22700         * lib/freading.c: Include stdio-impl.h.
22701         (freading): Remove redundant #defines.
22702         * lib/freadptr.c: Include stdio-impl.h.
22703         (freadptr): Remove redundant #defines.
22704         * lib/freadseek.c: Include stdio-impl.h.
22705         (freadptrinc): Remove redundant #defines.
22706         * lib/fseeko.c: Include stdio-impl.h.
22707         (rpl_fseeko): Remove redundant #defines.
22708         * lib/fseterr.c: Include stdio-impl.h.
22709         (fseterr): Remove redundant #defines.
22710         * lib/fwritable.c: Include stdio-impl.h.
22711         (fwritable: Remove redundant #defines.
22712         * lib/fwriting.c: Include stdio-impl.h.
22713         (fwriting): Remove redundant #defines.
22714         * modules/fbufmode (Files): Add lib/stdio-impl.h.
22715         * modules/fflush (Files): Likewise.
22716         * modules/fpurge (Files): Likewise.
22717         * modules/freadable (Files): Likewise.
22718         * modules/freadahead (Files): Likewise.
22719         * modules/freading (Files): Likewise.
22720         * modules/freadptr (Files): Likewise.
22721         * modules/freadseek (Files): Likewise.
22722         * modules/fseeko (Files): Likewise.
22723         * modules/fseterr (Files): Likewise.
22724         * modules/fwritable (Files): Likewise.
22725         * modules/fwriting (Files): Likewise.
22726
22727 2008-04-26  Bruno Haible  <bruno@clisp.org>
22728
22729         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
22730         restore_seek_optimization, update_fpos_cache): New functions, extracted
22731         from rpl_fflush.
22732         (rpl_fflush): Use them.
22733         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
22734         (gl_REPLACE_FFLUSH): Use it.
22735
22736 2008-04-26  Bruno Haible  <bruno@clisp.org>
22737
22738         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
22739         on Solaris.
22740         * tests/test-xstrtoimax.sh: Likewise.
22741         * tests/test-xstrtoumax.sh: Likewise.
22742         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22743
22744 2008-04-26  Bruno Haible  <bruno@clisp.org>
22745
22746         * modules/memchr-tests: New file.
22747         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
22748
22749 2008-04-26  Eric Blake  <ebb9@byu.net>
22750             Bruno Haible  <bruno@clisp.org>
22751
22752         * lib/memchr.c: Include intprops.h.
22753         (__memchr): Optimize parallel detection of matching bytes. Rename local
22754         variables. Add explanatory comments.
22755
22756 2008-04-26  Bruno Haible  <bruno@clisp.org>
22757
22758         Fix module 'memchr', broken since 2000-10-28.
22759         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
22760
22761 2008-04-26  Bruno Haible  <bruno@clisp.org>
22762
22763         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
22764         comments.
22765
22766 2008-04-25  Eric Blake  <ebb9@byu.net>
22767
22768         Use native fstatat on cygwin 1.7.0.
22769         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
22770         first.
22771
22772 2008-04-23  Eric Blake  <ebb9@byu.net>
22773
22774         Improve memchr2 performance.
22775         * lib/memchr2.c (memchr2): Further optimize parallel detection of
22776         NUL bytes.
22777         * modules/memchr2 (Depends-on): Use intprops.h.
22778
22779 2008-04-23  Simon Josefsson  <simon@josefsson.org>
22780
22781         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
22782         an inline function instead of a CPP macro.  Patch by Ben Pfaff
22783         <blp@cs.stanford.edu>.
22784
22785 2008-04-23  Simon Josefsson  <simon@josefsson.org>
22786
22787         * lib/arpa_inet.in.h: New file.
22788
22789         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
22790         (Makefile.am): Sed in substitute header file.
22791
22792         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
22793         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
22794
22795         * modules/inet_ntop (configure.ac): Use
22796         gl_ARPA_INET_MODULE_INDICATOR.
22797
22798         * modules/inet_pton (configure.ac): Use
22799         gl_ARPA_INET_MODULE_INDICATOR.
22800
22801 2008-04-22  Jim Meyering  <meyering@redhat.com>
22802
22803         * modules/verify (License): Re-license as LGPLv2+.
22804
22805 2008-04-22  Simon Josefsson  <simon@josefsson.org>
22806
22807         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
22808         parameter to void* as per POSIX standard (MinGW uses char*).
22809
22810 2008-04-21  Bruno Haible  <bruno@clisp.org>
22811
22812         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22813         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
22814         Define to replacements if REPLACE_ISWCNTRL is 1.
22815         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
22816         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
22817         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
22818         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
22819         what it fixes.
22820         * doc/posix-functions/iswalpha.texi: Likewise.
22821         * doc/posix-functions/iswblank.texi: Likewise.
22822         * doc/posix-functions/iswcntrl.texi: Likewise.
22823         * doc/posix-functions/iswdigit.texi: Likewise.
22824         * doc/posix-functions/iswgraph.texi: Likewise.
22825         * doc/posix-functions/iswlower.texi: Likewise.
22826         * doc/posix-functions/iswprint.texi: Likewise.
22827         * doc/posix-functions/iswpunct.texi: Likewise.
22828         * doc/posix-functions/iswspace.texi: Likewise.
22829         * doc/posix-functions/iswupper.texi: Likewise.
22830         * doc/posix-functions/iswxdigit.texi: Likewise.
22831         Reported by Alain Guibert.
22832
22833 2008-04-21  Bruno Haible  <bruno@clisp.org>
22834
22835         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
22836         Patch by Alain Guibert.
22837
22838 2008-04-21  Bruno Haible  <bruno@clisp.org>
22839
22840         Fix test failures on mingw.
22841         * tests/test-xstrtol.c (print_no_progname): New function.
22842         (main): Install it in error_print_progname hook.
22843         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
22844         * tests/test-xstrtoimax.sh: Likewise.
22845         * tests/test-xstrtoumax.sh: Likewise.
22846
22847 2008-04-21  Bruno Haible  <bruno@clisp.org>
22848
22849         Fix test failure on mingw.
22850         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
22851
22852 2008-04-21  Bruno Haible  <bruno@clisp.org>
22853
22854         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
22855         Actually assign a value.
22856
22857 2008-04-20  Bruno Haible  <bruno@clisp.org>
22858
22859         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
22860         take 2.
22861         * lib/canonicalize.c (canonicalize_file_name): Elide if the
22862         'canonicalize-lgpl' module is also used.
22863         * lib/canonicalize-lgpl.c: Undo last change.
22864         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
22865
22866 2008-04-20  Bruno Haible  <bruno@clisp.org>
22867
22868         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
22869         config.h. Provide _mkdir based fallback for mingw.
22870         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
22871         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
22872         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
22873         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
22874         rather than defining mkdir in config.h.
22875         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
22876         (gl_SYS_STAT_H_DEFAULTS): New macro.
22877         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
22878         HAVE_IO_H any more.
22879         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
22880         HAVE_DECL_MKDIR and HAVE_IO_H.
22881
22882 2008-04-20  Bruno Haible  <bruno@clisp.org>
22883
22884         * lib/isapipe.c: Port to native Windows platforms.
22885
22886 2008-04-20  Bruno Haible  <bruno@clisp.org>
22887
22888         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
22889
22890 2008-04-21  Eric Blake  <ebb9@byu.net>
22891
22892         Work around preprocessors that don't handle UINTMAX_MAX.
22893         * lib/memchr2.c (memchr2): Avoid embedded #if.
22894         Reported by Alain Guibert, fix suggested by Bruno Haible.
22895
22896 2008-04-21  Simon Josefsson  <simon@josefsson.org>
22897
22898         * doc/posix-functions/strftime.texi (strftime): Explain better
22899         Windows incompatibility.  Suggested by Micah Cowan
22900         <micah@cowan.name>.
22901
22902 2008-04-20  Bruno Haible  <bruno@clisp.org>
22903
22904         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
22905         unistr/u8-mblen.
22906
22907 2008-04-20  Bruno Haible  <bruno@clisp.org>
22908
22909         Fix test failure on platforms with non-GNU iconv.
22910         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
22911         (U_TO_U8): Use it, rather than u16_to_u8.
22912         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
22913         units at the end of the input string.
22914         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
22915
22916 2008-04-20  Bruno Haible  <bruno@clisp.org>
22917
22918         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
22919         when the resulting length is 0.
22920         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
22921
22922 2008-04-20  Bruno Haible  <bruno@clisp.org>
22923
22924         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
22925         works.
22926         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
22927
22928 2008-04-20  Bruno Haible  <bruno@clisp.org>
22929
22930         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
22931         * modules/tsearch-tests (configure.ac): Test for initstate function.
22932
22933 2008-04-20  Bruno Haible  <bruno@clisp.org>
22934
22935         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
22936         for nlink_t if missing.
22937         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
22938
22939 2008-04-19  Bruno Haible  <bruno@clisp.org>
22940
22941         Work around snprintf bug on Linux libc5.
22942         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
22943         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
22944         gl_SNPRINTF_SIZE1.
22945         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22946         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
22947         that test failed.
22948         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
22949         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
22950         * modules/snprintf (Files): Add m4/printf.m4.
22951         * modules/vsnprintf (Files): Likewise.
22952         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
22953         * doc/posix-functions/vsnprintf.texi: Likewise.
22954
22955 2008-04-19  Bruno Haible  <bruno@clisp.org>
22956
22957         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
22958         from 0.0058 to less than 10^-7.
22959
22960 2008-04-19  Bruno Haible  <bruno@clisp.org>
22961
22962         Fix rounding when a precision is given.
22963         * lib/vasnprintf.c (is_borderline): New function.
22964         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
22965         9...9x.
22966         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
22967         %e, %g.
22968         * tests/test-vasprintf-posix.c (test_function): Likewise.
22969         * tests/test-snprintf-posix.h (test_function): Likewise.
22970         * tests/test-sprintf-posix.h (test_function): Likewise.
22971         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
22972         * tests/test-printf-posix.h (test_function): Likewise.
22973         * tests/test-printf-posix.output: Update.
22974         Reported by John Darrington <john@darrington.wattle.id.au> via
22975         Ben Pfaff <blp@cs.stanford.edu>.
22976
22977 2008-04-18  Simon Josefsson  <simon@josefsson.org>
22978
22979         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
22980         Suggested by Bruno Haible <bruno@clisp.org>.
22981
22982 2008-04-17  Bruno Haible  <bruno@clisp.org>
22983
22984         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
22985         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
22986         implementation.
22987         Patch by Bruce Merry <bmerry@gmail.com>.
22988
22989 2008-04-17  Simon Josefsson  <simon@josefsson.org>
22990
22991         * doc/posix-functions/strftime.texi (strftime): Mention that %e
22992         doesn't work under Windows.
22993
22994 2008-04-16  Bruno Haible  <bruno@clisp.org>
22995
22996         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
22997         New macros.
22998         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
22999         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
23000         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
23001         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
23002         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
23003         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
23004         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
23005         macros.
23006         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
23007         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
23008         Northern Sotho, Uighur.
23009
23010 2008-04-16  Bruno Haible  <bruno@clisp.org>
23011
23012         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
23013         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
23014         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
23015         Reported by Daniel Bergström <daniel@octocode.com>.
23016
23017 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
23018             Bruno Haible  <bruno@clisp.org>
23019
23020         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
23021         function.
23022         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
23023         New functions, mostly extracted from gl_locale_name_default.
23024         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
23025
23026 2008-04-16  Eric Blake  <ebb9@byu.net>
23027
23028         Adjust strtod detection to catch glibc 2.7 bug.
23029         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
23030         Reported by John Gatewood Ham.
23031
23032 2008-04-16  Bruno Haible  <bruno@clisp.org>
23033
23034         Add tentative support for Linux libc5.
23035         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
23036         * lib/fpurge.c (fpurge): Likewise.
23037         * lib/freadable.c (freadable): Likewise.
23038         * lib/freadahead.c (freadahead): Likewise.
23039         * lib/freading.c (freading): Likewise.
23040         * lib/freadptr.c (freadptr): Likewise.
23041         * lib/freadseek.c (freadptrinc): Likewise.
23042         * lib/fseeko.c (rpl_fseeko): Likewise.
23043         * lib/fseterr.c (fseterr): Likewise.
23044         * lib/fwritable.c (fwritable): Likewise.
23045         * lib/fwriting.c (fwriting): Likewise.
23046         Reported by Alain Guibert <alguibert+bts@free.fr>.
23047
23048 2008-04-15  Bruno Haible  <bruno@clisp.org>
23049
23050         * modules/mathl (configure.ac): Define module indicator.
23051
23052 2008-04-15  Bruno Haible  <bruno@clisp.org>
23053
23054         * lib/logl.c (logl): Remove unused variables.
23055
23056 2008-04-15  Bruno Haible  <bruno@clisp.org>
23057
23058         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
23059         fails.
23060
23061 2008-04-15  Bruno Haible  <bruno@clisp.org>
23062
23063         * lib/trim.c (trim2): Fix argument of isspace() macro.
23064
23065 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
23066
23067         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
23068         to 0.
23069         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
23070
23071 2008-04-14  Bruno Haible  <bruno@clisp.org>
23072
23073         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
23074         AC_LANG_PROGRAM argument.
23075         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
23076         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
23077         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23078         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23079         * m4/math_h.m4 (gl_MATH_H): Likewise.
23080         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23081         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23082         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23083         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23084         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23085         * m4/regex.m4 (gl_REGEX): Likewise.
23086         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
23087         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
23088         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23089         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
23090         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23091         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23092         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23093         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23094
23095 2008-04-14  Jim Meyering  <meyering@redhat.com>
23096
23097         test-strtod: fix typos: s/abs/fabs/
23098         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
23099
23100 2008-04-13  Bruno Haible  <bruno@clisp.org>
23101
23102         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
23103         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
23104         module is also used and while not building the reloc-wrapper.
23105
23106 2008-04-13  Bruno Haible  <bruno@clisp.org>
23107
23108         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
23109
23110 2008-04-13  Bruno Haible  <bruno@clisp.org>
23111
23112         Fix AIX compilation failure introduced on 2008-04-02.
23113         * tests/test-frexp.c (exp): Undefine before redefining.
23114         * tests/test-frexpl.c (exp): Likewise.
23115
23116 2008-04-13  Bruno Haible  <bruno@clisp.org>
23117
23118         Work around a HP-UX stdio bug.
23119         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
23120         * tests/test-ftello.c (main): Likewise.
23121         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
23122         * doc/posix-functions/ftello.texi: Likewise.
23123
23124 2008-04-13  Bruno Haible  <bruno@clisp.org>
23125
23126         Make test-signbit pass on HP-UX/hppa.
23127         * tests/test-signbit.c (minus_zerol): New variable.
23128         (test_signbitl): Use it.
23129
23130 2008-04-13  Bruno Haible  <bruno@clisp.org>
23131
23132         Make truncl work on OSF/1 4.0.
23133         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
23134         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23135         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23136         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
23137         HAVE_DECL_TRUNCL.
23138         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
23139         HAVE_DECL_TRUNCL.
23140         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
23141
23142 2008-04-13  Bruno Haible  <bruno@clisp.org>
23143
23144         * lib/unictype.h: Remove trailing comma from enumeration definitions.
23145
23146 2008-04-13  Bruno Haible  <bruno@clisp.org>
23147
23148         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
23149         expression, so as to avoid HP-UX 11 cc compiler bug.
23150
23151 2008-04-13  Bruno Haible  <bruno@clisp.org>
23152
23153         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
23154
23155 2008-04-13  Bruno Haible  <bruno@clisp.org>
23156
23157         * lib/git-merge-changelog.c: Remove empty declaration outside of
23158         functions.
23159
23160 2008-04-13  Bruno Haible  <bruno@clisp.org>
23161
23162         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
23163
23164 2008-04-13  Bruno Haible  <bruno@clisp.org>
23165
23166         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
23167         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
23168         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
23169         also if it exists but lacks definitions of the SHUT_* macros.
23170         * modules/sys_socket (Description): Update.
23171         Reported by Elbert Pol <e.pol@chello.nl>.
23172
23173 2008-04-13  Bruno Haible  <bruno@clisp.org>
23174
23175         * lib/localcharset.c (OS2): Don't redefine if already defined.
23176         Reported by Elbert Pol <e.pol@chello.nl>.
23177
23178 2008-04-13  Bruno Haible  <bruno@clisp.org>
23179
23180         * lib/binary-io.h [__EMX__]: Include <io.h>.
23181         Reported by Elbert Pol <e.pol@chello.nl>.
23182
23183 2008-04-12  Bruno Haible  <bruno@clisp.org>
23184
23185         * lib/fpucw.h: Enable the definitions also for x86_64.
23186         Needed for NetBSD/x86_64.
23187         Reported by Thomas Klausner <tk@giga.or.at>.
23188
23189 2008-04-12  Bruno Haible  <bruno@clisp.org>
23190
23191         * tests/test-strtod.c: Include isnand.h.
23192         (main): Use isnand instead of isnan.
23193         Reported by Jim Meyering.
23194
23195 2008-04-12  Bruno Haible  <bruno@clisp.org>
23196
23197         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
23198         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23199
23200 2008-04-12  Jim Meyering  <meyering@redhat.com>
23201
23202         * m4/math_h.m4 (gl_MATH_H): Fix typos.
23203
23204 2008-04-12  Bruno Haible  <bruno@clisp.org>
23205
23206         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
23207         Reported by Elbert Pol <e.pol@chello.nl>.
23208
23209 2008-04-12  Eric Blake  <ebb9@byu.net>
23210
23211         Work around Solaris 10 math.h bug.
23212         * m4/math_h.m4 (gl_MATH_H): Check for bug.
23213         (gl_MATH_H_DEFAULTS): Set up default.
23214         * modules/math (Makefile.am): Replace new indicators.
23215         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
23216         * tests/test-math.c (main): Test this.
23217         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
23218         * doc/posix-headers/math.texi (math.h): Mention bug.
23219         Reported by Nelson H. F. Beebe and Jim Meyering.
23220
23221 2008-04-11  Bruno Haible  <bruno@clisp.org>
23222
23223         Adapt to future versions of Apple GCC.
23224         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
23225         Reported by Peter O'Gorman <peter@pogma.com>.
23226
23227 2008-04-11  Bruno Haible  <bruno@clisp.org>
23228
23229         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
23230
23231 2008-04-11  Bruno Haible  <bruno@clisp.org>
23232
23233         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
23234
23235         * modules/getaddrinfo-tests (Makefile.am): Define
23236         test_getaddrinfo_LDADD.
23237
23238 2008-04-11  Bruno Haible  <bruno@clisp.org>
23239
23240         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
23241         (init): Fix syntax error.
23242         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
23243         is declared.
23244
23245 2008-04-11  Bruno Haible  <bruno@clisp.org>
23246
23247         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
23248         * modules/glob (Depends-on): Add stdbool.
23249
23250 2008-04-11  Bruno Haible  <bruno@clisp.org>
23251
23252         * lib/trim.c: Include <string.h>.
23253
23254 2008-04-11  Eric Blake  <ebb9@byu.net>
23255
23256         Avoid compile failure on OS/2.
23257         * lib/regex_internal.h (internal_function): Disable optimization
23258         on OS/2 (__EMX__), where it caused compiler error.
23259         Reported by Elbert Pol.
23260
23261 2008-04-11  Bruno Haible  <bruno@clisp.org>
23262
23263         Flush the standard error stream before aborting. Needed on mingw.
23264         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
23265         * tests/test-array_list.c (ASSERT): Likewise.
23266         * tests/test-array_oset.c (ASSERT): Likewise.
23267         * tests/test-avltree_list.c (ASSERT): Likewise.
23268         * tests/test-avltree_oset.c (ASSERT): Likewise.
23269         * tests/test-avltreehash_list.c (ASSERT): Likewise.
23270         * tests/test-binary-io.c (ASSERT): Likewise.
23271         * tests/test-byteswap.c (ASSERT): Likewise.
23272         * tests/test-c-ctype.c (ASSERT): Likewise.
23273         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
23274         * tests/test-c-strcasestr.c (ASSERT): Likewise.
23275         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
23276         * tests/test-c-strstr.c (ASSERT): Likewise.
23277         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
23278         * tests/test-canonicalize.c (ASSERT): Likewise.
23279         * tests/test-carray_list.c (ASSERT): Likewise.
23280         * tests/test-ceilf1.c (ASSERT): Likewise.
23281         * tests/test-ceilf2.c (ASSERT): Likewise.
23282         * tests/test-ceill.c (ASSERT): Likewise.
23283         * tests/test-count-one-bits.c (ASSERT): Likewise.
23284         * tests/test-fbufmode.c (ASSERT): Likewise.
23285         * tests/test-fflush2.c (ASSERT): Likewise.
23286         * tests/test-floorf1.c (ASSERT): Likewise.
23287         * tests/test-floorf2.c (ASSERT): Likewise.
23288         * tests/test-floorl.c (ASSERT): Likewise.
23289         * tests/test-fopen.c (ASSERT): Likewise.
23290         * tests/test-fpending.c (ASSERT): Likewise.
23291         * tests/test-fprintf-posix.c (ASSERT): Likewise.
23292         * tests/test-fpurge.c (ASSERT): Likewise.
23293         * tests/test-freadable.c (ASSERT): Likewise.
23294         * tests/test-freadahead.c (ASSERT): Likewise.
23295         * tests/test-freading.c (ASSERT): Likewise.
23296         * tests/test-freadptr.c (ASSERT): Likewise.
23297         * tests/test-freadptr2.c (ASSERT): Likewise.
23298         * tests/test-freadseek.c (ASSERT): Likewise.
23299         * tests/test-freopen.c (ASSERT): Likewise.
23300         * tests/test-frexp.c (ASSERT): Likewise.
23301         * tests/test-frexpl.c (ASSERT): Likewise.
23302         * tests/test-fseek.c (ASSERT): Likewise.
23303         * tests/test-fseeko.c (ASSERT): Likewise.
23304         * tests/test-fstrcmp.c (ASSERT): Likewise.
23305         * tests/test-ftell.c (ASSERT): Likewise.
23306         * tests/test-ftello.c (ASSERT): Likewise.
23307         * tests/test-func.c (ASSERT): Likewise.
23308         * tests/test-fwritable.c (ASSERT): Likewise.
23309         * tests/test-fwriting.c (ASSERT): Likewise.
23310         * tests/test-getdelim.c (ASSERT): Likewise.
23311         * tests/test-getline.c (ASSERT): Likewise.
23312         * tests/test-i-ring.c (ASSERT): Likewise.
23313         * tests/test-iconv-utf.c (ASSERT): Likewise.
23314         * tests/test-iconv.c (ASSERT): Likewise.
23315         * tests/test-isfinite.c (ASSERT): Likewise.
23316         * tests/test-isnand.c (ASSERT): Likewise.
23317         * tests/test-isnanf.c (ASSERT): Likewise.
23318         * tests/test-isnanl.h (ASSERT): Likewise.
23319         * tests/test-ldexpl.c (ASSERT): Likewise.
23320         * tests/test-linked_list.c (ASSERT): Likewise.
23321         * tests/test-linkedhash_list.c (ASSERT): Likewise.
23322         * tests/test-localename.c (ASSERT): Likewise.
23323         * tests/test-lseek.c (ASSERT): Likewise.
23324         * tests/test-mbscasecmp.c (ASSERT): Likewise.
23325         * tests/test-mbscasestr1.c (ASSERT): Likewise.
23326         * tests/test-mbscasestr2.c (ASSERT): Likewise.
23327         * tests/test-mbscasestr3.c (ASSERT): Likewise.
23328         * tests/test-mbscasestr4.c (ASSERT): Likewise.
23329         * tests/test-mbschr.c (ASSERT): Likewise.
23330         * tests/test-mbscspn.c (ASSERT): Likewise.
23331         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
23332         * tests/test-mbspbrk.c (ASSERT): Likewise.
23333         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
23334         * tests/test-mbsrchr.c (ASSERT): Likewise.
23335         * tests/test-mbsspn.c (ASSERT): Likewise.
23336         * tests/test-mbsstr1.c (ASSERT): Likewise.
23337         * tests/test-mbsstr2.c (ASSERT): Likewise.
23338         * tests/test-mbsstr3.c (ASSERT): Likewise.
23339         * tests/test-memchr2.c (ASSERT): Likewise.
23340         * tests/test-memmem.c (ASSERT): Likewise.
23341         * tests/test-open.c (ASSERT): Likewise.
23342         * tests/test-printf-frexp.c (ASSERT): Likewise.
23343         * tests/test-printf-frexpl.c (ASSERT): Likewise.
23344         * tests/test-printf-posix.c (ASSERT): Likewise.
23345         * tests/test-quotearg.c (ASSERT): Likewise.
23346         * tests/test-rbtree_list.c (ASSERT): Likewise.
23347         * tests/test-rbtree_oset.c (ASSERT): Likewise.
23348         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
23349         * tests/test-round1.c (ASSERT): Likewise.
23350         * tests/test-roundf1.c (ASSERT): Likewise.
23351         * tests/test-roundl.c (ASSERT): Likewise.
23352         * tests/test-signbit.c (ASSERT): Likewise.
23353         * tests/test-sleep.c (ASSERT): Likewise.
23354         * tests/test-snprintf-posix.c (ASSERT): Likewise.
23355         * tests/test-snprintf.c (ASSERT): Likewise.
23356         * tests/test-sprintf-posix.c (ASSERT): Likewise.
23357         * tests/test-stat-time.c (ASSERT): Likewise.
23358         * tests/test-strcasestr.c (ASSERT): Likewise.
23359         * tests/test-strerror.c (ASSERT): Likewise.
23360         * tests/test-striconv.c (ASSERT): Likewise.
23361         * tests/test-striconveh.c (ASSERT): Likewise.
23362         * tests/test-striconveha.c (ASSERT): Likewise.
23363         * tests/test-strsignal.c (ASSERT): Likewise.
23364         * tests/test-strstr.c (ASSERT): Likewise.
23365         * tests/test-strtod.c (ASSERT): Likewise.
23366         * tests/test-trunc1.c (ASSERT): Likewise.
23367         * tests/test-trunc2.c (ASSERT): Likewise.
23368         * tests/test-truncf1.c (ASSERT): Likewise.
23369         * tests/test-truncf2.c (ASSERT): Likewise.
23370         * tests/test-truncl.c (ASSERT): Likewise.
23371         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
23372         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
23373         * tests/test-vasnprintf.c (ASSERT): Likewise.
23374         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
23375         * tests/test-vasprintf.c (ASSERT): Likewise.
23376         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
23377         * tests/test-vprintf-posix.c (ASSERT): Likewise.
23378         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
23379         * tests/test-vsnprintf.c (ASSERT): Likewise.
23380         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
23381         * tests/test-wcwidth.c (ASSERT): Likewise.
23382         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
23383         * tests/test-xprintf-posix.c (ASSERT): Likewise.
23384         * tests/test-xvasprintf.c (ASSERT): Likewise.
23385         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
23386         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
23387         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
23388         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
23389         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
23390         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
23391         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
23392         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
23393         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
23394         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
23395         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
23396         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
23397         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
23398         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
23399         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
23400         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
23401         * tests/unictype/test-block_list.c (ASSERT): Likewise.
23402         * tests/unictype/test-block_of.c (ASSERT): Likewise.
23403         * tests/unictype/test-block_test.c (ASSERT): Likewise.
23404         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
23405         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
23406         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
23407         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
23408         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
23409         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
23410         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
23411         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
23412         * tests/unictype/test-combining.c (ASSERT): Likewise.
23413         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
23414         * tests/unictype/test-digit.c (ASSERT): Likewise.
23415         * tests/unictype/test-mirror.c (ASSERT): Likewise.
23416         * tests/unictype/test-numeric.c (ASSERT): Likewise.
23417         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
23418         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
23419         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
23420         * tests/unictype/test-scripts.c (ASSERT): Likewise.
23421         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
23422         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
23423         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
23424         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
23425         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
23426         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
23427         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
23428         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
23429         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
23430         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
23431         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
23432         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
23433         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
23434         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
23435         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
23436         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
23437         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
23438         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
23439         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
23440         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
23441         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
23442         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
23443         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
23444         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
23445         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
23446         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
23447         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
23448         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
23449         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
23450         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
23451         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
23452         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
23453         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
23454         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
23455         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
23456         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
23457         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
23458         Reported by Eric Blake.
23459
23460 2008-04-11  Bruno Haible  <bruno@clisp.org>
23461
23462         * lib/wchar.in.h: Tweak comment.
23463
23464 2008-04-11  Bruno Haible  <bruno@clisp.org>
23465
23466         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
23467         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
23468         gl_COMMON.
23469         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
23470
23471 2008-04-11  Bruno Haible  <bruno@clisp.org>
23472
23473         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
23474
23475 2008-04-11  Simon Josefsson  <simon@josefsson.org>
23476
23477         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
23478         of attempting to use non-existing /dev/*random.  Based on patch
23479         from Adam Strzelecki <ono@java.pl> in
23480         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
23481
23482 2008-04-08  Bruno Haible  <bruno@clisp.org>
23483
23484         Add tentative support for emx+gcc.
23485         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
23486         * lib/fpurge.c (fpurge): Likewise.
23487         * lib/freadable.c (freadable): Likewise.
23488         * lib/freadahead.c (freadahead): Likewise.
23489         * lib/freading.c (freading): Likewise.
23490         * lib/freadptr.c (freadptr): Likewise.
23491         * lib/freadseek.c (freadptrinc): Likewise.
23492         * lib/fseeko.c (rpl_fseeko): Likewise.
23493         * lib/fseterr.c (fseterr): Likewise.
23494         * lib/fwritable.c (fwritable): Likewise.
23495         * lib/fwriting.c (fwriting): Likewise.
23496         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
23497
23498 2008-04-09  Eric Blake  <ebb9@byu.net>
23499
23500         Avoid some autoconf warnings.
23501         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
23502         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
23503         * m4/afs.m4 (gl_AFS): Likewise.
23504         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
23505         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
23506         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23507         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
23508         (gl_INTEGER_TYPE_SUFFIX): Likewise.
23509         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
23510         (AC_CHECK_DECLS_ONCE): Likewise.
23511         Rename file...
23512         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
23513         gnulib-tool requires autoconf 2.59 or better.
23514         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
23515
23516 2008-04-08  Eric Blake  <ebb9@byu.net>
23517
23518         Use 'git describe --match' if present (added in git 1.5.5).
23519         * build-aux/git-version-gen: Limit result to tags that match 'v*'
23520         if possible.
23521
23522 2008-04-08  Bruno Haible  <bruno@clisp.org>
23523
23524         Add tentative support for OpenServer.
23525         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
23526         _ptr, _cnt.
23527         * lib/fpurge.c (fpurge): Likewise.
23528         * lib/freadable.c (freadable): Likewise.
23529         * lib/freadahead.c (freadahead): Likewise.
23530         * lib/freading.c (freading): Likewise.
23531         * lib/freadptr.c (freadptr): Likewise.
23532         * lib/freadseek.c (freadptrinc): Likewise.
23533         * lib/fseeko.c (rpl_fseeko): Likewise.
23534         * lib/fseterr.c (fseterr): Likewise.
23535         * lib/fwritable.c (fwritable): Likewise.
23536         * lib/fwriting.c (fwriting): Likewise.
23537         Reported by Roger Cornelius <rac@tenzing.org> and
23538         Brian K. White <brian@aljex.com>.
23539
23540 2008-04-06  Jim Meyering  <meyering@redhat.com>
23541
23542         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
23543
23544 2008-04-06  Bruno Haible  <bruno@clisp.org>
23545
23546         Avoid possible error with non-ASCII bytes in UTF-8 locales.
23547         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
23548         * tests/test-printf-posix.sh: Likewise.
23549         * tests/test-vfprintf-posix.sh: Likewise.
23550         * tests/test-vprintf-posix.sh: Likewise.
23551         * tests/test-xprintf-posix.sh: Likewise.
23552
23553 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23554
23555         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
23556         hide error from 'ls', needed on OS/2.
23557         Report by Elbert Pol <elbert.pol@gmail.com>.
23558
23559 2008-04-04  Eric Blake  <ebb9@byu.net>
23560
23561         Make test-fseeko.c failures meaningful.
23562         * tests/test-fseeko.c: Print line number on failure.
23563         * tests/test-fseek.c: Likewise.
23564         Reported by Nelson H. F. Beebe.
23565
23566         Improve strtod bug detection check.
23567         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
23568         required for Solaris 10.
23569         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
23570
23571 2008-04-04  Bruno Haible  <bruno@clisp.org>
23572
23573         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
23574         by m4/setenv.m4.
23575
23576 2008-04-03  Eric Blake  <ebb9@byu.net>
23577
23578         Ensure sane .version contents.
23579         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
23580         version string.
23581         * build-aux/git-version-gen: Improve documentation.
23582
23583         Make GNU make output nicer.
23584         * top/GNUmakefile [!_have-Makefile]: Add dependency on
23585         MAKECMDGOALS to enforce message for all command line targets.  Set
23586         srcdir for use in maint.mk.
23587
23588         Another maintainer tweak.
23589         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
23590         a target that regenerates version.
23591
23592 2008-04-03  Jim Meyering  <meyering@redhat.com>
23593
23594         vc-list-files: don't cause coreutils "make po-check" failure
23595         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
23596
23597 2008-04-03  Eric Blake  <ebb9@byu.net>
23598
23599         Allow VPATH usage of vc-list-files.
23600         * build-aux/vc-list-files (scriptversion): Add timestamp.
23601         (options): Add --help, --version, -C.
23602         (CVS): Support installed cvsu.
23603
23604 2008-04-02  Bruno Haible  <bruno@clisp.org>
23605
23606         Avoid some "statement with no effect" warnings from gcc.
23607         * tests/test-wctype.c (main): Explicitly ignore unused values.
23608         Reported by Jim Meyering.
23609
23610 2008-04-02  Jim Meyering  <meyering@redhat.com>
23611
23612         Avoid some warnings from "gcc -Wshadow".
23613         * tests/test-frexp.c (exp): Define to a different identifier.
23614         * tests/test-frexpl.c (exp): Likewise.
23615
23616 2008-04-03  Jim Meyering  <meyering@redhat.com>
23617
23618         bootstrap: remove dangling *.[ch] symlinks from lib
23619         * build-aux/bootstrap [dangling symlink removal]: Move find's
23620         -depth option to precede all others, to avoid a warning.
23621         Remove *.[ch] files too, and from "$source_base" (usually lib/).
23622
23623 2008-04-02  Bruno Haible  <bruno@clisp.org>
23624
23625         Avoid some warnings from "gcc -Wshadow".
23626         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
23627         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
23628         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
23629         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
23630         Reported by Jim Meyering.
23631
23632 2008-04-01  Bruno Haible  <bruno@clisp.org>
23633
23634         Fix test to work on IRIX 6.5 with cc.
23635         * tests/test-math.c (numeric_equal): New function.
23636         (main): Use it.
23637
23638 2008-04-01  Bruno Haible  <bruno@clisp.org>
23639
23640         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
23641
23642 2008-04-01  Bruno Haible  <bruno@clisp.org>
23643
23644         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
23645         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23646         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
23647         (Depends-on): Remove math.
23648
23649         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
23650         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23651         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
23652         (Depends-on): Remove math.
23653
23654         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
23655         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23656         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
23657         (Depends-on): Remove math.
23658         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
23659         (Depends-on): Remove math.
23660
23661         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
23662         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
23663         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
23664         (Depends-on): Remove math.
23665         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
23666         (Depends-on): Remove math.
23667
23668         * tests/test-round1.c: Include nan.h.
23669         (main): Use NaNd instead of NAN.
23670         * modules/round-tests (Files): Add tests/nan.h.
23671
23672         * tests/test-trunc1.c: Include nan.h.
23673         (main): Use NaNd instead of NAN.
23674         * modules/trunc-tests (Files): Add tests/nan.h.
23675
23676         * tests/test-roundf1.c: Include nan.h.
23677         (main): Use NaNf instead of NAN.
23678         * modules/roundf-tests (Files): Add tests/nan.h.
23679
23680         * tests/test-truncf1.c: Include nan.h.
23681         (main): Use NaNf instead of NAN.
23682         * modules/truncf-tests (Files): Add tests/nan.h.
23683
23684         * tests/test-ceilf1.c: Include nan.h.
23685         (main): Use NaNf instead of NAN.
23686         * modules/ceilf-tests (Files): Add tests/nan.h.
23687
23688         * tests/test-floorf1.c: Include nan.h.
23689         (main): Use NaNf instead of NAN.
23690         * modules/floorf-tests (Files): Add tests/nan.h.
23691
23692         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
23693         (main): Use NaNf instead of NAN.
23694         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
23695
23696         * tests/test-isnand.c: Include nan.h instead of <math.h>.
23697         (main): Use NaNd instead of NAN.
23698         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
23699
23700         * tests/test-frexp.c: Include nan.h.
23701         (main): Use NaNd instead of NAN.
23702         * modules/frexp-tests (Files): Add tests/nan.h.
23703
23704         * lib/isnan.c: Don't include <math.h>.
23705         (FUNC): Don't use NAN macro.
23706         * modules/isnand-nolibm (Depends-on): Remove math.
23707         * modules/isnanf-nolibm (Depends-on): Remove math.
23708         * modules/isnanl (Depends-on): Remove math.
23709         * modules/isnanl-nolibm (Depends-on): Remove math.
23710
23711         * tests/nan.h: New file.
23712
23713 2008-04-01  Eric Blake  <ebb9@byu.net>
23714
23715         Fix typos.
23716         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
23717         values to be the right type.
23718
23719         For now, cater to gnulib strtod inaccuracies.
23720         * tests/test-strtod.c (main): Allow 1-ulp error on expected
23721         fractional results.  While not as nice from a QoI perspective, it
23722         is a quicker patch than correctly implementing decimal to binary
23723         rounding.
23724
23725 2008-03-31  Eric Blake  <ebb9@byu.net>
23726
23727         Guarantee a definition of NAN.
23728         * lib/math.in.h (NAN): Define if missing.
23729         * tests/test-math.c (main): Test it.
23730         * doc/posix-headers/math.texi (math.h): Document this.
23731         * lib/isnan.c (rpl_isnand): Use it.
23732         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
23733         * tests/test-floorf1.c (NaN): Likewise.
23734         * tests/test-frexp.c (NaN): Likewise.
23735         * tests/test-isnand.c (NaN): Likewise.
23736         * tests/test-isnanf.c (NaN): Likewise.
23737         * tests/test-round1.c (NaN): Likewise.
23738         * tests/test-roundf1.c (NaN): Likewise.
23739         * tests/test-snprintf-posix.h (NaN): Likewise.
23740         * tests/test-sprintf-posix.h (NaN): Likewise.
23741         * tests/test-trunc1.c (NaN): Likewise.
23742         * tests/test-truncf1.c (NaN): Likewise.
23743         * tests/test-vasnprintf-posix.c (NaN): Likewise.
23744         * tests/test-vasprintf-posix.c (NaN): Likewise.
23745         * modules/isnand-nolibm (Depends-on): Add math.
23746         * modules/isnanf-nolibm (Depends-on): Likewise.
23747         * modules/isnanl (Depends-on): Likewise.
23748         * modules/isnanl-nolibm (Depends-on): Likewise.
23749         * modules/snprintf-posix-tests (Depends-on): Likewise.
23750         * modules/sprintf-posix-tests (Depends-on): Likewise.
23751         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
23752         * modules/vsprintf-posix-tests (Depends-on): Likewise.
23753         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
23754         * modules/vasprintf-posix-tests (Depends-on): Likewise.
23755
23756 2008-03-31  Bruno Haible  <bruno@clisp.org>
23757
23758         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
23759         * doc/posix-functions/strtod.texi: Likewise.
23760
23761 2008-03-31  Bruno Haible  <bruno@clisp.org>
23762
23763         * tests/test-strtod.c (main): Don't use C99 syntax.
23764
23765 2008-03-31  Bruno Haible  <bruno@clisp.org>
23766
23767         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
23768         Reported by Eric Blake.
23769
23770 2008-03-31  Jim Meyering  <meyering@redhat.com>
23771
23772         Don't compare actual signbit return values.
23773         * tests/test-strtod.c (main): Rather, compare only their
23774         zero/non-zero nature.
23775
23776 2008-03-31  Eric Blake  <ebb9@byu.net>
23777
23778         More strtod documentation.
23779         * doc/posix-functions/strtod.texi (strtod): Interpret more test
23780         failures as distinct bugs.
23781
23782 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23783
23784         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
23785         Problem reported by Erik Benada in
23786         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
23787
23788 2008-03-30  Bruno Haible  <bruno@clisp.org>
23789
23790         * tests/test-strtod.c: Add comments about which assertion fails on which
23791         platform.
23792         * doc/posix-functions/strtod.texi: Add info about many more platforms.
23793
23794 2008-03-30  Eric Blake  <ebb9@byu.net>
23795
23796         Test signbit behavior on zeros.
23797         * tests/test-signbit.c (test_signbitf): Add tests for zero.
23798         (test_signbitd, test_signbitl): Likewise.
23799
23800         More strtod touchups.
23801         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
23802         sign of negative underflow, for now.  Use .5, not .1.
23803         * doc/posix-functions/strtod.texi (strtod): Mention these
23804         limitations.
23805         Reported by Jim Meyering.
23806
23807 2008-03-30  Bruno Haible  <bruno@clisp.org>
23808
23809         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
23810         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
23811
23812 2008-03-30  Bruno Haible  <bruno@clisp.org>
23813
23814         Avoid failure when attempting to return empty iconv results on some
23815         platforms.
23816         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
23817         allocation, don't report ENOMEM when the resulting string is empty.
23818
23819 2008-03-30  Bruno Haible  <bruno@clisp.org>
23820
23821         Fix buffer overrun.
23822         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
23823         Don't consider the width for tmp_length. Check count against tmp_length
23824         before doing the padding. Ensure enough allocation during padding.
23825
23826 2008-03-30  Eric Blake  <ebb9@byu.net>
23827
23828         strtod touchups.
23829         * lib/strtod.c (strtod): Avoid compiler warnings.
23830         Reported by Jim Meyering.
23831
23832 2008-03-30  Bruno Haible  <bruno@clisp.org>
23833
23834         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
23835         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
23836         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
23837         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
23838         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
23839         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
23840         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
23841         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
23842
23843         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
23844         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
23845         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
23846         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
23847         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
23848         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
23849         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
23850         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
23851
23852         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
23853         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
23854         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
23855         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
23856         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
23857         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
23858         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
23859         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
23860
23861         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
23862         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
23863
23864         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
23865         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
23866
23867         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
23868         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
23869
23870         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
23871         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
23872         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
23873
23874         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
23875         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
23876         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
23877
23878         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
23879         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
23880         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
23881
23882         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
23883         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
23884         * modules/vasprintf (Depends-on): Add EOVERFLOW.
23885
23886         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
23887         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
23888         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
23889         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
23890         (Depends-on): Add EOVERFLOW.
23891         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
23892         (Depends-on): Add EOVERFLOW.
23893         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
23894         (Depends-on): Add EOVERFLOW.
23895         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
23896         (Depends-on): Add EOVERFLOW.
23897         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
23898         (Depends-on): Add EOVERFLOW.
23899         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
23900         (Depends-on): Add EOVERFLOW.
23901         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
23902         (Depends-on): Add EOVERFLOW.
23903         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
23904         (Depends-on): Add EOVERFLOW.
23905
23906         * lib/sprintf.c (EOVERFLOW): Remove fallback.
23907         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
23908         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
23909
23910         * lib/snprintf.c (EOVERFLOW): Remove fallback.
23911         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
23912         * modules/snprintf (Depends-on): Add EOVERFLOW.
23913
23914         * lib/poll.c (EOVERFLOW): Remove fallback.
23915         * modules/poll (Depends-on): Add EOVERFLOW.
23916
23917         * lib/getugroups.c (EOVERFLOW): Remove fallback.
23918         * modules/getugroups (Depends-on): Add EOVERFLOW.
23919
23920         * lib/getdelim.c (EOVERFLOW): Remove fallback.
23921         * modules/getdelim (Depends-on): Add EOVERFLOW.
23922
23923         * lib/ftell.c (EOVERFLOW): Remove fallback.
23924         * modules/ftell (Depends-on): Add EOVERFLOW.
23925
23926         * lib/fprintf.c (EOVERFLOW): Remove fallback.
23927         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
23928         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
23929
23930         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
23931
23932         * modules/EOVERFLOW-tests: New file.
23933         * tests/test-EOVERFLOW.c: New file.
23934
23935         * modules/EOVERFLOW: New file.
23936         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
23937
23938 2008-03-30  Bruno Haible  <bruno@clisp.org>
23939
23940         Fix bug introduced on 2007-06-10.
23941         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
23942         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
23943
23944 2008-03-30  Bruno Haible  <bruno@clisp.org>
23945
23946         Improve freadseek's efficiency after ungetc.
23947         * lib/freadseek.c: Include freadahead.h.
23948         (freadptrinc): New function, extracted from freadseek.
23949         (freadseek): Use it in a loop. Use freadahead to determine the number
23950         of loop iterations.
23951         * modules/freadseek (Depends-on): Add freadahead.
23952         (configure.ac): Require AC_C_INLINE.
23953
23954 2008-03-30  Bruno Haible  <bruno@clisp.org>
23955
23956         * lib/freadseek.c (freadseek): Don't ignore the return value of
23957         freadptr.
23958
23959 2008-03-29  Eric Blake  <ebb9@byu.net>
23960
23961         Add hex float support.
23962         * modules/strtod (Depends-on): Add c-ctype.
23963         (Link): Mention POW_LIB.
23964         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
23965         whitespace between 'e' and exponent.
23966         * tests/test-strtod.c (main): Enable hex float tests.
23967         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
23968         now provides.
23969
23970         Document various strtod bugs, with some fixes.
23971         * doc/posix-functions/strtod.texi (strtod): Document bugs with
23972         "-0x", "inf", "nan", and hex constants.
23973         * doc/posix-functions/atof.texi (atof): Likewise.
23974         * modules/stdlib (Makefile.am): Support strtod.
23975         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23976         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
23977         detect additional strtod bugs.
23978         * lib/stdlib.in.h (rpl_strtod): Add declarations.
23979         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
23980         bool where appropriate.  Parse 'inf' and 'nan'.
23981         * tests/test-strtod.c: New file.
23982         * modules/strtod (Depends-on): Add stdbool, stdlib.
23983         (configure.ac): Turn on module indicator.
23984         * modules/strtod-tests: New module.
23985
23986 2008-03-29  Eric Blake  <ebb9@byu.net>
23987
23988         Fix ftell on mingw.
23989         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
23990         * modules/ftell-tests (Depends-on): Add binary-io.
23991         * modules/ftello-tests (Depends-on): Likewise.
23992         * tests/test-ftell.c (main): Enhance test to cover behavior after
23993         ungetc.  Enforce binary mode.
23994         * tests/test-ftello.c (main): Likewise.
23995
23996         Pass test-freadseek on cygwin.
23997         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
23998         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
23999         ungetc buffer.
24000
24001         * tests/test-fflush2.c (main): Fix typo.
24002
24003 2008-03-29  Bruno Haible  <bruno@clisp.org>
24004
24005         * tests/test-fflush2.c (main): Temporarily disable the contents of
24006         this test.
24007         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
24008         Reported by Eric Blake.
24009
24010 2008-03-28  Simon Josefsson  <simon@josefsson.org>
24011
24012         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
24013         (GC_SHA224_DIGEST_SIZE): Add.
24014
24015         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
24016         (gc_hash_digest_length): Likewise.
24017         (gc_hash_buffer): Likewise.
24018
24019 2008-03-25  Bruno Haible  <bruno@clisp.org>
24020
24021         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
24022         detail which gettext release to use.
24023         Reported by Simon Josefsson.
24024
24025 2008-03-26  Jim Meyering  <meyering@redhat.com>
24026
24027         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
24028         * modules/gnumakefile (clean-GNUmakefile): Also, use
24029         test ... && ... || : syntax rather than if-then ... fi.
24030
24031         gnumakefile: Don't double-quote-expand $(VPATH) value.
24032         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
24033
24034 2008-03-24  Eric Blake  <ebb9@byu.net>
24035
24036         Alter GNUmakefile to install into top directory.
24037         * modules/maintainer-makefile: Split, and add dependency...
24038         * modules/gnumakefile: to this new module.
24039         * build-aux/GNUmakefile: Move...
24040         * top/GNUmakefile: ...here.
24041         * build-aux/maint.mk: Move...
24042         * top/maint.mk: ...here.
24043         * MODULES.html.sh (Support for maintaining...): Document new
24044         module.
24045
24046 2008-03-23  Bruno Haible  <bruno@clisp.org>
24047
24048         * gnulib-tool: New options --vc-files, --no-vc-files.
24049         (func_usage): Document them.
24050         (vc_files): New variable.
24051         (func_import): Consider vc_files.
24052         (func_create_testdir): Set vc_files to empty.
24053         Suggested by Jim Meyering and Karl Berry.
24054
24055 2008-03-23  Bruno Haible  <bruno@clisp.org>
24056
24057         Fix regex compilation error on HP-UX 11.
24058         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
24059         * modules/regex (Files): Add m4/mbstate_t.m4.
24060         Reported by Ton Voon <ton.voon@altinity.com>.
24061
24062 2008-03-23  Bruno Haible  <bruno@clisp.org>
24063
24064         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
24065
24066 2008-03-23  Eric Blake  <ebb9@byu.net>
24067             Bruno Haible  <bruno@clisp.org>
24068
24069         Install files from top/ in the destination directory.
24070         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24071         augmentation also for the files from top/.
24072         (func_import, func_create_testdir): Rewrite file names:
24073         top/filename -> filename.
24074
24075 2008-03-23  Bruno Haible  <bruno@clisp.org>
24076
24077         Tweak "gnulib --version" output.
24078         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
24079
24080 2008-03-23  Bruno Haible  <bruno@clisp.org>
24081
24082         Tweak "gnulib --version" output.
24083         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
24084         rather than contents of ChangeLog, when possible.
24085
24086 2008-03-21  Eric Blake  <ebb9@byu.net>
24087
24088         More --version tweaks.
24089         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
24090         date of last ChangeLog entry.
24091
24092 2008-03-21  Jim Meyering  <meyering@redhat.com>
24093
24094         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
24095
24096 2008-03-20  Eric Blake  <ebb9@byu.net>
24097
24098         VPATH fix.
24099         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
24100
24101 2008-03-20  Simon Josefsson  <simon@josefsson.org>
24102
24103         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
24104         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
24105
24106 2008-03-20  Eric Blake  <ebb9@byu.net>
24107
24108         Sync GNUmakefile with coreutils.
24109         * build-aux/GNUmakefile (have-Makefile): Rename...
24110         (_have-Makefile): ...to this, for namespace consideration.
24111         (GNUmakefile.cfg): Include, if present.
24112         (_autoreconf): Define a default.
24113         (_is-dist-target): New rule for rebuilds to pick up intra-release
24114         version.
24115         (maint-cfg.mk): Rename...
24116         (cfg.mk): ...to this.
24117
24118 2008-03-18  Jim Meyering  <meyering@redhat.com>
24119
24120         New script and module: mktempd
24121         * MODULES.html.sh (maint+release support): Add mktempd.
24122         * build-aux/mktempd: New file.
24123         * modules/mktempd: New file.
24124
24125 2008-03-15  Jim Meyering  <meyering@redhat.com>
24126
24127         Undo last change.
24128         * lib/sha1.c, lib/md5.c: 63 != ~63.
24129         Reported by Andreas Schwab.
24130
24131         sha1.c, md5.c: Hoist a redundant expression.
24132         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
24133         "ctx->buflen" only once, before calling *_process_block.
24134         * lib/md5.c (md5_process_bytes): Likewise.
24135
24136 2008-03-14  Eric Blake  <ebb9@byu.net>
24137
24138         Bump copyright year in files generated by gnulib-tool.
24139         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
24140         gnulib-tool, rather than hard-coding it.
24141
24142         Fix 'gnulib-tool --version' output to work with git.
24143         * gnulib-tool (func_gnulib_dir): New function, extracted from...
24144         (startup): ...here.
24145         (func_version): Use it to invoke git-version-gen, rather than
24146         relying on CVS keyword expansion.  Modernize wording.
24147         (cvsdatestamp, last_checkin_date, version): Kill unused
24148         variables.
24149
24150 2008-03-12  Jim Meyering  <meyering@redhat.com>
24151
24152         Recognize optional cast of the argument to free.
24153         * build-aux/useless-if-before-free: Update regexps.
24154
24155         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
24156
24157 2008-03-11  Bruno Haible  <bruno@clisp.org>
24158
24159         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
24160         by a single package.
24161         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
24162         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
24163         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
24164         Reported by Sam Steingold <sds@gnu.org>.
24165
24166 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24167
24168         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
24169         repositories.
24170
24171 2008-03-11  Bruno Haible  <bruno@clisp.org>
24172
24173         Avoid conflicts between local macro definitions.
24174         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24175         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
24176
24177 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
24178             Bruno Haible  <bruno@clisp.org>
24179
24180         Make va_copy work with some version of xlc on AIX 5.1.
24181         * lib/stdarg.in.h: New file.
24182         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
24183         On AIX, use a <stdarg.h> file substitute.
24184         * modules/stdarg (Files): Add lib/stdarg.in.h.
24185         (Depends-on): Add include_next.
24186         (Makefile.am): Build a stdarg.h substitute if requested.
24187         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
24188
24189 2008-03-10  Bruno Haible  <bruno@clisp.org>
24190
24191         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
24192         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24193         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24194
24195 2008-03-10  Bruno Haible  <bruno@clisp.org>
24196
24197         * modules/stdlib (Depends-on): Add include_next, remove
24198         absolute-header.
24199
24200 2008-03-09  Bruno Haible  <bruno@clisp.org>
24201
24202         * lib/freadahead.h (freadahead): Document more precisely.
24203         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
24204         the sum of both buffer sizes.
24205         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
24206         * NEWS: Document the change.
24207
24208 2008-03-09  Bruno Haible  <bruno@clisp.org>
24209
24210         Extend freadptr to return also the buffer size.
24211         * lib/freadptr.h (freadptr): Add sizep argument.
24212         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
24213         (freadptr): Add sizep argument. Determine buffer size like freadahead
24214         does.
24215         * tests/test-freadptr.c: Don't include freadahead.h.
24216         (main): Adapt for new calling convention of freadptr.
24217         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
24218         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
24219         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
24220         tests/test-freadptr2.sh.
24221         (Depends): Remove freadahead.
24222         (TESTS): Add test-freadptr2.sh.
24223         (check_PROGRAMS): Add test-freadptr2.
24224
24225 2008-03-09  Bruno Haible  <bruno@clisp.org>
24226
24227         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
24228         Report and solution by Simon Josefsson.
24229
24230 2008-03-06  Bruno Haible  <bruno@clisp.org>
24231
24232         Make fflush after ungetc work on BSD platforms.
24233         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
24234         * tests/test-fflush2.c: New file.
24235         * tests/test-fflush2.sh: New file.
24236         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
24237         tests/test-fflush2.c.
24238         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
24239         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
24240
24241 2008-03-06  Eric Blake  <ebb9@byu.net>
24242
24243         Likewise for ftello.
24244         * modules/ftello (Dependencies): Add extensions.
24245         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
24246
24247 2008-03-06  Bruno Haible  <bruno@clisp.org>
24248
24249         * modules/fseeko (Dependencies): Add extensions.
24250         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
24251         Needed on glibc systems.
24252
24253 2008-03-06  Bruno Haible  <bruno@clisp.org>
24254
24255         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
24256         email address.
24257         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24258
24259 2008-03-06  Bruno Haible  <bruno@clisp.org>
24260
24261         * users.txt: Add libgnupdf.
24262
24263 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24264
24265         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
24266         (Header File Substitutes, Function Substitutes,
24267         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
24268         (Build robot for gnulib): Fix typo.
24269
24270 2008-03-06  Bruno Haible  <bruno@clisp.org>
24271
24272         * doc/gnulib-tool.texi (VCS Issues): Small updates.
24273         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24274
24275 2008-03-06  Bruno Haible  <bruno@clisp.org>
24276
24277         * doc/func.texi: New file, extracted from doc/gnulib.texi.
24278         * doc/gnulib.texi: Include it.
24279
24280 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24281
24282         * modules/func (License): Change license to unlimited; there was
24283         no LGPL parts in the module anyway.
24284
24285 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24286
24287         * modules/__func__: Renamed to modules/func.
24288         * modules/__func__-tests: Renamed to modules/func-tests.
24289         * tests/test-__func__.c: Renamed to tests/test-func.c.
24290         * m4/__func__.m4: Renamed to m4/func.m4.
24291         * doc/gnulib.texi (__func__): Section renamed to func.
24292         Suggested by Eric Blake <ebb9@byu.net>.
24293
24294 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24295
24296         * doc/gnulib.texi (__func__): Use C99 terminology when talking
24297         about __func__.  Make example self-contained.  Suggested by Eric
24298         Blake <ebb9@byu.net>.
24299
24300         * tests/test-__func__.c (main): Avoid extraneous () around __func.
24301         Suggested by Eric Blake <ebb9@byu.net>.
24302
24303 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24304
24305         * modules/__func__: New file.
24306         * modules/__func__-tests: New file.
24307         * tests/test-__func__.c: New file.
24308         * m4/__func__.m4: New file.
24309         * doc/gnulib.texi (__func__): Document __func__ module.
24310
24311 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24312
24313         * modules/byteswap (License): Re-license as LGPLv2+.
24314
24315 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24316
24317         * doc/Makefile: Add pdf target.
24318
24319 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24320
24321         * modules/inline (License): Use 'unlimited', since there are only
24322         *.m4 files in this module.
24323
24324 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24325             Bruno Haible  <bruno@clisp.org>
24326
24327         Add support for HP C 7.1 on OpenVMS 8.3.
24328         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
24329
24330 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24331
24332         Update VMS specifics.
24333         * lib/getopt.c [VMS]: Remove include of unixlib.h.
24334
24335 2008-03-02  Jim Meyering  <meyering@redhat.com>
24336
24337         Remove the last dependency on the "free" module.
24338         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
24339         Reported by Bob Proulx.
24340
24341         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
24342
24343         Remove useless "if" tests before free.  Deprecate "free" module.
24344         * doc/posix-functions/free.texi: Mention that this
24345         module is no longer useful.
24346         * modules/free (Notice): Say this module is obsolete.
24347         * modules/readutmp (Depends-on): Remove free.
24348         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
24349         * lib/putenv.c (putenv): Likewise.
24350         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
24351         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
24352         * tests/test-c-strcasestr.c (main): Likewise.
24353         * tests/test-c-strstr.c (main): Likewise.
24354         * tests/test-mbscasestr1.c (main): Likewise.
24355         * tests/test-mbscasestr2.c (main): Likewise.
24356         * tests/test-mbsstr1.c (main): Likewise.
24357         * tests/test-mbsstr2.c (main): Likewise.
24358         * tests/test-memmem.c (main): Likewise.
24359         * tests/test-strcasestr.c (main): Likewise.
24360         * tests/test-striconv.c (main): Likewise.
24361         * tests/test-striconveh.c (main): Likewise.
24362         * tests/test-striconveha.c (main): Likewise.
24363         * tests/test-strstr.c (main): Likewise.
24364
24365         * build-aux/git-version-gen: Adjust a comment and the Usage string.
24366
24367         bootstrap: sync from coreutils again
24368         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
24369
24370 2008-03-01  Jim Meyering  <meyering@redhat.com>
24371
24372         bootstrap: sync from coreutils
24373         * build-aux/bootstrap (update_po_files): Copy a .po file into place
24374         also when the target doesn't exist.
24375
24376 2008-03-01  Eric Blake  <ebb9@byu.net>
24377
24378         Fix bugs in last patch.
24379         * lib/memchr2.c (memchr2): Fix typo.
24380         * tests/test-memchr2.c: Test previous bug, and don't use GNU
24381         extension.
24382         Reported by Bruce Korb.
24383
24384         New module 'memchr2'.
24385         * modules/memchr2: New file.
24386         * modules/memchr2-tests: Likewise.
24387         * lib/memchr2.h: Likewise.
24388         * lib/memchr2.c: Likewise, based on memchr.c.
24389         * tests/test-memchr2.c: New test.
24390         * MODULES.html.sh (String handling): Add memchr2.
24391
24392 2008-02-29  Bruno Haible  <bruno@clisp.org>
24393
24394         * modules/freadseek-tests: New file.
24395         * tests/test-freadseek.sh: New file.
24396         * tests/test-freadseek.c: New file.
24397
24398         New module 'freadseek'.
24399         * modules/freadseek: New file.
24400         * lib/freadseek.h: New file.
24401         * lib/freadseek.c: New file.
24402         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
24403
24404 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
24405
24406         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
24407         wydawca.
24408
24409         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
24410         program_invocation_name and program_invocation_short_name are
24411         present.
24412
24413 2008-02-28  Bruno Haible  <bruno@clisp.org>
24414
24415         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
24416         * tests/test-freadptr.sh: Also test non-seekable stdin.
24417
24418 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
24419
24420         * build-aux/bootstrap (source_base, m4_base)
24421         (doc_base, tests_base): New variables.
24422         (gnulib_tool_options): Do not hardcode base directories, use
24423         the above variables instead.
24424
24425 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
24426
24427         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
24428
24429 2008-02-28  Bruno Haible  <bruno@clisp.org>
24430
24431         * modules/freadptr-tests: New file.
24432         * tests/test-freadptr.sh: New file.
24433         * tests/test-freadptr.c: New file.
24434
24435         New module 'freadptr'.
24436         * modules/freadptr: New file.
24437         * lib/freadptr.h: New file.
24438         * lib/freadptr.c: New file.
24439         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
24440
24441 2008-02-26  Karl Berry  <karl@freefriends.org>
24442
24443         Sync from Libtool:
24444         * libltdl/argz.c (argz_add, argz_count): New functions.
24445         * libltdl/argz.in.h: Declare them.
24446         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
24447
24448 2008-02-22  Bruno Haible  <bruno@clisp.org>
24449
24450         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
24451         is a pointer type.  Needed for HP-UX 10.
24452         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
24453         * doc/posix-functions/gmtime_r.texi: Likewise.
24454         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24455
24456 2008-02-24  Bruno Haible  <bruno@clisp.org>
24457
24458         * modules/environ-tests: New file.
24459         * tests/test-environ.c: New file.
24460
24461         New module 'environ'.
24462         * modules/environ: New file.
24463         * lib/unistd.in.h (environ): New declaration.
24464         * m4/environ.m4: New file.
24465         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
24466         after use.
24467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
24468         HAVE_DECL_ENVIRON.
24469         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
24470         HAVE_DECL_ENVIRON.
24471         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
24472         wrong claim that 'environ' is missing on some systems.
24473         * modules/execute (Depends-on): Add environ.
24474         * lib/execute.c (environ): Remove fallback declaration.
24475         * modules/pipe (Depends-on): Add environ.
24476         * lib/pipe.c (environ): Remove fallback declaration.
24477         * modules/setenv (Depends-on): Add environ.
24478         * lib/setenv.c (environ): Remove fallback declaration.
24479         * modules/unsetenv (Depends-on): Add environ.
24480         * lib/unsetenv.c (environ): Remove fallback declaration.
24481         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
24482         m4/environ.m4.
24483         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
24484         (gl_PREREQ_UNSETENV): Likewise.
24485
24486 2008-02-24  Bruno Haible  <bruno@clisp.org>
24487
24488         * doc/posix-functions/environ.texi: Document the MacOS X problem.
24489
24490 2008-02-20  Bob Proulx  <bob@proulx.com>
24491
24492         Enable use of older two part flavor 'git describe'.
24493         * build-aux/git-version-gen: If using the older two part flavor of
24494         git version then recreate the third part now present in the
24495         newer three part flavor of git describe.
24496
24497 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
24498
24499         * lib/fts.c (fts_build): Typo correction to comment.
24500
24501 2008-02-17  Bruno Haible  <bruno@clisp.org>
24502
24503         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
24504         generating no-op conflicts.
24505
24506 2008-02-17  Bruno Haible  <bruno@clisp.org>
24507
24508         Speed up by 10%.
24509         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
24510         result_entries, rather than an index-based loop.
24511
24512 2008-02-17  Bruno Haible  <bruno@clisp.org>
24513
24514         Speed up by 25%.
24515         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
24516         'hashcode_cached'.
24517         (entry_create): New function.
24518         (entry_hashcode): Use the cached hashcode if possible.
24519         (read_changelog_file, try_split_merged_entry): Use entry_create.
24520
24521 2008-02-17  Bruno Haible  <bruno@clisp.org>
24522
24523         Speed up from O(n^2) to O(n) for long ChangeLog files.
24524         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
24525         (read_changelog_file): Change implementation of entries_reversed list
24526         to rbtreehash.
24527         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
24528
24529 2008-02-17  Bruno Haible  <bruno@clisp.org>
24530
24531         New option --split-merged-entry.
24532         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
24533         (find_paragraph_end, try_split_merged_entry): New functions.
24534         (long_options): Add option --split-merged-entry.
24535         (usage): Document option --split-merged-entry.
24536         (main): Implement option --split-merged-entry.
24537         Reported by Eric Blake.
24538
24539 2008-02-17  Bruno Haible  <bruno@clisp.org>
24540
24541         * lib/git-merge-changelog.c: Include c-strstr.h.
24542         (main): Support the "git pull --rebase" situation.
24543         * modules/git-merge-changelog (Depends-on): Add c-strstr.
24544         Reported by Eric Blake.
24545
24546 2008-02-16  Eric Blake  <ebb9@byu.net>
24547
24548         Avoid doubling \ in common case of "c-maybe" quoting style.
24549         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
24550         eliding outer quotes.
24551         * lib/quotearg.h: Document this.
24552         * tests/test-quotearg.c (result_strings, inputs, results_g)
24553         (flag_results, locale_results): Test it by adding a new string to
24554         each test group.
24555         (compare_strings): Test new string.
24556
24557 2008-02-13  Eric Blake  <ebb9@byu.net>
24558
24559         Avoid trigraph quoting in default output.
24560         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
24561         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
24562         unless explicitly requested.
24563         * tests/test-quotearg.c (flag_results, main): Add additional tests.
24564
24565 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
24566
24567         Don't rely on signed integer overflowing to negative value.
24568         * lib/getugroups.c (getugroups): Include <limits.h>.
24569         Instead, compare against INT_MAX, and increment only if the test passes.
24570
24571 2008-02-13  Jim Meyering  <meyering@redhat.com>
24572         and Eric Blake  <ebb9@byu.net>
24573
24574         Avoid shadowing warning and compile errors on Linux.
24575         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
24576         forwarding macros on Linux.
24577         (dcgettext): Define a stub, for Linux.
24578         (results_g, main): Avoid warnings.
24579
24580 2008-02-12  Eric Blake  <ebb9@byu.net>
24581
24582         Silence warning in last patch.
24583         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
24584
24585         Quotearg part 4: add tests, fix c-maybe colon quoting.
24586         * lib/quotearg.h: Improve documentation.
24587         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
24588         escapes when adding outer quotes.  When quoting trigraphs, use
24589         valid C notation.  When quoting NUL, omit extra characters if next
24590         character is not digit.  Alter prototype.
24591         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
24592         callers.
24593         * modules/quotearg-tests: New module.
24594         * tests/test-quotearg.c: New test.
24595
24596 2008-02-07  Eric Blake  <ebb9@byu.net>
24597
24598         Quotearg part 3: add flag to control outer quote elision.
24599         * lib/quotearg.h (c_maybe_quoting_style): New style.
24600         (enum quoting_flags): Better documentation of flags.
24601         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
24602         c-maybe style.
24603         (quotearg_buffer_restyled): Handle new flag to elide outer
24604         quotes.
24605
24606         Quotearg part 2: add flag that can control NUL elision.
24607         * lib/quotearg.h (set_quoting_flags): New prototype.
24608         * lib/quotearg.c (struct quoting_options): Add flag field.
24609         (set_quoting_flags): New function.
24610         (quotearg_buffer_restyled): Add flags parameter.
24611         (quotearg_alloc_mem): Set the flag if length cannot be returned.
24612         (quotearg_n_options): Set the flag, since length cannot be
24613         returned.
24614         (quoting_options_from_style): Default flags correctly.
24615
24616         Quotearg part 1: more wrappers, restore quotearg_char state.
24617         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
24618         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
24619         (quotearg_colon_mem): New wrappers.
24620         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
24621         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
24622         functions.
24623         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
24624         (quotearg_colon_mem): New functions.
24625
24626 2008-02-11  Bruno Haible  <bruno@clisp.org>
24627
24628         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
24629         library in the current directory: it does not work with parallel make.
24630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24631
24632 2008-02-11  Bruno Haible  <bruno@clisp.org>
24633
24634         * .gitattributes: New file.
24635
24636 2008-02-11  Jim Meyering  <meyering@redhat.com>
24637
24638         useless-if-before-free: Fix reversed exit values.
24639         * build-aux/useless-if-before-free: Use correct values
24640         for EXIT_MATCH and EXIT_NO_MATCH.
24641
24642         * build-aux/useless-if-before-free: Close stdout carefully.
24643
24644 2008-02-10  Bruno Haible  <bruno@clisp.org>
24645
24646         New module 'git-merge-changelog'.
24647         * modules/git-merge-changelog: New file.
24648         * lib/git-merge-changelog.c: New file.
24649
24650 2008-02-10  Jim Meyering  <meyering@redhat.com>
24651
24652         useless-if-before-free: New option: --list (-l).
24653
24654         useless-if-before-free: Don't exit immediately upon open failure.
24655         * build-aux/useless-if-before-free: Exit 2 for errors.
24656         Upon failure to open a file, don't exit immediately.
24657         Rather, just warn and continue with any remaining files.
24658
24659 2008-02-10  Bruno Haible  <bruno@clisp.org>
24660
24661         New abstract list operation 'node_set_value'.
24662         * lib/gl_list.h (gl_list_node_set_value): New function.
24663         (struct gl_list_implementation): New field node_set_value.
24664         * lib/gl_list.c (gl_list_node_set_value): New function.
24665         * lib/gl_array_list.c (gl_array_node_set_value): New function.
24666         (gl_array_list_implementation): Update.
24667         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
24668         (gl_carray_list_implementation): Update.
24669         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
24670         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
24671         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
24672         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
24673         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
24674         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
24675         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
24676         Update.
24677         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
24678         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
24679         (gl_sublist_list_implementation): Update.
24680
24681 2008-02-10  Bruno Haible  <bruno@clisp.org>
24682
24683         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
24684         Needed when ELEMENT is #defined to 'some_type *'.
24685
24686 2008-02-10  Jim Meyering  <meyering@redhat.com>
24687
24688         New script and module: useless-if-before-free
24689         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
24690         * build-aux/useless-if-before-free: New file.
24691         * modules/useless-if-before-free: New file.
24692
24693         * build-aux/gitlog-to-changelog: Use committer date, not author date.
24694
24695         xstrtol_error: Fix typo.
24696         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
24697         s/exit_failure/exit_status/.
24698
24699 2008-02-09  Jim Meyering  <meyering@redhat.com>
24700
24701         New script and module: gitlog-to-changelog
24702         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
24703         * modules/gitlog-to-changelog: New file.
24704         * build-aux/gitlog-to-changelog: New file.
24705
24706 2008-02-08  Jim Meyering  <meyering@redhat.com>
24707
24708         Avoid two "parameter unused" warnings.
24709         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
24710         Mark "st" as used.
24711
24712         Use "git COMMAND", not "git-COMMAND".
24713         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
24714         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
24715         * build-aux/git-version-gen: Use "git status", not "git-status".
24716
24717 2008-02-07  Bruno Haible  <bruno@clisp.org>
24718
24719         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
24720         Avoids a crash on Windows Vista.
24721         Reported by Adam Strzelecki <ono@java.pl> via
24722         Simon Josefsson <simon@josefsson.org>.
24723
24724 2008-02-06  Bruno Haible  <bruno@clisp.org>
24725
24726         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
24727         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
24728         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
24729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
24730         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24731         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24732         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
24733         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
24734         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24735         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24736         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24737         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24738         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24739         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24740         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24741         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
24742         left-adjust flag.
24743         * tests/test-snprintf-posix.h (test_function): Likewise.
24744         * tests/test-sprintf-posix.h (test_function): Likewise.
24745         * tests/test-vasprintf-posix.c (test_function): Likewise.
24746         * doc/posix-functions/fprintf.texi: Update.
24747         * doc/posix-functions/printf.texi: Update.
24748         * doc/posix-functions/snprintf.texi: Update.
24749         * doc/posix-functions/sprintf.texi: Update.
24750         * doc/posix-functions/vfprintf.texi: Update.
24751         * doc/posix-functions/vprintf.texi: Update.
24752         * doc/posix-functions/vsnprintf.texi: Update.
24753         * doc/posix-functions/vsprintf.texi: Update.
24754         Reported by Peter Fales <psfales@alcatel-lucent.com>.
24755
24756 2008-02-06  Bruno Haible  <bruno@clisp.org>
24757
24758         Fix bug introduced on 2008-01-26.
24759         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
24760
24761 2008-02-06  Bruno Haible  <bruno@clisp.org>
24762
24763         Fix bug introduced on 2007-06-10.
24764         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
24765         !NEED_PRINTF_FLAG_ZERO.
24766
24767 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
24768
24769         getloadavg: use libperfstat on AIX5
24770         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
24771
24772 2008-02-03  Bruno Haible  <bruno@clisp.org>
24773
24774         * lib/diffseq.h: Add comments about required #includes.
24775         Reported by Michael Biggs <gnulib@doubleplum.net>.
24776
24777 2008-02-01  Bruno Haible  <bruno@clisp.org>
24778
24779         * users.txt: Add gnuit.
24780
24781 2008-01-31  Bruno Haible  <bruno@clisp.org>
24782
24783         * lib/md4.c (set_uint32): Mark as inline.
24784         * lib/md5.c (set_uint32): Likewise.
24785         * lib/sha1.c (set_uint32): Likewise.
24786         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
24787         * m4/md5.m4 (gl_MD5): Likewise.
24788         * m4/sha1.m4 (gl_SHA1): Likewise.
24789
24790 2008-01-31  Jim Meyering  <meyering@redhat.com>
24791
24792         Use "sizeof VAR", rather than a literal "4".
24793         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
24794         * lib/md4.c (md4_read_ctx): Likewise.
24795         * lib/sha1.c (sha1_read_ctx): Likewise.
24796
24797 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24798
24799         * tests/test-sha1.c: New file, based on test-md5.c.
24800
24801         * modules/crypto/sha1-tests: New file.
24802
24803 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24804
24805         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
24806
24807 2008-01-31  Jim Meyering  <meyering@redhat.com>
24808
24809         Prefer "sizeof v" over the equivalent "4".
24810         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
24811         * lib/md5.c (set_uint32): Likewise.
24812         * lib/sha1.c (set_uint32): Likewise.
24813
24814 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24815
24816         * lib/sha1.c (set_uint32): Mark function as static.
24817
24818 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24819
24820         md2: clarify comments to say that alignment is not required.
24821         * lib/md2.h: Remove warning about alignment in comment.
24822         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
24823         never been required.
24824
24825 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24826
24827         md4: adapt alignment constraint fix from sha1.
24828         * lib/md4.c (set_uint32): New function, from sha1.c
24829         (md4_read_ctx): Use it.
24830         (md4_finish_ctx): Doc fix.
24831         * lib/md4.h: Doc fix.
24832
24833 2008-01-31  Simon Josefsson  <simon@josefsson.org>
24834
24835         md5: adapt alignment constraint fix from sha1.
24836         * lib/md5.c (set_uint32): New function, from sha1.c
24837         (md5_read_ctx): Use it.
24838         (md5_finish_ctx): Doc fix.
24839         * lib/md5.h: Doc fix.
24840
24841 2008-01-30  Peter Palfrader  <weasel@debian.org>
24842
24843         sha1: remove the result buffer alignment constraint
24844         * lib/sha1.c (set_uint32): New function.
24845         (sha1_read_ctx): Rewrite to remove the result buffer alignment
24846         constraint.
24847         (sha1_finish_ctx): Remove comment warning about alignment constraint.
24848         * lib/sha1.h: Likewise.
24849
24850 2008-01-30  Andreas Schwab  <schwab@suse.de>
24851             Bruno Haible  <bruno@clisp.org>
24852
24853         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
24854         correct definition of LDBL_MIN_EXP.
24855
24856 2008-01-30  Karl Berry  <karl@gnu.org>
24857
24858         * config/srclist-update: try to preserve x bit on updates.
24859         * config/srclistvars.sh: update for karl.
24860
24861 2008-01-29  Jim Meyering  <meyering@redhat.com>
24862
24863         vasnprintf.c: Avoid warning about unused label
24864         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
24865         "overflow" label definition and associated code with the
24866         same cpp condition that guards the sole use of that label.
24867
24868 2008-01-26  Bruno Haible  <bruno@clisp.org>
24869
24870         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
24871         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
24872         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
24873         * lib/isnanl-nolibm.h (isnanl): Likewise.
24874         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24875
24876 2008-01-26  Bruno Haible  <bruno@clisp.org>
24877
24878         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
24879         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
24880
24881 2008-01-26  Bruno Haible  <bruno@clisp.org>
24882
24883         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
24884         GCC >= 4.0 built-in.
24885         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
24886
24887 2008-01-26  Bruno Haible  <bruno@clisp.org>
24888
24889         Rename isnan, applicable to 'double' only, to isnand.
24890         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
24891         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
24892         (configure.ac): Update.
24893         (Include): Replace "isnan.h" with "isnand.h".
24894         * m4/isnand.m4: Renamed from m4/isnan.m4.
24895         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
24896         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
24897         instead of isnan.c.
24898         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
24899         instead of HAVE_ISNAN_IN_LIBC.
24900         (isnand): Renamed from isnan.
24901         * lib/isnand.c: New file.
24902         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
24903         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
24904         (Makefile.am): Update.
24905         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
24906         Include isnand.h instead of isnan.h.
24907         (main): Test isnand instead of isnan.
24908         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
24909         isnan-nolibm.
24910         * modules/frexp (Depends-on): Likewise.
24911         * modules/frexp-tests (Depends-on): Likewise.
24912         * modules/frexp-nolibm (Depends-on): Likewise.
24913         * modules/frexp-nolibm-tests (Depends-on): Likewise.
24914         * modules/isfinite (Depends-on): Likewise.
24915         * modules/round-tests (Depends-on): Likewise.
24916         * modules/signbit (Depends-on): Likewise.
24917         * modules/signbit-tests (Depends-on): Likewise.
24918         * modules/snprintf-posix (Depends-on): Likewise.
24919         * modules/sprintf-posix (Depends-on): Likewise.
24920         * modules/trunc-tests (Depends-on): Likewise.
24921         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24922         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24923         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24924         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24925         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24926         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24927         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24928         * modules/vasnprintf-posix (Depends-on): Likewise.
24929         * modules/vasprintf-posix (Depends-on): Likewise.
24930         * modules/vfprintf-posix (Depends-on): Likewise.
24931         * modules/vsnprintf-posix (Depends-on): Likewise.
24932         * modules/vsprintf-posix (Depends-on): Likewise.
24933         * lib/frexp.c: Include isnand.h instead of isnan.h.
24934         (ISNAN): Set to isnand instead of isnan.
24935         * lib/isfinite.c: Include isnand.h instead of isnan.h.
24936         (gl_isfinited): Use isnand instead of isnan.
24937         * lib/signbitd.c: Include isnand.h instead of isnan.h.
24938         (gl_signbitd): Use isnand instead of isnan.
24939         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
24940         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
24941         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
24942         (main): Use isnand instead of isnan.
24943         * tests/test-round1.c: Include isnand.h.
24944         (main): Use isnand instead of isnan.
24945         * tests/test-round2.c: Include isnand.h instead of isnan.h.
24946         (ISNAN): Set to isnand instead of isnan.
24947         * tests/test-trunc1.c: Include isnand.h.
24948         (main): Use isnand instead of isnan.
24949         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
24950         (equal): Use isnand instead of isnan.
24951         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
24952         isnand-nolibm.
24953         * NEWS: Mention the change.
24954
24955 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
24956             Bruno Haible  <bruno@clisp.org>
24957
24958         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
24959         the GCC builtins for signbits are present and set
24960         REPLACE_SIGNBIT_USING_GCC if so.
24961         * lib/math.in.h (signbit): Define using GCC builtins if
24962         REPLACE_SIGNBIT_USING_GCC is set.
24963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
24964         REPLACE_SIGNBIT_USING_GCC.
24965         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
24966
24967 2008-01-25  Jim Meyering  <meyering@redhat.com>
24968
24969         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
24970         * lib/poll.c: Include <config.h>, not "config.h".
24971         * tests/test-getaddrinfo.c: Likewise.
24972
24973 2008-01-25  Simon Josefsson  <simon@josefsson.org>
24974
24975         * modules/sockets-tests: New file.
24976
24977 2008-01-24  Simon Josefsson  <simon@josefsson.org>
24978
24979         * modules/sockets: New module, can be used to call WSA_Startup and
24980         WSA_Cleanup when needed.
24981
24982         * lib/sockets.h, lib/sockets.c: New files.
24983
24984         * m4/sockets.m4: New file.
24985
24986         * tests/test-sockets.c: New file.
24987
24988 2008-01-19  Bruno Haible  <bruno@clisp.org>
24989
24990         * doc/posix-headers: Renamed from doc/headers.
24991         * doc/posix-functions: Renamed from doc/functions.
24992         * doc/gnulib.texi: Update.
24993
24994 2008-01-19  Bruno Haible  <bruno@clisp.org>
24995
24996         * doc/glibc-functions/strcasestr.texi: Include contents of
24997         doc/functions/strcasestr.texi, fixing the list of platforms.
24998         * doc/functions/strcasestr.texi: Remove file.
24999
25000 2008-01-19  Bruno Haible  <bruno@clisp.org>
25001
25002         * doc/glibc-functions/memmem.texi: Include contents of
25003         doc/functions/memmem.texi.
25004         * doc/functions/memmem.texi: Remove file.
25005
25006 2008-01-18  Bruno Haible  <bruno@clisp.org>
25007
25008         * doc/glibc-functions/*.texi: New files.
25009         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
25010         to use the new files.
25011
25012 2008-01-17  Bruno Haible  <bruno@clisp.org>
25013
25014         * tests/test-gethostname.c (main): Fix printf statement.
25015
25016 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25017
25018         * modules/gethostname-tests: New file.
25019
25020         * tests/test-gethostname.c: New file.
25021
25022 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25023
25024         * lib/gethostname.c: Include string.h unconditionally, strncpy is
25025         used by the UNAME case.  Reported by Bruno Haible
25026         <bruno@clisp.org>.
25027
25028 2008-01-17  Eric Blake  <ebb9@byu.net>
25029
25030         Convert c-strcasestr to be more efficient.
25031         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
25032         (Depends-on): Add c-strcase, remove malloca, strnlen.
25033         * tests/test-c-strcasestr.c (main): Enhance test.
25034         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
25035
25036 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
25037
25038         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
25039         Use it in creating po/Makevars.
25040
25041 2008-01-15  Simon Josefsson  <simon@josefsson.org>
25042
25043         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
25044         Applications that requires it should initialize libgcrypt
25045         manually.
25046
25047 2008-01-16  Simon Josefsson  <simon@josefsson.org>
25048
25049         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
25050
25051 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25052
25053         Fix problem with getdate on mingw32 reported by Simon Josefsson
25054         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
25055         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
25056         tzname", when deciding whether to declare tzname.
25057         * lib/strftime.c (tzname): Likewise.
25058
25059 2008-01-15  Bruno Haible  <bruno@clisp.org>
25060
25061         Work around a MacOS X 10.5 bug in frexpl().
25062         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
25063         * doc/functions/frexpl.texi: Document the bug.
25064         Reported by Elias Pipping <pipping@gentoo.org>.
25065
25066 2008-01-14  Eric Blake  <ebb9@byu.net>
25067
25068         Touch up previous patch.
25069         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
25070         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
25071
25072         Convert strcasestr module to use Two-Way algorithm.
25073         * modules/strcasestr-simple: New module, based on the old
25074         strcasestr, but with Two-Way rather than KMP.
25075         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
25076         * lib/string.in.h (rpl_strcasestr): Declare.
25077         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
25078         performance.
25079         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
25080         * modules/string (Makefile.am): Support strcasestr.
25081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25082         * modules/strcasestr-tests (Depends-on): Check for alarm.
25083         * tests/test-strcasestr.c: Augment test.
25084         * lib/str-two-way.h: Clean up stray macro.
25085         * NEWS: Document new module.
25086         * MODULES.html.sh (string handling): Likewise.
25087         * doc/functions/strcasestr.texi: New file.
25088         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
25089         here, since it is not a POSIX function.
25090
25091 2008-01-14  Colin Watson  <cjwatson@debian.org>
25092             Bruno Haible  <bruno@clisp.org>
25093
25094         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
25095         works fine; if not, set REPLACE_STRSIGNAL.
25096         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
25097         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25098         REPLACE_STRSIGNAL.
25099         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
25100         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
25101         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
25102
25103 2008-01-14  Bruno Haible  <bruno@clisp.org>
25104
25105         * modules/strsignal (Include): Change to <string.h>.
25106
25107 2008-01-14  Colin Watson  <cjwatson@debian.org>
25108
25109         * modules/argp (Notice): Add a notice recommending to change
25110         XGETTEXT_OPTIONS.
25111         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
25112
25113 2008-01-13  Colin Watson  <cjwatson@debian.org>
25114
25115         * modules/strsignal-tests: New file.
25116         * tests/test-strsignal.c: New file.
25117
25118         * lib/strsignal.c: New file, from glibc with modifications.
25119         * lib/siglist.h: New file, from glibc with modifications.
25120         * lib/string.in.h (strsignal): New declaration.
25121         * m4/strsignal.m4: New file.
25122         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25123         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
25124         * modules/strsignal: New file.
25125         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
25126         HAVE_DECL_STRSIGNAL.
25127
25128 2008-01-13  Bruno Haible  <bruno@clisp.org>
25129
25130         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
25131         locale encoding is not ASCII. Needed for OpenBSD 4.0.
25132         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25133         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25134
25135 2008-01-13  Bruno Haible  <bruno@clisp.org>
25136
25137         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
25138         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
25139         * lib/argp.h (__attribute__): Likewise.
25140         * lib/c-stack.c (__attribute__): Likewise.
25141         * lib/error.h (__attribute__): Likewise.
25142         * lib/fts.c (__attribute__): Likewise.
25143         * lib/openat.h (__attribute__): Likewise.
25144         * lib/stdio.in.h (__attribute__): Likewise.
25145         * lib/string.in.h (__attribute__): Likewise.
25146         * lib/utimens.c (__attribute__): Likewise.
25147         * lib/vasnprintf.h (__attribute__): Likewise.
25148         * lib/xalloc.h (__attribute__): Likewise.
25149         * lib/xprintf.h (__attribute__): Likewise.
25150         * lib/xstrtol.h (__attribute__): Likewise.
25151         * lib/xvasprintf.h (__attribute__): Likewise.
25152
25153 2008-01-12  Bruno Haible  <bruno@clisp.org>
25154
25155         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
25156         * doc/glibc-headers/a.out.texi: New file.
25157         * doc/glibc-headers/aliases.texi: New file.
25158         * doc/glibc-headers/alloca.texi: New file.
25159         * doc/glibc-headers/ar.texi: New file.
25160         * doc/glibc-headers/argp.texi: New file.
25161         * doc/glibc-headers/argz.texi: New file.
25162         * doc/glibc-headers/byteswap.texi: New file.
25163         * doc/glibc-headers/crypt.texi: New file.
25164         * doc/glibc-headers/endian.texi: New file.
25165         * doc/glibc-headers/envz.texi: New file.
25166         * doc/glibc-headers/err.texi: New file.
25167         * doc/glibc-headers/error.texi: New file.
25168         * doc/glibc-headers/execinfo.texi: New file.
25169         * doc/glibc-headers/fpu_control.texi: New file.
25170         * doc/glibc-headers/fstab.texi: New file.
25171         * doc/glibc-headers/fts.texi: New file.
25172         * doc/glibc-headers/getopt.texi: New file.
25173         * doc/glibc-headers/ieee754.texi: New file.
25174         * doc/glibc-headers/ifaddrs.texi: New file.
25175         * doc/glibc-headers/libintl.texi: New file.
25176         * doc/glibc-headers/mcheck.texi: New file.
25177         * doc/glibc-headers/mntent.texi: New file.
25178         * doc/glibc-headers/obstack.texi: New file.
25179         * doc/glibc-headers/paths.texi: New file.
25180         * doc/glibc-headers/printf.texi: New file.
25181         * doc/glibc-headers/pty.texi: New file.
25182         * doc/glibc-headers/resolv.texi: New file.
25183         * doc/glibc-headers/shadow.texi: New file.
25184         * doc/glibc-headers/sysexits.texi: New file.
25185         * doc/glibc-headers/ttyent.texi: New file.
25186
25187 2008-01-12  Jim Meyering  <meyering@redhat.com>
25188
25189         announce-gen: emit Gnulib's git-based version string.
25190         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
25191         New option --gnulib-version=V, where V is expected to be
25192         the output of running git describe in the gnulib directory.
25193         (get_tool_versions): Request feedback on xdelta.  I suspect it's
25194         not useful, and plan to stop publishing an xdelta file with each
25195         coreutils release.
25196
25197         * build-aux/announce-gen: Also check for lzma-compressed files.
25198
25199 2008-01-11  Bruno Haible  <bruno@clisp.org>
25200
25201         * tests/test-memmem.c (main): Increase maximum allowed time.
25202         * tests/test-strstr.c (main): Likewise.
25203
25204 2008-01-11  Bruno Haible  <bruno@clisp.org>
25205
25206         * doc/functions/memmem.texi: Add more precisions about platforms.
25207         * doc/functions/strstr.texi: Likewise.
25208
25209 2008-01-10  Eric Blake  <ebb9@byu.net>
25210
25211         * m4/strstr.m4: Delete cruft from copy-n-paste.
25212         Reported by Bruno Haible.
25213
25214 2008-01-10  Bruno Haible  <bruno@clisp.org>
25215
25216         Make c-strstr rely on strstr.
25217         * lib/c-strstr.c: Don't include str-kmp.h.
25218         (c_strstr): Define in terms of strstr.
25219         * modules/c-strstr (Files): Remove lib/str-kmp.h.
25220         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
25221
25222 2008-01-10  Bruno Haible  <bruno@clisp.org>
25223
25224         * doc/gnulib.texi (String Functions in C Locale): New section.
25225         * doc/c-ctype.texi: New file.
25226         * doc/c-strcase.texi: New file.
25227         * doc/c-strcaseeq.texi: New file.
25228         * doc/c-strcasestr.texi: New file.
25229         * doc/c-strstr.texi: New file.
25230         * doc/c-strtod.texi: New file.
25231         * doc/c-strtold.texi: New file.
25232
25233 2008-01-10  Eric Blake  <ebb9@byu.net>
25234
25235         * lib/relocatable.h: Fix a comment.
25236
25237 2008-01-10  Eric Blake  <ebb9@byu.net>
25238
25239         Share two-way algorithm.
25240         * lib/str-two-way.h: New file, merged from...
25241         * lib/memmem.c: ...here...
25242         * lib/strstr.c: ...and here.
25243         * modules/memmem (Files): Use it.
25244         * modules/strstr (Files): Likewise.
25245
25246         Avoid quadratic strstr implementations.
25247         * lib/strstr.c: New file.
25248         * m4/strstr.m4: Likewise.
25249         * modules/strstr: Likewise.
25250         * modules/strstr-tests: Likewise.
25251         * tests/test-strstr.c: Likewise.
25252         * lib/string.in.h (rpl_strstr): Declare.
25253         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
25254         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
25255         * modules/string (Makefile.am): Likewise.
25256         * MODULES.html.sh (string handling): Mention new module.
25257         * doc/functions/strstr.texi (strstr): Document the bug.
25258
25259 2008-01-10  Bruno Haible  <bruno@clisp.org>
25260
25261         * lib/relocatable.h (relocate): State whether result is freshly
25262         allocated or not.
25263         * lib/relocatable.c (relocate): Return a freshly allocated string
25264         instead of a pointer to a privately held string.
25265         Reported by Sylvain Beucler <beuc@gnu.org>.
25266
25267 2008-01-10  Colin Watson  <cjwatson@debian.org>
25268
25269         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
25270         s/S_ISNLK/S_ISLNK/.
25271
25272 2008-01-09  Bruno Haible  <bruno@clisp.org>
25273
25274         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
25275         and other files.
25276         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
25277         if it's only a guess.
25278         * modules/memmem: Simplify by depending on memmem-simple.
25279
25280 2008-01-09  Bruno Haible  <bruno@clisp.org>
25281
25282         Work around OpenBSD 4.0 tdelete() bug.
25283         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
25284         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
25285         macros and don't redefine the enum values.
25286         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
25287         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
25288         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
25289
25290 2008-01-09  Bruno Haible  <bruno@clisp.org>
25291
25292         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
25293         (main): Don't perform the tests if setlocale did not install a UTF-8
25294         locale. Needed on OpenBSD 4.0.
25295         * modules/wcwidth-tests (Depends-on): Add localcharset.
25296
25297 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25298
25299         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
25300         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
25301         * NEWS: announce this.
25302         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
25303
25304 2008-01-09  Simon Josefsson  <simon@josefsson.org>
25305         and Eric Blake  <ebb9@byu.net>
25306
25307         Add memmem-simple module.
25308         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
25309         (gl_FUNC_MEMMEM): Separate performance from presence checks.
25310         * modules/memmem-simple: New file.
25311         * modules/memmem (Description): Tweak.
25312         * MODULES.html.sh (string handling): Mention new module.
25313         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
25314         addressed by memmem-simple.
25315         * NEWS: Document the difference.
25316
25317 2008-01-09  Eric Blake  <ebb9@byu.net>
25318
25319         Give gcc some memmem optimization hints.
25320         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
25321         (strcasestr): Declare as pure.
25322         * modules/memmem (Maintainer): Claim my implementation.
25323
25324 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25325
25326         Support AIX 6.1 and higher.
25327         * build-aux/config.libpath: Likewise.
25328         * build-aux/config.rpath: Likewise.
25329
25330 2008-01-08  Jim Meyering  <meyering@redhat.com>
25331             Bruno Haible  <bruno@clisp.org>
25332
25333         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
25334         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
25335         Reported by Peter Fales in
25336         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
25337
25338 2008-01-08  Bruno Haible  <bruno@clisp.org>
25339
25340         * modules/unictype/category-of (Depends-on): Add
25341         unictype/category-none.
25342         * modules/unictype/category-and-tests (Depends-on): Add
25343         unictype/category-{L,N,Lu,Nd}.
25344         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
25345         * modules/unictype/category-or-tests (Depends-on): Add
25346         unictype/category-{L,N}.
25347         * modules/unictype/category-name-tests (Depends-on): Add
25348         unictype/category-{Z,Nl}.
25349         Reported by Simon Josefsson.
25350
25351 2008-01-08  Bruno Haible  <bruno@clisp.org>
25352
25353         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
25354         convention better.
25355         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
25356         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
25357         Reported by Peter Miller <millerp@canb.auug.org.au>.
25358
25359 2008-01-08  Eric Blake  <ebb9@byu.net>
25360
25361         Rewrite memmem to guarantee linear complexity without malloc.
25362         * lib/memmem.c (memmem): Use Two-Way rather than
25363         Knuth-Morris-Pratt, to allow O(1) space usage.
25364         (critical_factorization, two_way_short_needle)
25365         (two_way_long_needle): New functions.
25366         (knuth_morris_pratt): Delete.
25367         * modules/memmem (Depends-on): No longer need malloca or stdbool.
25368         Add stdint.
25369         * tests/test-memmem.c (main): Add tests for periodic needle and
25370         sublinear performance.
25371         * doc/functions/memmem.texi (memmem): Document other deficiencies
25372         in cygwin and older glibc.
25373
25374 2008-01-08  Bruno Haible  <bruno@clisp.org>
25375
25376         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
25377         augmentation.
25378
25379 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
25380
25381         Add a configure time option: --disable-acl.
25382         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
25383         AC_ARG_ENABLE(acl).
25384
25385 2008-01-06  Simon Josefsson  <simon@josefsson.org>
25386
25387         * tests/test-localename.c: Don't include obsolete "setenv.h".
25388
25389         * modules/localename-tests (Depends-on): Need unsetenv.
25390
25391 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25392
25393         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
25394
25395 2008-01-06  Colin Watson  <cjwatson@debian.org>
25396
25397         * users.txt: Add man-db.
25398
25399 2008-01-07  Bruno Haible  <bruno@clisp.org>
25400
25401         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
25402         previous section name.
25403
25404 2008-01-07  Bruno Haible  <bruno@clisp.org>
25405
25406         * lib/progname.c (set_program_name): Don't strip off a leading
25407         "lt-" prefix outside a .libs directory.
25408         Suggested by Paul Eggert.
25409
25410 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
25411             Bruno Haible  <bruno@clisp.org>
25412
25413         Improve memory cleanup in 'relocatable' module.
25414         * lib/relocatable.h (compute_curr_prefix): Change return type to
25415         'char *'.
25416         * lib/relocatable.c (compute_curr_prefix): Change return type to
25417         'char *'. Free curr_installdir after use.
25418         (relocate): Free curr_prefix_better after use.
25419         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
25420
25421 2008-01-01  Bruno Haible  <bruno@clisp.org>
25422
25423         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
25424         failure on older glibc systems.
25425         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25426
25427 2008-01-05  Eric Blake  <ebb9@byu.net>
25428
25429         Avoid quadratic system memmem.
25430         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
25431         Reported by Ralf Wildenhues.
25432
25433         Fix memmem test for mingw.
25434         * modules/memmem-tests (configure.ac): Check for alarm.
25435         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
25436         it.
25437         * doc/functions/memmem.texi: New file.
25438         * doc/gnulib.texi (Function Substitutes): Add memmem.
25439         Reported by Bruno Haible.
25440
25441 2008-01-04  Bruno Haible  <bruno@clisp.org>
25442
25443         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
25444         Require gl_HEADER_STRINGS_H_DEFAULTS, not
25445         gl_HEADER_STRING_H_DEFAULTS.
25446
25447 2008-01-04  Eric Blake  <ebb9@byu.net>
25448
25449         Shorten duration of memmem test.
25450         * tests/test-memmem.c (main): Use alarm to declare failure if test
25451         is taking too long.
25452         Reported by Ralf Wildenhues.
25453
25454 2007-12-21  Simon Josefsson  <simon@josefsson.org>
25455
25456         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
25457         string, needed by strerror.
25458
25459 2008-01-03  Colin Watson  <cjwatson@debian.org>
25460             Bruno Haible  <bruno@clisp.org>
25461
25462         * doc/gnulib-tool.texi (Localization): New section.
25463
25464 2008-01-02  Bruno Haible  <bruno@clisp.org>
25465
25466         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
25467         variables to 'unsigned char *' type.
25468         Reported by Paul Eggert.
25469
25470 2008-01-02  Jim Meyering  <jim@meyering.net>
25471
25472         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
25473
25474 2007-12-31  Jim Meyering  <jim@meyering.net>
25475
25476         Avoid use of private FTS type name.
25477         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
25478
25479 2007-12-30  Karl Berry  <karl@gnu.org>
25480
25481         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
25482         work around defect in Texinfo and/or the standalone Info browser.
25483
25484 2007-12-30  Bruno Haible  <bruno@clisp.org>
25485
25486         Unify 5 copies of the KMP code.
25487         * lib/str-kmp.h: New file.
25488         * lib/c-strcasestr.c: Include str-kmp.h.
25489         (knuth_morris_pratt): Remove function.
25490         (c_strcasestr): Update.
25491         * lib/c-strstr.c: Include str-kmp.h.
25492         (knuth_morris_pratt): Remove function.
25493         (c_strcasestr): Update.
25494         * lib/mbscasestr.c: Include str-kmp.h.
25495         (knuth_morris_pratt_unibyte): Remove function.
25496         * lib/mbsstr.c: Include str-kmp.h.
25497         (knuth_morris_pratt_unibyte): Remove function.
25498         * lib/strcasestr.c: Include str-kmp.h.
25499         (knuth_morris_pratt): Remove function.
25500         (strcasestr): Update.
25501         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
25502         * modules/c-strstr (Files): Likewise.
25503         * modules/mbscasestr (Files): Likewise.
25504         * modules/mbsstr (Files): Likewise.
25505         * modules/strcasestr (Files): Likewise.
25506         Suggested by Paul Eggert.
25507
25508 2007-12-30  Bruno Haible  <bruno@clisp.org>
25509
25510         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
25511         defined.
25512
25513 2007-12-30  Bruno Haible  <bruno@clisp.org>
25514
25515         * lib/xmalloca.h: Include xalloc.h.
25516         (xnmalloca): New macro.
25517
25518 2007-12-30  Bruno Haible  <bruno@clisp.org>
25519
25520         * lib/malloca.h (nmalloca): New macro.
25521         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
25522         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
25523         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
25524         knuth_morris_pratt_multibyte): Likewise.
25525         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
25526         knuth_morris_pratt_multibyte): Likewise.
25527         * lib/memmem.c (knuth_morris_pratt): Likewise.
25528         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
25529
25530 2007-12-25  Bruno Haible  <bruno@clisp.org>
25531
25532         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
25533         * lib/glob.c: Don't include openat.h.
25534         (link_exists2_p): Add back the code that deals with the
25535         !GLOB_ALTDIRFUNC case.
25536         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
25537         let it do the filename concatenation.
25538         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
25539         * modules/glob (Depends-on): Remove openat.
25540
25541 2007-12-31  Bruno Haible  <bruno@clisp.org>
25542
25543         * modules/dirfd (License): Change to LGPLv2+.
25544         Approved by Jim Meyering.
25545
25546 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25547
25548         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
25549         when multiplying M by sizeof (size_t).
25550
25551 2007-12-10  Martin Lambers  <marlam@marlam.de>
25552
25553         Override getpagesize on mingw.
25554         * lib/getpagesize.c: New file.
25555         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
25556         * modules/getpagesize (Files): Add lib/getpagesize.c.
25557         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
25558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25559         REPLACE_GETPAGESIZE.
25560         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
25561
25562 2007-12-25  Bruno Haible  <bruno@clisp.org>
25563
25564         * modules/localcharset (Notice): New field.
25565         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
25566         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
25567
25568 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25569             Bruno Haible  <bruno@clisp.org>
25570
25571         Avoid using the syntax symbol() in formatted documentation.
25572         * MODULES.html.sh (func_module): When replacing symbol() with a
25573         hyperlink, remove the parentheses. Show an error if some remain.
25574         Recognize and render the '...' syntax.
25575         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
25576         Rework. Add paragraph about GCC's inlining.
25577         * doc/alloca.texi: Likewise.
25578         * doc/error.texi: Remove parentheses from symbol reference.
25579         * doc/gnulib-intro.texi: Likewise.
25580         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
25581         * modules/fnmatch (Description): Reword to say "the ... function".
25582         * modules/full-read (Description): Likewise.
25583         * modules/full-write (Description): Likewise.
25584         * modules/safe-read (Description): Likewise.
25585         * modules/safe-write (Description): Likewise.
25586         * modules/strchrnul (Description): Likewise.
25587         * modules/trim (Description): Likewise.
25588         * modules/error (Description): Remove parentheses from symbol
25589         references.
25590         * modules/verror (Description): Likewise.
25591         Reported by Karl Berry.
25592
25593 2007-12-25  Bruno Haible  <bruno@clisp.org>
25594
25595         Fixup after 2007-10-16 commit.
25596         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
25597
25598 2007-12-24  Bruno Haible  <bruno@clisp.org>
25599
25600         Make --enable-relocatable work with DESTDIR.
25601         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
25602         to compute installdir from destprog.
25603         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
25604         also set the RELOC_DESTDIR variable.
25605         Reported by Левашев Иван <octagram@bluebottle.com>.
25606
25607 2007-12-24  Bruno Haible  <bruno@clisp.org>
25608
25609         Fix link error due to xalloc_die().
25610         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
25611         of xreadlink.
25612         * lib/relocwrapper.c: Update comments.
25613         * build-aux/install-reloc: Remove xreadlink.c from file list.
25614         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
25615         xreadlink.c.
25616         Reported by Левашев Иван <octagram@bluebottle.com>.
25617
25618 2007-12-24  Bruno Haible  <bruno@clisp.org>
25619
25620         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
25621         * lib/setenv.h: Remove file.
25622         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
25623         lib/setenv.h.
25624         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
25625         (Depends-on): Add stdlib.
25626         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
25627         gl_FUNC_UNSETENV.
25628         (Include): Replace setenv.h with <stdlib.h>.
25629         * modules/unsetenv: New file.
25630         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
25631         * lib/unsetenv.c: Include <stdlib.h> first.
25632         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
25633         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
25634         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
25635         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
25636         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
25637         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
25638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
25639         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
25640         * doc/functions/unsetenv.texi: Update.
25641         * modules/xsetenv (Depends-on): Add unsetenv.
25642         * modules/getdate (Depends-on): Likewise.
25643         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
25644         * lib/xsetenv.c: Don't include setenv.h.
25645         * lib/getdate.y: Likewise.
25646         * lib/relocwrapper.c: Likewise.
25647         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
25648         (Depends-on): Add stdlib.
25649         * NEWS: Mention the changes.
25650         Reported by Левашев Иван <octagram@bluebottle.com>.
25651
25652 2007-12-23  Bruno Haible  <bruno@clisp.org>
25653
25654         * lib/memmem.c (memmem): Use lowercase variable names. Tab
25655         indentation.
25656
25657 2007-12-23  Bruno Haible  <bruno@clisp.org>
25658
25659         * lib/c-strcasestr.c: Add more comments.
25660         * lib/c-strstr.c: Likewise.
25661         * lib/mbscasestr.c: Likewise.
25662         * lib/mbsstr.c: Likewise.
25663         * lib/strcasestr.c: Likewise.
25664         * lib/memmem.c: Likewise.
25665
25666 2007-12-23  Bruno Haible  <bruno@clisp.org>
25667
25668         * tests/test-memmem.c: Include <string.h> first.
25669
25670 2007-12-22  Bruno Haible  <bruno@clisp.org>
25671
25672         * gnulib-tool (func_create_testdir): Change $auxdir while generating
25673         the contents of $testsbase.
25674         Reported by Ralf Wildenhues.
25675
25676 2007-12-22  Bruno Haible  <bruno@clisp.org>
25677
25678         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
25679         two variables local_ldadd_before, local_ldadd_last.
25680
25681 2007-12-20  Eric Blake  <ebb9@byu.net>
25682
25683         Work around circular library issue when cross-compiling.
25684         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
25685         that progname.o does not need to pull in rpl_memcmp.
25686
25687 2007-12-19  Eric Blake  <ebb9@byu.net>
25688
25689         Fix memmem to avoid O(n^2) worst-case complexity.
25690         * lib/memmem.c (knuth_morris_pratt): New function.
25691         (memmem): Use it if first few naive iterations fail.
25692         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
25693         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
25694         * modules/memchr (License): Likewise.
25695         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
25696         malloca.
25697         * tests/test-memmem.c: Rewrite, borrowing ideas from
25698         test-mbsstr1.c; the old version wouldn't even compile!
25699         * modules/memmem-tests: New file.
25700         * lib/string.in.h (rpl_memmem): Add declaration.
25701         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
25702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
25703         REPLACE_MEMMEM.
25704
25705 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25706
25707         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
25708         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
25709         before any system include files, and undef after them all.  This
25710         should fix a problem on VMS reported by John E. Malmberg in
25711         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
25712
25713 2007-12-17  Eric Blake  <ebb9@byu.net>
25714
25715         Revert addition of verify, for BSD/OS.
25716         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
25717         can't handle large files, for the sake of obsolete platforms.
25718         * modules/fseeko (Depends-on): Remove verify.
25719         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
25720         * doc/functions/ftello.texi (ftello): Likewise.
25721         * doc/functions/fgetpos.texi (fgetpos): Likewise.
25722         Reported by Larry Jones.
25723
25724 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
25725
25726         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
25727         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
25728
25729 2007-12-17  Jim Meyering  <meyering@redhat.com>
25730
25731         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
25732         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
25733         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
25734         * modules/getcwd (Depends-on): Add openat.
25735         Reported by Petr Salinger.
25736
25737 2007-12-17  Bruno Haible  <bruno@clisp.org>
25738
25739         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
25740         avoid a segmentation fault of the configure test on x86_64 systems.
25741
25742 2007-12-15  Jim Meyering  <meyering@redhat.com>
25743
25744         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
25745
25746 2007-12-13  Eric Blake  <ebb9@byu.net>
25747
25748         Another fseek test.
25749         * tests/test-fseek.c (main): Also test ungetc handling.
25750         * tests/test-fseeko.c (main): Likewise.
25751         * modules/fseeko (Depends-on): Add verify.
25752         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
25753         large.
25754         Reported by Larry Jones.
25755
25756         Fix fseeko on mingw.
25757         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
25758         seek.
25759
25760         Beef up fseek tests.
25761         * tests/test-fseek.c (main): Also test eof handling.
25762         * tests/test-fseeko.c (main): Likewise.
25763         Reported by Larry Jones.
25764
25765 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
25766
25767         Fix fseeko on BSD-based platforms.
25768         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
25769         successful seek.
25770
25771 2007-12-12  Eric Blake  <ebb9@byu.net>
25772
25773         Allow circular dependency of separate libtests.a
25774         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
25775         when use_libtests.
25776
25777 2007-12-11  Eric Blake  <ebb9@byu.net>
25778
25779         Fix bug with -0.0L in previous patch.
25780         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
25781         * tests/test-isnan.c (main): Also test on zeroes.
25782         * tests/test-isnanf.c (main): Likewise.
25783         * tests/test-isnanl.h (main): Likewise.
25784
25785         Detect pseudo-denormals on x86 even when cross-compiling.
25786         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
25787         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
25788         invalid bit patterns that happen to satisfy ==.
25789
25790         Avoid link failures with separate libtests.a.
25791         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
25792         last, to satisfy circular dependencies.
25793
25794 2007-12-11  Eric Blake  <ebb9@byu.net>
25795         and Bruno Haible  <bruno@clisp.org>
25796
25797         Fix OpenBSD 4.0 <float.h> handling of long double.
25798         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
25799         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
25800         * doc/headers/float.texi (float.h): Document OpenBSD bug.
25801
25802 2007-12-11  Jim Meyering  <meyering@redhat.com>
25803
25804         * users.txt: Add libvirt.
25805
25806         Support versions of autoconf prior to 2.59c.
25807         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
25808         if it is not already defined.
25809
25810 2007-12-09  Bruno Haible  <bruno@clisp.org>
25811
25812         Let 'gnulib-tool --import' collect sources needed for the tests in
25813         tests/ rather than in lib/.
25814         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
25815         argument. If true, add rules to generate libtests.a, and put libtests.a
25816         into $(LDADD). Consider source files in subdirectories and set
25817         uses_subdirs.
25818         (func_emit_initmacro_start, func_emit_initmacro_end,
25819         func_emit_initmacro_done): Pass all arguments explicitly.
25820         (func_import): Determine two module lists main_modules,
25821         testsrelated_modules. Determine use_libtests. Determine two variables
25822         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
25823         instead of just sed_transform_lib_file. Determine two variables
25824         main_files and testsrelated_files. Compute 'files' as the union of
25825         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
25826         func_add_or_update. In the generated gnulib-comp.m4, collect the
25827         object files for tests/ in different variables than those for lib/.
25828         Substitute LIBTESTS_LIBDEPS.
25829         (func_create_testdir): Combine the uses_subdirs results from
25830         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
25831
25832 2007-12-09  Bruno Haible  <bruno@clisp.org>
25833
25834         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
25835         the build-aux directory.
25836
25837 2007-12-09  Bruno Haible  <bruno@clisp.org>
25838
25839         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
25840         introduced on 2006-09-09.
25841
25842 2007-12-07  Jim Meyering  <meyering@redhat.com>
25843
25844         Let these macros work also with autoconf-2.59.
25845         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
25846         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
25847         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25848
25849 2007-12-06  Jim Meyering  <meyering@redhat.com>
25850
25851         Avoid a configure-time syntax error in gl_FUNC_ACL.
25852         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
25853         function in each branch, before testing the cache variable.
25854
25855 2007-12-04  Eric Blake  <ebb9@byu.net>
25856
25857         Make scripts executable.
25858         * build-aux/config.guess: Add execute permissions.
25859         * build-aux/config.sub: Likewise.
25860         * build-aux/gendocs.sh: Likewise.
25861
25862         Fix frexp on mingw.
25863         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
25864         cross-compiling.
25865         * doc/functions/frexp.texi (frexp): Document the bug.
25866
25867         Make cygwin fseeko check more reliable.
25868         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
25869         version numbers, rather than unrelated feature check.
25870         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
25871         * doc/functions/ftello.texi (ftello): Likewise.
25872         Reported by Bruno Haible.
25873
25874         * m4/strerror.m4: Bump version number.
25875
25876 2007-12-03  Bruno Haible  <bruno@clisp.org>
25877
25878         * doc/functions/mprotect.texi: Mention the mingw problem.
25879
25880 2007-12-03  Eric Blake  <ebb9@byu.net>
25881
25882         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
25883         REPLACE_STRERROR is initialized before this macro.
25884
25885 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
25886
25887         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
25888         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
25889         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
25890         put -lsec in even for programs other than 'ls'.  This fixes a problem
25891         for gettext reported by Bruno Haible in
25892         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
25893         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
25894         Add support for Solaris 10.  This isn't efficient, but should get the
25895         job done for now.
25896
25897 2007-12-03  James Youngman  <jay@gnu.org>
25898
25899         * doc/regexprops-generic.texi: change "an close-group" to "a
25900         close-group" and "illegal" to "not allowed".
25901
25902 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25903
25904         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
25905         pr_byname.h. Needed for the rare case when the maintainer has done
25906         "make maintainer-clean" in the source directory and then attempts a
25907         build outside the source directory.
25908         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
25909         scripts_byname.h.
25910
25911 2007-12-02  Martin Lambers <marlam@marlam.de>
25912             Bruno Haible  <bruno@clisp.org>
25913
25914         * lib/getpagesize.h: Remove file.
25915         * lib/unistd.in.h: Include declaration of getpagesize here.
25916         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
25917         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
25918         HAVE_SYS_PARAM_H.
25919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
25920         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
25921         * modules/getpagesize (Files): Remove lib/getpagesize.h.
25922         (Depends-on): Add unistd.
25923         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25924         (Include): Use <unistd.h> instead of getpagesize.h.
25925         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
25926         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
25927         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
25928         gl_GETPAGESIZE invocation, already handled by module dependency.
25929         * lib/pagealign_alloc.c: Don't include getpagesize.h.
25930
25931 2007-12-02  Bruno Haible  <bruno@clisp.org>
25932
25933         * modules/strings-tests: New file.
25934         * tests/test-strings.c: New file.
25935
25936         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
25937         * lib/strings.in.h: New file.
25938         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
25939         * m4/strings_h.m4: New file.
25940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
25941         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
25942         * modules/strings: New file.
25943         * modules/string (Makefile.am): Update.
25944         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
25945         Reported by Karl Berry.
25946
25947 2007-12-01  Eric Blake  <ebb9@byu.net>
25948
25949         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
25950         accomodate fix in cygwin 1.5.25.
25951
25952 2007-12-01  Jim Meyering  <meyering@redhat.com>
25953
25954         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
25955         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
25956         that would inhibit utf8-optimization of a regexp containing line-
25957         or buffer-anchors, e.g., `^', `$'.
25958
25959 2007-11-30  Bruno Haible  <bruno@clisp.org>
25960
25961         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
25962         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
25963         glthread_recursive_lock_init.
25964         * lib/lock.c (glthread_recursive_lock_init)
25965         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
25966         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25967
25968 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
25969
25970         New function qset_acl, like set_acl but with syscall semantics.
25971         * lib/acl.h (qset_acl): New decl.
25972         * lib/acl.c (qset_acl): New function.
25973         (set_acl): Use new function.  Use more-consistent diagnostics.
25974
25975 2007-11-28  Jim Meyering  <meyering@redhat.com>
25976
25977         * modules/physmem (License): Change from GPL to LGPLv2+.
25978
25979 2007-11-26  Bruno Haible  <bruno@clisp.org>
25980
25981         * lib/vasnprintf.c (decode_long_double): Don't abort if the
25982         'long double' type has excess precision.
25983         Reported by Jim Meyering in
25984         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
25985
25986 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25987
25988         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
25989         Sync from <http://gnu.org/licenses>.
25990         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
25991         with license text from same location.
25992         * doc/maintain.texi, doc/standards.texi:  Sync from
25993         <http://savannah.gnu.org/projects/gnustandards>.
25994
25995 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
25996         and Jim Meyering  <meyering@redhat.com>
25997
25998         Adjust getdate' grammar to accept a slightly more regular language.
25999         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
26000         Before, the former was rejected.
26001         * lib/getdate.y (digits_to_date_time): New function, factored
26002         out of ...
26003         (number): ...here.  Just call digits_to_date_time.
26004         (hybrid): New non-terminal to handle an <unsigned number,
26005         signed relative offset> sequence consistently.
26006
26007 2007-11-18  Jim Meyering  <meyering@redhat.com>
26008
26009         Pull my changes from coreutils:
26010         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
26011         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
26012         use of $gnulib_tool_option_extras, so that it's separated from the
26013         preceding argument.
26014
26015         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
26016         * build-aux/bootstrap (cp_mark_as_generated): Create any required
26017         parent destination directories before copying a file into place.
26018
26019 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
26020
26021         bootstrap: work also with 4-argument variant of AC_INIT
26022         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
26023
26024 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26025
26026         Port test-getaddrinfo to Solaris.
26027         Problem reported by Bruno Haible in
26028         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
26029         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
26030         explanation of setting 'hints'.
26031         Don't reject an implementation merely because it returns EAI_SERVICE.
26032         (EAI_SERVICE): Define to 0 if not defined.
26033
26034 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26035
26036         The license of gnu-make and posix-shell is now "GPLed build tool".
26037         * modules/gnu-make (License): Likewise.
26038         * modules/posix-shell (License): Likewise.
26039
26040         New module posix-shell, for determining a POSIX shell
26041         or perhaps something that is close enough to a POSIX shell.
26042         * m4/posix-shell.m4: New file.
26043         * modules/posix-shell: New file.
26044
26045         * MODULES.html.sh: Mention new module.
26046
26047         New module gnu-make, for determining whether we're using GNU Make.
26048         * m4/gnu-make.m4: New file.
26049         * modules/gnu-make: New file.
26050         * MODULES.html.sh: Mention new module.
26051
26052 2007-11-14  Jim Meyering  <meyering@redhat.com>
26053
26054         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
26055         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
26056         use this macro to create a function _definition_.
26057         Remove useless "#undef ARGMATCH_DIE".
26058
26059 2007-11-14  Bruno Haible  <bruno@clisp.org>
26060
26061         * lib/config.charset: Update for OpenBSD 4.1.
26062         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
26063
26064 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26065
26066         Document 64-bit #if problems in stdint.texi.
26067         * doc/headers/stdint.texi (stdint.h): Mention problems with
26068         64-bit-#if, and how to work around them.
26069
26070         Don't insist on 'long long int' support in the preprocessor.  It
26071         breaks too many things.  For example, PRIdMAX still uses a 'long
26072         long int' format with the latest Sun compiler, even though
26073         HAVE_LONG_LONG_INT isn't defined due to that compiler's
26074         preprocessor problem.  This causes the latest coreutils to dump
26075         core on Solaris 10 sparc with the Sun C compiler.
26076         Instead, fix the 2007-10-16 problem in a different way, by evaluating
26077         the troublesome expressions at configure-time, not at #if-time.
26078         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
26079         preprocessor.
26080         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
26081         compile-time C checks, done at 'configure'-time.
26082         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
26083         * modules/inttypes (Makefile): Substitute the new symbols that
26084         gl_INTTYPES_H now generates.
26085         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
26086
26087 2007-11-12  Bruno Haible  <bruno@clisp.org>
26088
26089         Tests for Unicode character classification functions.
26090
26091         * modules/unictype/bidicategory-byname-tests: New file.
26092         * modules/unictype/bidicategory-name-tests: New file.
26093         * modules/unictype/bidicategory-of-tests: New file.
26094         * modules/unictype/bidicategory-test-tests: New file.
26095         * modules/unictype/block-list-tests: New file.
26096         * modules/unictype/block-of-tests: New file.
26097         * modules/unictype/block-test-tests: New file.
26098         * modules/unictype/category-C-tests: New file.
26099         * modules/unictype/category-Cc-tests: New file.
26100         * modules/unictype/category-Cf-tests: New file.
26101         * modules/unictype/category-Cn-tests: New file.
26102         * modules/unictype/category-Co-tests: New file.
26103         * modules/unictype/category-Cs-tests: New file.
26104         * modules/unictype/category-L-tests: New file.
26105         * modules/unictype/category-Ll-tests: New file.
26106         * modules/unictype/category-Lm-tests: New file.
26107         * modules/unictype/category-Lo-tests: New file.
26108         * modules/unictype/category-Lt-tests: New file.
26109         * modules/unictype/category-Lu-tests: New file.
26110         * modules/unictype/category-M-tests: New file.
26111         * modules/unictype/category-Mc-tests: New file.
26112         * modules/unictype/category-Me-tests: New file.
26113         * modules/unictype/category-Mn-tests: New file.
26114         * modules/unictype/category-N-tests: New file.
26115         * modules/unictype/category-Nd-tests: New file.
26116         * modules/unictype/category-Nl-tests: New file.
26117         * modules/unictype/category-No-tests: New file.
26118         * modules/unictype/category-P-tests: New file.
26119         * modules/unictype/category-Pc-tests: New file.
26120         * modules/unictype/category-Pd-tests: New file.
26121         * modules/unictype/category-Pe-tests: New file.
26122         * modules/unictype/category-Pf-tests: New file.
26123         * modules/unictype/category-Pi-tests: New file.
26124         * modules/unictype/category-Po-tests: New file.
26125         * modules/unictype/category-Ps-tests: New file.
26126         * modules/unictype/category-S-tests: New file.
26127         * modules/unictype/category-Sc-tests: New file.
26128         * modules/unictype/category-Sk-tests: New file.
26129         * modules/unictype/category-Sm-tests: New file.
26130         * modules/unictype/category-So-tests: New file.
26131         * modules/unictype/category-Z-tests: New file.
26132         * modules/unictype/category-Zl-tests: New file.
26133         * modules/unictype/category-Zp-tests: New file.
26134         * modules/unictype/category-Zs-tests: New file.
26135         * modules/unictype/category-and-not-tests: New file.
26136         * modules/unictype/category-and-tests: New file.
26137         * modules/unictype/category-byname-tests: New file.
26138         * modules/unictype/category-name-tests: New file.
26139         * modules/unictype/category-none-tests: New file.
26140         * modules/unictype/category-of-tests: New file.
26141         * modules/unictype/category-or-tests: New file.
26142         * modules/unictype/category-test-withtable-tests: New file.
26143         * modules/unictype/combining-class-tests: New file.
26144         * modules/unictype/ctype-alnum-tests: New file.
26145         * modules/unictype/ctype-alpha-tests: New file.
26146         * modules/unictype/ctype-blank-tests: New file.
26147         * modules/unictype/ctype-cntrl-tests: New file.
26148         * modules/unictype/ctype-digit-tests: New file.
26149         * modules/unictype/ctype-graph-tests: New file.
26150         * modules/unictype/ctype-lower-tests: New file.
26151         * modules/unictype/ctype-print-tests: New file.
26152         * modules/unictype/ctype-punct-tests: New file.
26153         * modules/unictype/ctype-space-tests: New file.
26154         * modules/unictype/ctype-upper-tests: New file.
26155         * modules/unictype/ctype-xdigit-tests: New file.
26156         * modules/unictype/decimal-digit-tests: New file.
26157         * modules/unictype/digit-tests: New file.
26158         * modules/unictype/mirror-tests: New file.
26159         * modules/unictype/numeric-tests: New file.
26160         * modules/unictype/property-alphabetic-tests: New file.
26161         * modules/unictype/property-ascii-hex-digit-tests: New file.
26162         * modules/unictype/property-bidi-arabic-digit-tests: New file.
26163         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
26164         * modules/unictype/property-bidi-block-separator-tests: New file.
26165         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
26166         * modules/unictype/property-bidi-common-separator-tests: New file.
26167         * modules/unictype/property-bidi-control-tests: New file.
26168         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
26169         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
26170         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
26171         * modules/unictype/property-bidi-european-digit-tests: New file.
26172         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
26173         * modules/unictype/property-bidi-left-to-right-tests: New file.
26174         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
26175         * modules/unictype/property-bidi-other-neutral-tests: New file.
26176         * modules/unictype/property-bidi-pdf-tests: New file.
26177         * modules/unictype/property-bidi-segment-separator-tests: New file.
26178         * modules/unictype/property-bidi-whitespace-tests: New file.
26179         * modules/unictype/property-byname-tests: New file.
26180         * modules/unictype/property-combining-tests: New file.
26181         * modules/unictype/property-composite-tests: New file.
26182         * modules/unictype/property-currency-symbol-tests: New file.
26183         * modules/unictype/property-dash-tests: New file.
26184         * modules/unictype/property-decimal-digit-tests: New file.
26185         * modules/unictype/property-default-ignorable-code-point-tests: New file.
26186         * modules/unictype/property-deprecated-tests: New file.
26187         * modules/unictype/property-diacritic-tests: New file.
26188         * modules/unictype/property-extender-tests: New file.
26189         * modules/unictype/property-format-control-tests: New file.
26190         * modules/unictype/property-grapheme-base-tests: New file.
26191         * modules/unictype/property-grapheme-extend-tests: New file.
26192         * modules/unictype/property-grapheme-link-tests: New file.
26193         * modules/unictype/property-hex-digit-tests: New file.
26194         * modules/unictype/property-hyphen-tests: New file.
26195         * modules/unictype/property-id-continue-tests: New file.
26196         * modules/unictype/property-id-start-tests: New file.
26197         * modules/unictype/property-ideographic-tests: New file.
26198         * modules/unictype/property-ids-binary-operator-tests: New file.
26199         * modules/unictype/property-ids-trinary-operator-tests: New file.
26200         * modules/unictype/property-ignorable-control-tests: New file.
26201         * modules/unictype/property-iso-control-tests: New file.
26202         * modules/unictype/property-join-control-tests: New file.
26203         * modules/unictype/property-left-of-pair-tests: New file.
26204         * modules/unictype/property-line-separator-tests: New file.
26205         * modules/unictype/property-logical-order-exception-tests: New file.
26206         * modules/unictype/property-lowercase-tests: New file.
26207         * modules/unictype/property-math-tests: New file.
26208         * modules/unictype/property-non-break-tests: New file.
26209         * modules/unictype/property-not-a-character-tests: New file.
26210         * modules/unictype/property-numeric-tests: New file.
26211         * modules/unictype/property-other-alphabetic-tests: New file.
26212         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
26213         * modules/unictype/property-other-grapheme-extend-tests: New file.
26214         * modules/unictype/property-other-id-continue-tests: New file.
26215         * modules/unictype/property-other-id-start-tests: New file.
26216         * modules/unictype/property-other-lowercase-tests: New file.
26217         * modules/unictype/property-other-math-tests: New file.
26218         * modules/unictype/property-other-uppercase-tests: New file.
26219         * modules/unictype/property-paired-punctuation-tests: New file.
26220         * modules/unictype/property-paragraph-separator-tests: New file.
26221         * modules/unictype/property-pattern-syntax-tests: New file.
26222         * modules/unictype/property-pattern-white-space-tests: New file.
26223         * modules/unictype/property-private-use-tests: New file.
26224         * modules/unictype/property-punctuation-tests: New file.
26225         * modules/unictype/property-quotation-mark-tests: New file.
26226         * modules/unictype/property-radical-tests: New file.
26227         * modules/unictype/property-sentence-terminal-tests: New file.
26228         * modules/unictype/property-soft-dotted-tests: New file.
26229         * modules/unictype/property-space-tests: New file.
26230         * modules/unictype/property-terminal-punctuation-tests: New file.
26231         * modules/unictype/property-test-tests: New file.
26232         * modules/unictype/property-titlecase-tests: New file.
26233         * modules/unictype/property-unassigned-code-value-tests: New file.
26234         * modules/unictype/property-unified-ideograph-tests: New file.
26235         * modules/unictype/property-uppercase-tests: New file.
26236         * modules/unictype/property-variation-selector-tests: New file.
26237         * modules/unictype/property-white-space-tests: New file.
26238         * modules/unictype/property-xid-continue-tests: New file.
26239         * modules/unictype/property-xid-start-tests: New file.
26240         * modules/unictype/property-zero-width-tests: New file.
26241         * modules/unictype/scripts-tests: New file.
26242         * modules/unictype/syntax-c-ident-tests: New file.
26243         * modules/unictype/syntax-c-whitespace-tests: New file.
26244         * modules/unictype/syntax-java-ident-tests: New file.
26245         * modules/unictype/syntax-java-whitespace-tests: New file.
26246         * tests/unictype/test-bidi_byname.c: New file.
26247         * tests/unictype/test-bidi_name.c: New file.
26248         * tests/unictype/test-bidi_of.c: New file.
26249         * tests/unictype/test-bidi_test.c: New file.
26250         * tests/unictype/test-block_list.c: New file.
26251         * tests/unictype/test-block_of.c: New file.
26252         * tests/unictype/test-block_test.c: New file.
26253         * tests/unictype/test-categ_and.c: New file.
26254         * tests/unictype/test-categ_and_not.c: New file.
26255         * tests/unictype/test-categ_byname.c: New file.
26256         * tests/unictype/test-categ_name.c: New file.
26257         * tests/unictype/test-categ_none.c: New file.
26258         * tests/unictype/test-categ_of.c: New file.
26259         * tests/unictype/test-categ_or.c: New file.
26260         * tests/unictype/test-categ_test_withtable.c: New file.
26261         * tests/unictype/test-combining.c: New file.
26262         * tests/unictype/test-decdigit.c: New file.
26263         * tests/unictype/test-digit.c: New file.
26264         * tests/unictype/test-mirror.c: New file.
26265         * tests/unictype/test-numeric.c: New file.
26266         * tests/unictype/test-pr_byname.c: New file.
26267         * tests/unictype/test-pr_test.c: New file.
26268         * tests/unictype/test-predicate-part1.h: New file.
26269         * tests/unictype/test-predicate-part2.h: New file.
26270         * tests/unictype/test-scripts.c: New file.
26271         * tests/unictype/test-sy_c_ident.c: New file.
26272         * tests/unictype/test-sy_java_ident.c: New file.
26273
26274         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
26275         for Unicode 5.0.0.
26276         * tests/unictype/test-categ_Cc.c: Likewise.
26277         * tests/unictype/test-categ_Cf.c: Likewise.
26278         * tests/unictype/test-categ_Cn.c: Likewise.
26279         * tests/unictype/test-categ_Co.c: Likewise.
26280         * tests/unictype/test-categ_Cs.c: Likewise.
26281         * tests/unictype/test-categ_L.c: Likewise.
26282         * tests/unictype/test-categ_Ll.c: Likewise.
26283         * tests/unictype/test-categ_Lm.c: Likewise.
26284         * tests/unictype/test-categ_Lo.c: Likewise.
26285         * tests/unictype/test-categ_Lt.c: Likewise.
26286         * tests/unictype/test-categ_Lu.c: Likewise.
26287         * tests/unictype/test-categ_M.c: Likewise.
26288         * tests/unictype/test-categ_Mc.c: Likewise.
26289         * tests/unictype/test-categ_Me.c: Likewise.
26290         * tests/unictype/test-categ_Mn.c: Likewise.
26291         * tests/unictype/test-categ_N.c: Likewise.
26292         * tests/unictype/test-categ_Nd.c: Likewise.
26293         * tests/unictype/test-categ_Nl.c: Likewise.
26294         * tests/unictype/test-categ_No.c: Likewise.
26295         * tests/unictype/test-categ_P.c: Likewise.
26296         * tests/unictype/test-categ_Pc.c: Likewise.
26297         * tests/unictype/test-categ_Pd.c: Likewise.
26298         * tests/unictype/test-categ_Pe.c: Likewise.
26299         * tests/unictype/test-categ_Pf.c: Likewise.
26300         * tests/unictype/test-categ_Pi.c: Likewise.
26301         * tests/unictype/test-categ_Po.c: Likewise.
26302         * tests/unictype/test-categ_Ps.c: Likewise.
26303         * tests/unictype/test-categ_S.c: Likewise.
26304         * tests/unictype/test-categ_Sc.c: Likewise.
26305         * tests/unictype/test-categ_Sk.c: Likewise.
26306         * tests/unictype/test-categ_Sm.c: Likewise.
26307         * tests/unictype/test-categ_So.c: Likewise.
26308         * tests/unictype/test-categ_Z.c: Likewise.
26309         * tests/unictype/test-categ_Zl.c: Likewise.
26310         * tests/unictype/test-categ_Zp.c: Likewise.
26311         * tests/unictype/test-categ_Zs.c: Likewise.
26312         * tests/unictype/test-ctype_alnum.c: Likewise.
26313         * tests/unictype/test-ctype_alpha.c: Likewise.
26314         * tests/unictype/test-ctype_blank.c: Likewise.
26315         * tests/unictype/test-ctype_cntrl.c: Likewise.
26316         * tests/unictype/test-ctype_digit.c: Likewise.
26317         * tests/unictype/test-ctype_graph.c: Likewise.
26318         * tests/unictype/test-ctype_lower.c: Likewise.
26319         * tests/unictype/test-ctype_print.c: Likewise.
26320         * tests/unictype/test-ctype_punct.c: Likewise.
26321         * tests/unictype/test-ctype_space.c: Likewise.
26322         * tests/unictype/test-ctype_upper.c: Likewise.
26323         * tests/unictype/test-ctype_xdigit.c: Likewise.
26324         * tests/unictype/test-decdigit.h: Likewise.
26325         * tests/unictype/test-digit.h: Likewise.
26326         * tests/unictype/test-numeric.h: Likewise.
26327         * tests/unictype/test-pr_alphabetic.c: Likewise.
26328         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
26329         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26330         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26331         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
26332         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26333         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
26334         * tests/unictype/test-pr_bidi_control.c: Likewise.
26335         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
26336         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
26337         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26338         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26339         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26340         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26341         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26342         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26343         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
26344         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
26345         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
26346         * tests/unictype/test-pr_combining.c: Likewise.
26347         * tests/unictype/test-pr_composite.c: Likewise.
26348         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26349         * tests/unictype/test-pr_dash.c: Likewise.
26350         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26351         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
26352         * tests/unictype/test-pr_deprecated.c: Likewise.
26353         * tests/unictype/test-pr_diacritic.c: Likewise.
26354         * tests/unictype/test-pr_extender.c: Likewise.
26355         * tests/unictype/test-pr_format_control.c: Likewise.
26356         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26357         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26358         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26359         * tests/unictype/test-pr_hex_digit.c: Likewise.
26360         * tests/unictype/test-pr_hyphen.c: Likewise.
26361         * tests/unictype/test-pr_id_continue.c: Likewise.
26362         * tests/unictype/test-pr_id_start.c: Likewise.
26363         * tests/unictype/test-pr_ideographic.c: Likewise.
26364         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
26365         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
26366         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26367         * tests/unictype/test-pr_iso_control.c: Likewise.
26368         * tests/unictype/test-pr_join_control.c: Likewise.
26369         * tests/unictype/test-pr_left_of_pair.c: Likewise.
26370         * tests/unictype/test-pr_line_separator.c: Likewise.
26371         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26372         * tests/unictype/test-pr_lowercase.c: Likewise.
26373         * tests/unictype/test-pr_math.c: Likewise.
26374         * tests/unictype/test-pr_non_break.c: Likewise.
26375         * tests/unictype/test-pr_not_a_character.c: Likewise.
26376         * tests/unictype/test-pr_numeric.c: Likewise.
26377         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26378         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
26379         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
26380         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26381         * tests/unictype/test-pr_other_id_start.c: Likewise.
26382         * tests/unictype/test-pr_other_lowercase.c: Likewise.
26383         * tests/unictype/test-pr_other_math.c: Likewise.
26384         * tests/unictype/test-pr_other_uppercase.c: Likewise.
26385         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
26386         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
26387         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
26388         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
26389         * tests/unictype/test-pr_private_use.c: Likewise.
26390         * tests/unictype/test-pr_punctuation.c: Likewise.
26391         * tests/unictype/test-pr_quotation_mark.c: Likewise.
26392         * tests/unictype/test-pr_radical.c: Likewise.
26393         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26394         * tests/unictype/test-pr_soft_dotted.c: Likewise.
26395         * tests/unictype/test-pr_space.c: Likewise.
26396         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26397         * tests/unictype/test-pr_titlecase.c: Likewise.
26398         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26399         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26400         * tests/unictype/test-pr_uppercase.c: Likewise.
26401         * tests/unictype/test-pr_variation_selector.c: Likewise.
26402         * tests/unictype/test-pr_white_space.c: Likewise.
26403         * tests/unictype/test-pr_xid_continue.c: Likewise.
26404         * tests/unictype/test-pr_xid_start.c: Likewise.
26405         * tests/unictype/test-pr_zero_width.c: Likewise.
26406         * tests/unictype/test-sy_c_whitespace.c: Likewise.
26407         * tests/unictype/test-sy_java_whitespace.c: Likewise.
26408
26409 2007-11-12  Bruno Haible  <bruno@clisp.org>
26410
26411         Unicode character classification functions.
26412         * lib/unictype.h: New file.
26413         * modules/unictype/base: New file.
26414         * modules/unictype/category-L: New file.
26415         * modules/unictype/category-Lu: New file.
26416         * modules/unictype/category-Ll: New file.
26417         * modules/unictype/category-Lt: New file.
26418         * modules/unictype/category-Lm: New file.
26419         * modules/unictype/category-Lo: New file.
26420         * modules/unictype/category-M: New file.
26421         * modules/unictype/category-Mn: New file.
26422         * modules/unictype/category-Mc: New file.
26423         * modules/unictype/category-Me: New file.
26424         * modules/unictype/category-N: New file.
26425         * modules/unictype/category-Nd: New file.
26426         * modules/unictype/category-Nl: New file.
26427         * modules/unictype/category-No: New file.
26428         * modules/unictype/category-P: New file.
26429         * modules/unictype/category-Pc: New file.
26430         * modules/unictype/category-Pd: New file.
26431         * modules/unictype/category-Ps: New file.
26432         * modules/unictype/category-Pe: New file.
26433         * modules/unictype/category-Pi: New file.
26434         * modules/unictype/category-Pf: New file.
26435         * modules/unictype/category-Po: New file.
26436         * modules/unictype/category-S: New file.
26437         * modules/unictype/category-Sm: New file.
26438         * modules/unictype/category-Sc: New file.
26439         * modules/unictype/category-Sk: New file.
26440         * modules/unictype/category-So: New file.
26441         * modules/unictype/category-Z: New file.
26442         * modules/unictype/category-Zs: New file.
26443         * modules/unictype/category-Zl: New file.
26444         * modules/unictype/category-Zp: New file.
26445         * modules/unictype/category-C: New file.
26446         * modules/unictype/category-Cc: New file.
26447         * modules/unictype/category-Cf: New file.
26448         * modules/unictype/category-Cs: New file.
26449         * modules/unictype/category-Co: New file.
26450         * modules/unictype/category-Cn: New file.
26451         * modules/unictype/category-or: New file.
26452         * modules/unictype/category-of: New file.
26453         * modules/unictype/category-test: New file.
26454         * modules/unictype/category-test-withtable: New file.
26455         * modules/unictype/category-byname: New file.
26456         * modules/unictype/category-none: New file.
26457         * modules/unictype/category-and: New file.
26458         * modules/unictype/category-and-not: New file.
26459         * modules/unictype/category-name: New file.
26460         * modules/unictype/combining-class: New file.
26461         * modules/unictype/category-all: New file.
26462         * modules/unictype/bidicategory-all: New file.
26463         * modules/unictype/bidicategory-byname: New file.
26464         * modules/unictype/bidicategory-name: New file.
26465         * modules/unictype/bidicategory-of: New file.
26466         * modules/unictype/bidicategory-test: New file.
26467         * modules/unictype/decimal-digit: New file.
26468         * modules/unictype/digit: New file.
26469         * modules/unictype/numeric: New file.
26470         * modules/unictype/mirror: New file.
26471         * modules/unictype/property-white-space: New file.
26472         * modules/unictype/property-alphabetic: New file.
26473         * modules/unictype/property-other-alphabetic: New file.
26474         * modules/unictype/property-not-a-character: New file.
26475         * modules/unictype/property-default-ignorable-code-point: New file.
26476         * modules/unictype/property-other-default-ignorable-code-point: New
26477         file.
26478         * modules/unictype/property-deprecated: New file.
26479         * modules/unictype/property-logical-order-exception: New file.
26480         * modules/unictype/property-variation-selector: New file.
26481         * modules/unictype/property-private-use: New file.
26482         * modules/unictype/property-unassigned-code-value: New file.
26483         * modules/unictype/property-uppercase: New file.
26484         * modules/unictype/property-other-uppercase: New file.
26485         * modules/unictype/property-lowercase: New file.
26486         * modules/unictype/property-other-lowercase: New file.
26487         * modules/unictype/property-titlecase: New file.
26488         * modules/unictype/property-soft-dotted: New file.
26489         * modules/unictype/property-id-start: New file.
26490         * modules/unictype/property-other-id-start: New file.
26491         * modules/unictype/property-id-continue: New file.
26492         * modules/unictype/property-other-id-continue: New file.
26493         * modules/unictype/property-xid-start: New file.
26494         * modules/unictype/property-xid-continue: New file.
26495         * modules/unictype/property-pattern-white-space: New file.
26496         * modules/unictype/property-pattern-syntax: New file.
26497         * modules/unictype/property-join-control: New file.
26498         * modules/unictype/property-grapheme-base: New file.
26499         * modules/unictype/property-grapheme-extend: New file.
26500         * modules/unictype/property-other-grapheme-extend: New file.
26501         * modules/unictype/property-grapheme-link: New file.
26502         * modules/unictype/property-bidi-control: New file.
26503         * modules/unictype/property-bidi-left-to-right: New file.
26504         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
26505         * modules/unictype/property-bidi-arabic-right-to-left: New file.
26506         * modules/unictype/property-bidi-european-digit: New file.
26507         * modules/unictype/property-bidi-eur-num-separator: New file.
26508         * modules/unictype/property-bidi-eur-num-terminator: New file.
26509         * modules/unictype/property-bidi-arabic-digit: New file.
26510         * modules/unictype/property-bidi-common-separator: New file.
26511         * modules/unictype/property-bidi-block-separator: New file.
26512         * modules/unictype/property-bidi-segment-separator: New file.
26513         * modules/unictype/property-bidi-whitespace: New file.
26514         * modules/unictype/property-bidi-non-spacing-mark: New file.
26515         * modules/unictype/property-bidi-boundary-neutral: New file.
26516         * modules/unictype/property-bidi-pdf: New file.
26517         * modules/unictype/property-bidi-embedding-or-override: New file.
26518         * modules/unictype/property-bidi-other-neutral: New file.
26519         * modules/unictype/property-hex-digit: New file.
26520         * modules/unictype/property-ascii-hex-digit: New file.
26521         * modules/unictype/property-ideographic: New file.
26522         * modules/unictype/property-unified-ideograph: New file.
26523         * modules/unictype/property-radical: New file.
26524         * modules/unictype/property-ids-binary-operator: New file.
26525         * modules/unictype/property-ids-trinary-operator: New file.
26526         * modules/unictype/property-zero-width: New file.
26527         * modules/unictype/property-space: New file.
26528         * modules/unictype/property-non-break: New file.
26529         * modules/unictype/property-iso-control: New file.
26530         * modules/unictype/property-format-control: New file.
26531         * modules/unictype/property-dash: New file.
26532         * modules/unictype/property-hyphen: New file.
26533         * modules/unictype/property-punctuation: New file.
26534         * modules/unictype/property-line-separator: New file.
26535         * modules/unictype/property-paragraph-separator: New file.
26536         * modules/unictype/property-quotation-mark: New file.
26537         * modules/unictype/property-sentence-terminal: New file.
26538         * modules/unictype/property-terminal-punctuation: New file.
26539         * modules/unictype/property-currency-symbol: New file.
26540         * modules/unictype/property-math: New file.
26541         * modules/unictype/property-other-math: New file.
26542         * modules/unictype/property-paired-punctuation: New file.
26543         * modules/unictype/property-left-of-pair: New file.
26544         * modules/unictype/property-combining: New file.
26545         * modules/unictype/property-composite: New file.
26546         * modules/unictype/property-decimal-digit: New file.
26547         * modules/unictype/property-numeric: New file.
26548         * modules/unictype/property-diacritic: New file.
26549         * modules/unictype/property-extender: New file.
26550         * modules/unictype/property-ignorable-control: New file.
26551         * modules/unictype/property-test: New file.
26552         * modules/unictype/property-byname: New file.
26553         * modules/unictype/property-all: New file.
26554         * modules/unictype/scripts: New file.
26555         * modules/unictype/scripts-all: New file.
26556         * modules/unictype/block-of: New file.
26557         * modules/unictype/block-test: New file.
26558         * modules/unictype/block-list: New file.
26559         * modules/unictype/block-all: New file.
26560         * modules/unictype/syntax-c-whitespace: New file.
26561         * modules/unictype/syntax-java-whitespace: New file.
26562         * modules/unictype/syntax-c-ident: New file.
26563         * modules/unictype/syntax-java-ident: New file.
26564         * modules/unictype/ctype-alnum: New file.
26565         * modules/unictype/ctype-alpha: New file.
26566         * modules/unictype/ctype-cntrl: New file.
26567         * modules/unictype/ctype-digit: New file.
26568         * modules/unictype/ctype-graph: New file.
26569         * modules/unictype/ctype-lower: New file.
26570         * modules/unictype/ctype-print: New file.
26571         * modules/unictype/ctype-punct: New file.
26572         * modules/unictype/ctype-space: New file.
26573         * modules/unictype/ctype-upper: New file.
26574         * modules/unictype/ctype-xdigit: New file.
26575         * modules/unictype/ctype-blank: New file.
26576         * lib/unictype/bidi_byname.c: New file.
26577         * lib/unictype/bidi_name.c: New file.
26578         * lib/unictype/bidi_of.c: New file.
26579         * lib/unictype/bidi_test.c: New file.
26580         * lib/unictype/bitmap.h: New file.
26581         * lib/unictype/block_test.c: New file.
26582         * lib/unictype/blocks.c: New file.
26583         * lib/unictype/categ_C.c: New file.
26584         * lib/unictype/categ_Cc.c: New file.
26585         * lib/unictype/categ_Cf.c: New file.
26586         * lib/unictype/categ_Cn.c: New file.
26587         * lib/unictype/categ_Co.c: New file.
26588         * lib/unictype/categ_Cs.c: New file.
26589         * lib/unictype/categ_L.c: New file.
26590         * lib/unictype/categ_Ll.c: New file.
26591         * lib/unictype/categ_Lm.c: New file.
26592         * lib/unictype/categ_Lo.c: New file.
26593         * lib/unictype/categ_Lt.c: New file.
26594         * lib/unictype/categ_Lu.c: New file.
26595         * lib/unictype/categ_M.c: New file.
26596         * lib/unictype/categ_Mc.c: New file.
26597         * lib/unictype/categ_Me.c: New file.
26598         * lib/unictype/categ_Mn.c: New file.
26599         * lib/unictype/categ_N.c: New file.
26600         * lib/unictype/categ_Nd.c: New file.
26601         * lib/unictype/categ_Nl.c: New file.
26602         * lib/unictype/categ_No.c: New file.
26603         * lib/unictype/categ_P.c: New file.
26604         * lib/unictype/categ_Pc.c: New file.
26605         * lib/unictype/categ_Pd.c: New file.
26606         * lib/unictype/categ_Pe.c: New file.
26607         * lib/unictype/categ_Pf.c: New file.
26608         * lib/unictype/categ_Pi.c: New file.
26609         * lib/unictype/categ_Po.c: New file.
26610         * lib/unictype/categ_Ps.c: New file.
26611         * lib/unictype/categ_S.c: New file.
26612         * lib/unictype/categ_Sc.c: New file.
26613         * lib/unictype/categ_Sk.c: New file.
26614         * lib/unictype/categ_Sm.c: New file.
26615         * lib/unictype/categ_So.c: New file.
26616         * lib/unictype/categ_Z.c: New file.
26617         * lib/unictype/categ_Zl.c: New file.
26618         * lib/unictype/categ_Zp.c: New file.
26619         * lib/unictype/categ_Zs.c: New file.
26620         * lib/unictype/categ_and.c: New file.
26621         * lib/unictype/categ_and_not.c: New file.
26622         * lib/unictype/categ_byname.c: New file.
26623         * lib/unictype/categ_name.c: New file.
26624         * lib/unictype/categ_none.c: New file.
26625         * lib/unictype/categ_of.c: New file.
26626         * lib/unictype/categ_or.c: New file.
26627         * lib/unictype/categ_test.c: New file.
26628         * lib/unictype/combining.c: New file.
26629         * lib/unictype/ctype_alnum.c: New file.
26630         * lib/unictype/ctype_alpha.c: New file.
26631         * lib/unictype/ctype_blank.c: New file.
26632         * lib/unictype/ctype_cntrl.c: New file.
26633         * lib/unictype/ctype_digit.c: New file.
26634         * lib/unictype/ctype_graph.c: New file.
26635         * lib/unictype/ctype_lower.c: New file.
26636         * lib/unictype/ctype_print.c: New file.
26637         * lib/unictype/ctype_punct.c: New file.
26638         * lib/unictype/ctype_space.c: New file.
26639         * lib/unictype/ctype_upper.c: New file.
26640         * lib/unictype/ctype_xdigit.c: New file.
26641         * lib/unictype/decdigit.c: New file.
26642         * lib/unictype/digit.c: New file.
26643         * lib/unictype/identsyntaxmap.h: New file.
26644         * lib/unictype/mirror.c: New file.
26645         * lib/unictype/numeric.c: New file.
26646         * lib/unictype/pr_alphabetic.c: New file.
26647         * lib/unictype/pr_ascii_hex_digit.c: New file.
26648         * lib/unictype/pr_bidi_arabic_digit.c: New file.
26649         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
26650         * lib/unictype/pr_bidi_block_separator.c: New file.
26651         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
26652         * lib/unictype/pr_bidi_common_separator.c: New file.
26653         * lib/unictype/pr_bidi_control.c: New file.
26654         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
26655         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
26656         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
26657         * lib/unictype/pr_bidi_european_digit.c: New file.
26658         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
26659         * lib/unictype/pr_bidi_left_to_right.c: New file.
26660         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
26661         * lib/unictype/pr_bidi_other_neutral.c: New file.
26662         * lib/unictype/pr_bidi_pdf.c: New file.
26663         * lib/unictype/pr_bidi_segment_separator.c: New file.
26664         * lib/unictype/pr_bidi_whitespace.c: New file.
26665         * lib/unictype/pr_byname.c: New file.
26666         * lib/unictype/pr_byname.gperf: New file.
26667         * lib/unictype/pr_combining.c: New file.
26668         * lib/unictype/pr_composite.c: New file.
26669         * lib/unictype/pr_currency_symbol.c: New file.
26670         * lib/unictype/pr_dash.c: New file.
26671         * lib/unictype/pr_decimal_digit.c: New file.
26672         * lib/unictype/pr_default_ignorable_code_point.c: New file.
26673         * lib/unictype/pr_deprecated.c: New file.
26674         * lib/unictype/pr_diacritic.c: New file.
26675         * lib/unictype/pr_extender.c: New file.
26676         * lib/unictype/pr_format_control.c: New file.
26677         * lib/unictype/pr_grapheme_base.c: New file.
26678         * lib/unictype/pr_grapheme_extend.c: New file.
26679         * lib/unictype/pr_grapheme_link.c: New file.
26680         * lib/unictype/pr_hex_digit.c: New file.
26681         * lib/unictype/pr_hyphen.c: New file.
26682         * lib/unictype/pr_id_continue.c: New file.
26683         * lib/unictype/pr_id_start.c: New file.
26684         * lib/unictype/pr_ideographic.c: New file.
26685         * lib/unictype/pr_ids_binary_operator.c: New file.
26686         * lib/unictype/pr_ids_trinary_operator.c: New file.
26687         * lib/unictype/pr_ignorable_control.c: New file.
26688         * lib/unictype/pr_iso_control.c: New file.
26689         * lib/unictype/pr_join_control.c: New file.
26690         * lib/unictype/pr_left_of_pair.c: New file.
26691         * lib/unictype/pr_line_separator.c: New file.
26692         * lib/unictype/pr_logical_order_exception.c: New file.
26693         * lib/unictype/pr_lowercase.c: New file.
26694         * lib/unictype/pr_math.c: New file.
26695         * lib/unictype/pr_non_break.c: New file.
26696         * lib/unictype/pr_not_a_character.c: New file.
26697         * lib/unictype/pr_numeric.c: New file.
26698         * lib/unictype/pr_other_alphabetic.c: New file.
26699         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
26700         * lib/unictype/pr_other_grapheme_extend.c: New file.
26701         * lib/unictype/pr_other_id_continue.c: New file.
26702         * lib/unictype/pr_other_id_start.c: New file.
26703         * lib/unictype/pr_other_lowercase.c: New file.
26704         * lib/unictype/pr_other_math.c: New file.
26705         * lib/unictype/pr_other_uppercase.c: New file.
26706         * lib/unictype/pr_paired_punctuation.c: New file.
26707         * lib/unictype/pr_paragraph_separator.c: New file.
26708         * lib/unictype/pr_pattern_syntax.c: New file.
26709         * lib/unictype/pr_pattern_white_space.c: New file.
26710         * lib/unictype/pr_private_use.c: New file.
26711         * lib/unictype/pr_punctuation.c: New file.
26712         * lib/unictype/pr_quotation_mark.c: New file.
26713         * lib/unictype/pr_radical.c: New file.
26714         * lib/unictype/pr_sentence_terminal.c: New file.
26715         * lib/unictype/pr_soft_dotted.c: New file.
26716         * lib/unictype/pr_space.c: New file.
26717         * lib/unictype/pr_terminal_punctuation.c: New file.
26718         * lib/unictype/pr_test.c: New file.
26719         * lib/unictype/pr_titlecase.c: New file.
26720         * lib/unictype/pr_unassigned_code_value.c: New file.
26721         * lib/unictype/pr_unified_ideograph.c: New file.
26722         * lib/unictype/pr_uppercase.c: New file.
26723         * lib/unictype/pr_variation_selector.c: New file.
26724         * lib/unictype/pr_white_space.c: New file.
26725         * lib/unictype/pr_xid_continue.c: New file.
26726         * lib/unictype/pr_xid_start.c: New file.
26727         * lib/unictype/pr_zero_width.c: New file.
26728         * lib/unictype/scripts.c: New file.
26729         * lib/unictype/sy_c_ident.c: New file.
26730         * lib/unictype/sy_c_whitespace.c: New file.
26731         * lib/unictype/sy_java_ident.c: New file.
26732         * lib/unictype/sy_java_whitespace.c: New file.
26733
26734         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
26735         Unicode 5.0.0.
26736         * lib/unictype/blocks.h: Likewise.
26737         * lib/unictype/categ_C.h: Likewise.
26738         * lib/unictype/categ_Cc.h: Likewise.
26739         * lib/unictype/categ_Cf.h: Likewise.
26740         * lib/unictype/categ_Cn.h: Likewise.
26741         * lib/unictype/categ_Co.h: Likewise.
26742         * lib/unictype/categ_Cs.h: Likewise.
26743         * lib/unictype/categ_L.h: Likewise.
26744         * lib/unictype/categ_Ll.h: Likewise.
26745         * lib/unictype/categ_Lm.h: Likewise.
26746         * lib/unictype/categ_Lo.h: Likewise.
26747         * lib/unictype/categ_Lt.h: Likewise.
26748         * lib/unictype/categ_Lu.h: Likewise.
26749         * lib/unictype/categ_M.h: Likewise.
26750         * lib/unictype/categ_Mc.h: Likewise.
26751         * lib/unictype/categ_Me.h: Likewise.
26752         * lib/unictype/categ_Mn.h: Likewise.
26753         * lib/unictype/categ_N.h: Likewise.
26754         * lib/unictype/categ_Nd.h: Likewise.
26755         * lib/unictype/categ_Nl.h: Likewise.
26756         * lib/unictype/categ_No.h: Likewise.
26757         * lib/unictype/categ_P.h: Likewise.
26758         * lib/unictype/categ_Pc.h: Likewise.
26759         * lib/unictype/categ_Pd.h: Likewise.
26760         * lib/unictype/categ_Pe.h: Likewise.
26761         * lib/unictype/categ_Pf.h: Likewise.
26762         * lib/unictype/categ_Pi.h: Likewise.
26763         * lib/unictype/categ_Po.h: Likewise.
26764         * lib/unictype/categ_Ps.h: Likewise.
26765         * lib/unictype/categ_S.h: Likewise.
26766         * lib/unictype/categ_Sc.h: Likewise.
26767         * lib/unictype/categ_Sk.h: Likewise.
26768         * lib/unictype/categ_Sm.h: Likewise.
26769         * lib/unictype/categ_So.h: Likewise.
26770         * lib/unictype/categ_Z.h: Likewise.
26771         * lib/unictype/categ_Zl.h: Likewise.
26772         * lib/unictype/categ_Zp.h: Likewise.
26773         * lib/unictype/categ_Zs.h: Likewise.
26774         * lib/unictype/categ_of.h: Likewise.
26775         * lib/unictype/combining.h: Likewise.
26776         * lib/unictype/ctype_alnum.h: Likewise.
26777         * lib/unictype/ctype_alpha.h: Likewise.
26778         * lib/unictype/ctype_blank.h: Likewise.
26779         * lib/unictype/ctype_cntrl.h: Likewise.
26780         * lib/unictype/ctype_digit.h: Likewise.
26781         * lib/unictype/ctype_graph.h: Likewise.
26782         * lib/unictype/ctype_lower.h: Likewise.
26783         * lib/unictype/ctype_print.h: Likewise.
26784         * lib/unictype/ctype_punct.h: Likewise.
26785         * lib/unictype/ctype_space.h: Likewise.
26786         * lib/unictype/ctype_upper.h: Likewise.
26787         * lib/unictype/ctype_xdigit.h: Likewise.
26788         * lib/unictype/decdigit.h: Likewise.
26789         * lib/unictype/digit.h: Likewise.
26790         * lib/unictype/mirror.h: Likewise.
26791         * lib/unictype/numeric.h: Likewise.
26792         * lib/unictype/pr_alphabetic.h: Likewise.
26793         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26794         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26795         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26796         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26797         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26798         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26799         * lib/unictype/pr_bidi_control.h: Likewise.
26800         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26801         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26802         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26803         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26804         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26805         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26806         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26807         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26808         * lib/unictype/pr_bidi_pdf.h: Likewise.
26809         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26810         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26811         * lib/unictype/pr_combining.h: Likewise.
26812         * lib/unictype/pr_composite.h: Likewise.
26813         * lib/unictype/pr_currency_symbol.h: Likewise.
26814         * lib/unictype/pr_dash.h: Likewise.
26815         * lib/unictype/pr_decimal_digit.h: Likewise.
26816         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26817         * lib/unictype/pr_deprecated.h: Likewise.
26818         * lib/unictype/pr_diacritic.h: Likewise.
26819         * lib/unictype/pr_extender.h: Likewise.
26820         * lib/unictype/pr_format_control.h: Likewise.
26821         * lib/unictype/pr_grapheme_base.h: Likewise.
26822         * lib/unictype/pr_grapheme_extend.h: Likewise.
26823         * lib/unictype/pr_grapheme_link.h: Likewise.
26824         * lib/unictype/pr_hex_digit.h: Likewise.
26825         * lib/unictype/pr_hyphen.h: Likewise.
26826         * lib/unictype/pr_id_continue.h: Likewise.
26827         * lib/unictype/pr_id_start.h: Likewise.
26828         * lib/unictype/pr_ideographic.h: Likewise.
26829         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26830         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26831         * lib/unictype/pr_ignorable_control.h: Likewise.
26832         * lib/unictype/pr_iso_control.h: Likewise.
26833         * lib/unictype/pr_join_control.h: Likewise.
26834         * lib/unictype/pr_left_of_pair.h: Likewise.
26835         * lib/unictype/pr_line_separator.h: Likewise.
26836         * lib/unictype/pr_logical_order_exception.h: Likewise.
26837         * lib/unictype/pr_lowercase.h: Likewise.
26838         * lib/unictype/pr_math.h: Likewise.
26839         * lib/unictype/pr_non_break.h: Likewise.
26840         * lib/unictype/pr_not_a_character.h: Likewise.
26841         * lib/unictype/pr_numeric.h: Likewise.
26842         * lib/unictype/pr_other_alphabetic.h: Likewise.
26843         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26844         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26845         * lib/unictype/pr_other_id_continue.h: Likewise.
26846         * lib/unictype/pr_other_id_start.h: Likewise.
26847         * lib/unictype/pr_other_lowercase.h: Likewise.
26848         * lib/unictype/pr_other_math.h: Likewise.
26849         * lib/unictype/pr_other_uppercase.h: Likewise.
26850         * lib/unictype/pr_paired_punctuation.h: Likewise.
26851         * lib/unictype/pr_paragraph_separator.h: Likewise.
26852         * lib/unictype/pr_pattern_syntax.h: Likewise.
26853         * lib/unictype/pr_pattern_white_space.h: Likewise.
26854         * lib/unictype/pr_private_use.h: Likewise.
26855         * lib/unictype/pr_punctuation.h: Likewise.
26856         * lib/unictype/pr_quotation_mark.h: Likewise.
26857         * lib/unictype/pr_radical.h: Likewise.
26858         * lib/unictype/pr_sentence_terminal.h: Likewise.
26859         * lib/unictype/pr_soft_dotted.h: Likewise.
26860         * lib/unictype/pr_space.h: Likewise.
26861         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26862         * lib/unictype/pr_titlecase.h: Likewise.
26863         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26864         * lib/unictype/pr_unified_ideograph.h: Likewise.
26865         * lib/unictype/pr_uppercase.h: Likewise.
26866         * lib/unictype/pr_variation_selector.h: Likewise.
26867         * lib/unictype/pr_white_space.h: Likewise.
26868         * lib/unictype/pr_xid_continue.h: Likewise.
26869         * lib/unictype/pr_xid_start.h: Likewise.
26870         * lib/unictype/pr_zero_width.h: Likewise.
26871         * lib/unictype/scripts.h: Likewise.
26872         * lib/unictype/scripts_byname.gperf: Likewise.
26873         * lib/unictype/sy_c_ident.h: Likewise.
26874         * lib/unictype/sy_c_whitespace.h: Likewise.
26875         * lib/unictype/sy_java_ident.h: Likewise.
26876         * lib/unictype/sy_java_whitespace.h: Likewise.
26877
26878         * lib/unictype/Makefile: New file.
26879         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
26880         glibc.
26881         * lib/unictype/3level.h: New file, copied from glibc.
26882         * lib/unictype/3levelbit.h: New file.
26883
26884 2007-11-11  Bruno Haible  <bruno@clisp.org>
26885
26886         * modules/gperf: New file.
26887         * modules/iconv_open (Depends-on): Add it.
26888         (Makefile.am): Remove the GPERF definition.
26889
26890 2007-11-11  Bruno Haible  <bruno@clisp.org>
26891
26892         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
26893         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
26894
26895 2007-11-11  Bruno Haible  <bruno@clisp.org>
26896
26897         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
26898         (usage): Remove function.
26899
26900 2007-11-11  Bruno Haible  <bruno@clisp.org>
26901
26902         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
26903         gl_FUNC_CEILF_LIBS.
26904         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
26905         gl_FUNC_CEIL_LIBS.
26906         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
26907         gl_FUNC_CEILL_LIBS.
26908         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
26909         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
26910         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
26911
26912 2007-11-11  Bruno Haible  <bruno@clisp.org>
26913
26914         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
26915         roundf were declared but do not exist on functions.
26916         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
26917         roundl were declared but do not exist on functions.
26918         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
26919         HAVE_FLOORL_AND_CEILL, respectively.
26920         Needed for Sun C on Solaris 10.
26921
26922 2007-11-11  Bruno Haible  <bruno@clisp.org>
26923
26924         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
26925         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
26926         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
26927         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
26928         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
26929         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
26930         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
26931         HAVE_DECL_ROUNDF.
26932         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
26933         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
26934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
26935         of HAVE_DECL_ROUND*.
26936         * modules/math (Makefile.am): Update.
26937
26938 2007-11-10  Bruno Haible  <bruno@clisp.org>
26939
26940         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
26941         ptrdiff_t as m4/intl.m4.
26942
26943 2007-11-10  Jim Meyering  <meyering@redhat.com>
26944
26945         Avoid link failure for the argmatch test.
26946         * tests/test-argmatch.c (usage): Define function to avoid a link
26947         failure: argmatch_die requires a usage function.
26948
26949 2007-11-09  Bruno Haible  <bruno@clisp.org>
26950
26951         * doc/functions/snprintf.texi: Mention BeOS deficiency.
26952         * doc/functions/vsnprintf.texi: Likewise.
26953         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
26954         with a size argument < 2.
26955
26956 2007-11-09  Bruno Haible  <bruno@clisp.org>
26957
26958         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
26959         buffer. Fixes an inefficiency introduced on 2007-11-03.
26960
26961 2007-11-09  Bruno Haible  <bruno@clisp.org>
26962
26963         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
26964         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
26965
26966 2007-11-08  Jim Meyering  <meyering@redhat.com>
26967
26968         Change cache variable name prefix "jm_" to "gl_" everywhere.
26969         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
26970         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
26971         * m4/uptime.m4: s/gl_/jm_/
26972
26973 2007-11-07  Bruno Haible  <bruno@clisp.org>
26974
26975         Update to GNU gettext 0.17.
26976         * m4/intl.m4: Update to GNU gettext 0.17.
26977         * m4/po.m4: Likewise.
26978         * modules/gettext (Files): Remove m4/ulonglong.m4.
26979         (configure.ac): Require gettext infrastructure from version 0.17.
26980
26981 2007-11-06  Bruno Haible  <bruno@clisp.org>
26982
26983         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
26984         symbolic values are not defined in a public header.
26985         * lib/freadable.c (freadable) [QNX]: Likewise.
26986         * lib/freadahead.c (freadahead) [QNX]: Likewise.
26987         * lib/freading.c (freading) [QNX]: Likewise.
26988         * lib/fseterr.c (fseterr) [QNX]: Likewise.
26989         * lib/fwritable.c (fwritable) [QNX]: Likewise.
26990         * lib/fwriting.c (fwriting) [QNX]: Likewise.
26991         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
26992         Reported by Alain Magloire.
26993
26994         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
26995
26996 2007-11-05  Bruno Haible  <bruno@clisp.org>
26997
26998         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
26999         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
27000         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
27001         Reported by Eric Blake.
27002
27003 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27004             Bruno Haible  <bruno@clisp.org>
27005
27006         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
27007         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
27008         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
27009         (malloc): Undefine also before including <stdlib.h>.
27010         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
27011         Needed on OSF/1 4.0.
27012
27013 2007-11-05  Jim Meyering  <meyering@redhat.com>
27014
27015         git-version-gen: sync from coreutils.
27016         * build-aux/git-version-gen: Add comments.
27017         Change the first '-' to '.' in the snapshot version string,
27018         e.g., 6.9-377-08144 -> 6.9.377-08144
27019         Remove first parameter.
27020         Don't declare a version "-dirty" merely because a time
27021         stamp has changed.
27022
27023 2007-11-04  Bruno Haible  <bruno@clisp.org>
27024
27025         * lib/lock.h: Protect all macro definitions containing an 'if'
27026         statement through a "do { ... } while (0)".
27027         * lib/tls.h: Likewise.
27028
27029 2007-11-04  Bruno Haible  <bruno@clisp.org>
27030
27031         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
27032
27033 2007-11-04  Bruno Haible  <bruno@clisp.org>
27034
27035         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
27036         * modules/fprintf-posix (Depends-on): Add nocrash.
27037         * modules/snprintf-posix (Depends-on): Likewise.
27038         * modules/sprintf-posix (Depends-on): Likewise.
27039         * modules/vasnprintf-posix (Depends-on): Likewise.
27040         * modules/vasprintf-posix (Depends-on): Likewise.
27041         * modules/vfprintf-posix (Depends-on): Likewise.
27042         * modules/vsnprintf-posix (Depends-on): Likewise.
27043         * modules/vsprintf-posix (Depends-on): Likewise.
27044         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27045         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27046         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27047         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27048         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27049         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27050         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27051
27052 2007-11-04  Bruno Haible  <bruno@clisp.org>
27053
27054         * modules/nocrash: New file.
27055         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
27056         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
27057
27058 2007-11-04  Bruno Haible  <bruno@clisp.org>
27059
27060         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
27061         precision handling.
27062         * tests/test-vasprintf-posix.c (test_function): Likewise.
27063         * tests/test-snprintf-posix.h (test_function): Likewise.
27064         * tests/test-sprintf-posix.h (test_function): Likewise.
27065
27066         Fix *printf behaviour for large precisions on mingw and BeOS.
27067         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
27068         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
27069         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
27070         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27071         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27072         gl_PRINTF_PRECISION and test its result. Invoke
27073         gl_PREREQ_VASNPRINTF_PRECISION.
27074         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27075         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27076         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27077         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27078         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27079         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27080         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27081         * doc/functions/fprintf.texi: Update.
27082         * doc/functions/printf.texi: Update.
27083         * doc/functions/snprintf.texi: Update.
27084         * doc/functions/sprintf.texi: Update.
27085         * doc/functions/vfprintf.texi: Update.
27086         * doc/functions/vprintf.texi: Update.
27087         * doc/functions/vsnprintf.texi: Update.
27088         * doc/functions/vsprintf.texi: Update.
27089
27090 2007-11-04  Bruno Haible  <bruno@clisp.org>
27091
27092         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
27093
27094 2007-11-04  Bruno Haible  <bruno@clisp.org>
27095
27096         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
27097         Reported by Sylvain Beucler <beuc@gnu.org>.
27098
27099 2007-11-03  Bruno Haible  <bruno@clisp.org>
27100
27101         * tests/test-fprintf-posix2.sh: New file.
27102         * tests/test-fprintf-posix2.c: New file.
27103         * modules/fprintf-posix-tests (Files): Add them.
27104         (TESTS): Add test-fprintf-posix2.sh.
27105         (configure.ac): Check for getrlimit and setrlimit.
27106         (check_PROGRAMS): Add test-fprintf-posix2.
27107
27108         * tests/test-printf-posix2.sh: New file.
27109         * tests/test-printf-posix2.c: New file.
27110         * modules/printf-posix-tests (Files): Add them.
27111         (TESTS): Add test-printf-posix2.sh.
27112         (configure.ac): Check for getrlimit and setrlimit.
27113         (check_PROGRAMS): Add test-printf-posix2.
27114
27115         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
27116         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
27117         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
27118         (decode_double): New function, copied from decode_long_double.
27119         (scale10_round_decimal_decoded): New function, extracted from
27120         scale10_round_decimal_long_double.
27121         (scale10_round_decimal_long_double): Use it.
27122         (scale10_round_decimal_double): New function.
27123         (floorlog10): New function.
27124         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
27125         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
27126         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27127         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27128         gl_PRINTF_ENOMEM and test its result. Invoke
27129         gl_PREREQ_VASNPRINTF_ENOMEM.
27130         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27131         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27132         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27133         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27134         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27135         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27136         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27137         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
27138         * modules/snprintf-posix (Depends-on): Likewise.
27139         * modules/sprintf-posix (Depends-on): Likewise.
27140         * modules/vasnprintf-posix (Depends-on): Likewise.
27141         * modules/vasprintf-posix (Depends-on): Likewise.
27142         * modules/vfprintf-posix (Depends-on): Likewise.
27143         * modules/vsnprintf-posix (Depends-on): Likewise.
27144         * modules/vsprintf-posix (Depends-on): Likewise.
27145         * doc/functions/fprintf.texi: Update.
27146         * doc/functions/printf.texi: Update.
27147         * doc/functions/snprintf.texi: Update.
27148         * doc/functions/sprintf.texi: Update.
27149         * doc/functions/vfprintf.texi: Update.
27150         * doc/functions/vprintf.texi: Update.
27151         * doc/functions/vsnprintf.texi: Update.
27152         * doc/functions/vsprintf.texi: Update.
27153
27154 2007-11-03  Bruno Haible  <bruno@clisp.org>
27155
27156         * modules/frexp-nolibm-tests: New file.
27157
27158         * modules/frexp-nolibm: New file.
27159         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
27160
27161 2007-11-03  Bruno Haible  <bruno@clisp.org>
27162
27163         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
27164         value is C99 compliant.
27165         Needed for OSF/1 5.1.
27166
27167 2007-11-03  Bruno Haible  <bruno@clisp.org>
27168
27169         Fix out-of-memory handling of vasnprintf.
27170         * lib/printf-parse.c: Include <errno.h>.
27171         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
27172         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
27173         is already set.
27174
27175 2007-11-02  Eric Blake  <ebb9@byu.net>
27176
27177         Fix tests on cygwin.
27178         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
27179
27180 2007-11-01  Bruno Haible  <bruno@clisp.org>
27181
27182         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
27183         warning.
27184         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
27185         needed for POSIX compatibility.
27186
27187 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27188
27189         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
27190         for compatibility with GNU.
27191
27192 2007-11-01  Bruno Haible  <bruno@clisp.org>
27193
27194         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
27195         (putenv): Renamed from rpl_putenv. Change argument type from
27196         'const char *' to 'char *'.
27197         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
27198         of defining putenv in config.h, just set REPLACE_PUTENV.
27199         * modules/putenv (Depends-on): Add stdlib.
27200         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27201         (Include): Use <stdlib.h>.
27202         * lib/stdlib.in.h (putenv): New declaration.
27203         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
27204         REPLACE_PUTENV.
27205         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
27206         REPLACE_PUTENV.
27207         Needed for MacOS X 10.5.0.
27208         Reported by Peter O'Gorman <peter@pogma.com>.
27209
27210 2007-11-01  Jim Meyering  <meyering@redhat.com>
27211
27212         Treat an empty date string exactly like "0".
27213         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
27214         if the remaining date string (to be parsed) is empty, use "0".
27215         Reported by Mischa Molhoek and discussed in this thread:
27216         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
27217
27218 2007-10-31  Bruno Haible  <bruno@clisp.org>
27219
27220         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
27221         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
27222         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
27223         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
27224         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
27225         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
27226
27227 2007-10-31  Bruno Haible  <bruno@clisp.org>
27228
27229         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
27230         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
27231         (AC_TYPE_LONG_LONG_INT): Use it.
27232         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
27233         it as well.
27234         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
27235         to m4/longlong.m4.
27236         * modules/stdint (Files): Remove m4/ulonglong.m4.
27237         * modules/strtoull (Files): Use m4/longlong.m4 instead of
27238         m4/ulonglong.m4.
27239         * modules/strtoumax (Files): Likewise.
27240
27241 2007-10-30  Bruno Haible  <bruno@clisp.org>
27242
27243         * modules/xvasprintf-posix: New file.
27244         Suggested by Eric Blake.
27245
27246 2007-10-30  Bruno Haible  <bruno@clisp.org>
27247
27248         * modules/xprintf-posix-tests: New file.
27249         * tests/test-xprintf-posix.sh: New file.
27250         * tests/test-xprintf-posix.c: New file.
27251         * tests/test-xfprintf-posix.c: New file.
27252
27253         * modules/xprintf-posix: New file.
27254
27255 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27256
27257         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
27258         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
27259         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
27260
27261 2007-10-29  Bruno Haible  <bruno@clisp.org>
27262
27263         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
27264         contain the special marker '_cv_'.
27265         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27266         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27267         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27268         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27269         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27270         Reported by Ralf Wildenhues.
27271
27272 2007-10-29  Bruno Haible  <bruno@clisp.org>
27273
27274         * gnulib-tool (func_import): When --lgpl is not specified, set
27275         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
27276         GPLv3.
27277         Reported by Simon Josefsson.
27278
27279 2007-10-28  Bruno Haible  <bruno@clisp.org>
27280
27281         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
27282         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
27283         HAVE_DECL_ISFINITE.
27284         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27285         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
27286         HAVE_DECL_ISFINITE.
27287
27288 2007-10-28  Bruno Haible  <bruno@clisp.org>
27289
27290         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
27291         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
27292
27293 2007-10-28  Bruno Haible  <bruno@clisp.org>
27294
27295         Fix link errors with Sun C 5.0 on Solaris 10.
27296         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
27297         function is declared but not present in the compiler's libm.
27298         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27299         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
27300         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
27301         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
27302         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
27303         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
27304         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
27305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27306         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
27307         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
27308         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
27309         HAVE_DECL_FLOORL.
27310
27311 2007-10-28  Bruno Haible  <bruno@clisp.org>
27312
27313         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
27314         gl_FUNC_FLOORL. Cache the result.
27315         (gl_FUNC_FLOORL): Use it.
27316         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
27317         gl_FUNC_CEILL. Cache the result.
27318         (gl_FUNC_CEILL): Use it.
27319
27320         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
27321         gl_FUNC_FLOOR. Cache the result.
27322         (gl_FUNC_FLOOR): Use it.
27323         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
27324         gl_FUNC_CEIL. Cache the result.
27325         (gl_FUNC_CEIL): Use it.
27326
27327         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
27328         gl_FUNC_FLOORF. Cache the result.
27329         (gl_FUNC_FLOORF): Use it.
27330         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
27331         gl_FUNC_CEILF. Cache the result.
27332         (gl_FUNC_CEILF): Use it.
27333
27334 2007-10-28  Bruno Haible  <bruno@clisp.org>
27335
27336         * gnulib-tool: Allow specifying the LGPL version number through
27337         --lgpl=2 or --lgpl=3.
27338         (func_usage): Document --lgpl with argument.
27339         Handle --lgpl=... arguments.
27340         (func_import): Recognize also gl_LGPL calls with an argument. When
27341         --lgpl=2 is used and the module's license is just LGPL, report an
27342         error. Set sed_transform_lib_file according to the lgpl variable. In
27343         the generated files, use --lgpl or gl_LGPL invocations with argument,
27344         if necessary.
27345         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
27346         an LGPv2+ license.
27347         * doc/gnulib-tool.texi (Modified imports): Update explanation of
27348         gl_LGPL macro.
27349
27350 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27351             Bruno Haible  <bruno@clisp.org>
27352
27353         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
27354         (u16_uctomb_aux): Likewise.
27355         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
27356         !HAVE_INLINE.
27357         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
27358
27359 2007-10-28  Bruno Haible  <bruno@clisp.org>
27360
27361         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
27362         Invoke AM_GETTEXT_OPTION if it exists.
27363         * modules/vasprintf: Likewise.
27364         * modules/verror: Likewise.
27365         * modules/xprintf: Likewise.
27366         * modules/xvasprintf: Likewise.
27367
27368 2007-10-27  Ben Pfaff  <blp@gnu.org>
27369
27370         * lib/math.in.h: Define isfinite macro and prototypes for
27371         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
27372         implementations.
27373         * m4/math_h.m4: New substitutions for isfinite module.
27374         * lib/isfinite.c: New file.
27375         * m4/isfinite.m4: New file.
27376         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
27377         * modules/isfinite: New file.
27378         * modules/isfinite-tests: New file.
27379         * tests/tests-isfinite.c: New file.
27380         * doc/functions/isfinite.texi: Mention isfinite module.
27381         * MODULES.html.sh: Mention new module.
27382
27383 2007-10-27  Ben Pfaff  <blp@gnu.org>
27384
27385         Ralf Wildenhues reported that Tru64 4.0D declares the round
27386         functions but does not have definitions.
27387         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
27388         cannot be found in any library, set the output variable to
27389         "missing" instead of "".
27390         * m4/round.m4: Also use our substitute if we cannot find round in
27391         any library, even if it is declared.
27392         * m4/roundf.m4: Likewise for roundf.
27393         * m4/roundl.m4: Likewise for roundl.
27394         * lib/math.in.h: Undefine roundf, round, roundl before defining
27395         their replacements, to allow for hypothetical systems where these
27396         may be defined as macros but not available in libraries.
27397
27398 2007-10-27  Bruno Haible  <bruno@clisp.org>
27399
27400         * doc/gnulib.texi: Invoke @firstparagraphindent.
27401         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
27402         changes in gnulib.
27403         (Source changes): New section.
27404
27405 2007-10-26  Bruno Haible  <bruno@clisp.org>
27406
27407         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
27408         borrowed from autoconf.
27409
27410 2007-10-26  Bruno Haible  <bruno@clisp.org>
27411
27412         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
27413         strerror returned the empty string. Needed on HP-UX 11.00.
27414
27415 2007-10-24  Micah Cowan  <micah@cowan.name>
27416
27417         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
27418         * build-aux/bootstrap: Remove support for now-unnecessary option,
27419         --cvs-user, and envvars CVS_USER, CVS_RSH.
27420
27421 2007-10-24  Jim Meyering  <meyering@redhat.com>
27422
27423         Avoid diagnostics from sha1sum when there is no cached checksum.
27424         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
27425         if the po.s1 file hasn't been created yet.
27426
27427         * build-aux/bootstrap: Sync from coreutils:
27428         2007-10-24  Jim Meyering  <meyering@redhat.com>
27429         Get gnulib from the git repository, not from an obsolete cvs one.
27430         * build-aux/bootstrap: Suggestion from Micah Cowan.
27431         2007-10-04  Jim Meyering  <jim@meyering.net>
27432         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
27433         (update_po_files): Work also when there are no .po files in po/.
27434
27435 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27436
27437         * README: Append ".git" to git and cg examples.
27438         Problem reported by Benoit Sigoure.
27439
27440 2007-10-23  Micah Cowan  <micah@cowan.name>
27441
27442         * users.txt: Add wget.
27443
27444 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27445
27446         Fix linking of some unistdio tests on FreeBSD.
27447         * modules/unistdio/u16-vsnprintf-tests
27448         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
27449         * modules/unistdio/u16-vsprintf-tests
27450         (test_u16_vsnprintf1_LDADD): Likewise.
27451         * modules/unistdio/u32-vsnprintf-tests
27452         (test_u32_vsnprintf1_LDADD): Likewise.
27453         * modules/unistdio/u32-vsprintf-tests
27454         (test_u32_vsprintf1_LDADD): Likewise.
27455         * modules/unistdio/u8-vsnprintf-tests
27456         (test_u8_vsnprintf1_LDADD): Likewise.
27457         * modules/unistdio/u8-vsprintf-tests
27458         (test_u8_vsprintf1_LDADD): Likewise.
27459         * modules/unistdio/ulc-vsnprintf-tests
27460         (test_ulc_vsnprintf1_LDADD): Likewise.
27461         * modules/unistdio/ulc-vsprintf-tests
27462         (test_ulc_vsprintf1_LDADD): Likewise.
27463
27464         Fix linking of some uniconv tests on FreeBSD.
27465         * modules/uniconv/u16-conv-from-enc-tests
27466         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
27467         * modules/uniconv/u16-conv-to-enc-tests
27468         (test_u16_conv_to_enc_LDADD): Likewise.
27469         * modules/uniconv/u16-strconv-from-enc-tests
27470         (test_u16_strconv_from_enc_LDADD): Likewise.
27471         * modules/uniconv/u16-strconv-to-enc-tests
27472         (test_u16_strconv_to_enc_LDADD): Likewise.
27473         * modules/uniconv/u32-conv-from-enc-tests
27474         (test_u32_conv_from_enc_LDADD): Likewise.
27475         * modules/uniconv/u32-conv-to-enc-tests
27476         (test_u32_conv_to_enc_LDADD): Likewise.
27477         * modules/uniconv/u32-strconv-from-enc-tests
27478         (test_u32_strconv_from_enc_LDADD): Likewise.
27479         * modules/uniconv/u32-strconv-to-enc-tests
27480         (test_u32_strconv_to_enc_LDADD): Likewise.
27481         * modules/uniconv/u8-conv-from-enc-tests
27482         (test_u8_conv_from_enc_LDADD): Likewise.
27483         * modules/uniconv/u8-conv-to-enc-tests
27484         (test_u8_conv_to_enc_LDADD): Likewise.
27485         * modules/uniconv/u8-strconv-from-enc-tests
27486         (test_u8_strconv_from_enc_LDADD): Likewise.
27487         * modules/uniconv/u8-strconv-to-enc-tests
27488         (test_u8_strconv_to_enc_LDADD): Likewise.
27489
27490 2007-10-22  Bruno Haible  <bruno@clisp.org>
27491
27492         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
27493         size.
27494
27495 2007-10-22  Eric Blake  <ebb9@byu.net>
27496
27497         Tweak x*printf documentation.
27498         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
27499         variable name and comments.
27500         Suggested by Bruno Haible.
27501
27502 2007-10-22  Bruno Haible  <bruno@clisp.org>
27503
27504         * lib/acl.c (copy_acl): Fix file name in comment.
27505
27506 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27507
27508         Fix Tru64 problem with stdbool.h.
27509         * lib/stdbool.in.h (false, true):
27510         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
27511         Don't declare as an enum in this situation; it runs afoul of Tru64.
27512         Problem reported by Steven M. Schweda in
27513         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
27514
27515 2007-10-22  Eric Blake  <ebb9@byu.net>
27516
27517         Also wrap vf?printf.
27518         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
27519         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
27520         (xvprintf, xvfprintf): New functions.
27521
27522 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27523
27524         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
27525         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
27526
27527         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
27528         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
27529
27530 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
27531
27532         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
27533         by Bruno Haible.
27534
27535 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27536
27537         * lib/getloadavg.c
27538         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
27539         Undef `sys' after including sys/table.h, for Tru64 4.0D.
27540
27541         * tests/test-i-ring.c: Work for C89.
27542
27543 2007-10-22  Bruno Haible  <bruno@clisp.org>
27544
27545         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
27546         -1u, in preprocessor expression, so that we don't test for the bug
27547         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
27548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
27549
27550 2007-10-22  Eric Blake  <ebb9@byu.net>
27551
27552         * tests/test-yesno.sh: Silence stderr during test.
27553
27554 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27555
27556         * modules/crypto/gc-camellia: New file.
27557
27558         * m4/gc-camellia.m4: New file.
27559
27560         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
27561
27562         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
27563
27564 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27565
27566         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
27567         --help to stdout.  Reported by sms@antinode.org (Steven
27568         M. Schweda).
27569
27570 2007-10-22  Simon Josefsson  <simon@josefsson.org>
27571
27572         * users.txt: Fix link to libksba.
27573
27574 2007-10-21  Ben Pfaff  <blp@gnu.org>
27575
27576         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
27577         round.c roundf implementation that depends on floorf and ceilf to
27578         be tested unconditionally.
27579
27580 2007-10-21  Ben Pfaff  <blp@gnu.org>
27581
27582         * m4/check-libm-func.m4: Removed.
27583         * m4/check-math-lib.m4: New file.
27584         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
27585         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
27586         definition and lack of AC_LIBOBJ([roundf]).
27587         * m4/roundl.m4: Ditto, and similarly for roundl.
27588         * modules/round: Reference new m4 file.
27589         * modules/roundf: Ditto.
27590         * modules/roundl: Ditto.
27591         * tests/test-round2.c (main): Use ROUND instead of round.
27592         Bug report from Bruno Haible.
27593
27594 2007-10-21  Bruno Haible  <bruno@clisp.org>
27595
27596         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
27597         context.
27598
27599 2007-10-21  Bruno Haible  <bruno@clisp.org>
27600
27601         * tests/test-wcwidth.c (main): Allow negative result for some control
27602         characters.
27603
27604         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
27605         Needed on OSF/1 5.1.
27606
27607 2007-10-21  Bruno Haible  <bruno@clisp.org>
27608
27609         * tests/test-floorf1.c: Include isnanf.h.
27610         (main): Use isnanf() instead of isnan().
27611         * tests/test-ceilf1.c: Include isnanf.h.
27612         (main): Use isnanf() instead of isnan().
27613         * tests/test-truncf1.c: Include isnanf.h.
27614         (main): Use isnanf() instead of isnan().
27615         * tests/test-roundf1.c: Include isnanf.h.
27616         (main): Use isnanf() instead of isnan().
27617
27618 2007-10-21  Eric Blake  <ebb9@byu.net>
27619
27620         * users.txt: Update URL for m4.
27621
27622 2007-10-21  Bruno Haible  <bruno@clisp.org>
27623
27624         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
27625
27626 2007-10-21  Bruno Haible  <bruno@clisp.org>
27627
27628         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
27629         Git's management files if the CVS files are not present.
27630
27631 2007-10-20  Bruno Haible  <bruno@clisp.org>
27632
27633         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
27634         gcc-3.4.x.
27635
27636 2007-10-20  Ben Pfaff  <blp@gnu.org>
27637
27638         * lib/math.in.h: Declare round, roundf, roundl if we are providing
27639         implementations.
27640         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
27641         * lib/round.c: New file.
27642         * lib/roundf.c: New file.
27643         * lib/roundl.c: New file.
27644         * m4/round.m4: New file.
27645         * m4/roundf.m4: New file.
27646         * m4/roundl.m4: New file.
27647         * m4/check-libm-func-m4: New file.
27648         * modules/math: Replace round, roundf, roundl related @VARS@ in
27649         math.in.h.
27650         * modules/round: New file.
27651         * modules/round-tests: New file.
27652         * modules/roundf: New file.
27653         * modules/roundf-tests: New file.
27654         * modules/roundl: New file.
27655         * modules/roundl-tests: New file.
27656         * tests/test-round1.c: New file.
27657         * tests/test-round2.c: New file.
27658         * tests/test-roundf1.c: New file.
27659         * tests/test-roundf2.c: New file.
27660         * tests/test-roundl.c: New file.
27661         * doc/functions/round.texi: Mention round module.
27662         * doc/functions/roundf.texi: Mention roundf module.
27663         * doc/functions/roundl.texi: Mention roundl module.
27664         * MODULES.html.sh: Mention new modules.
27665         Thanks to Bruno Haible for suggestions.
27666
27667 2007-10-20  Jim Meyering  <meyering@redhat.com>
27668
27669         * lib/xprintf.c: Include <config.h> unconditionally.
27670
27671         Change xprintf's license to GPL.
27672         * modules/xprintf (License): s/LGPL/GPL/, since this module
27673         depends on modules (exit and exitfail) which are GPL.
27674         Suggestion from Bruno Haible.
27675
27676         xprintf fixes.
27677         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
27678         Use a clearer diagnostic.
27679         Patch from Bruno Haible.
27680
27681 2007-10-20  Bruno Haible  <bruno@clisp.org>
27682
27683         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
27684         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
27685         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27686
27687 2007-10-20  Bruno Haible  <bruno@clisp.org>
27688
27689         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
27690         precision in the comparison result > x - 1 or similar.
27691         * tests/test-ceilf2.c (correct_result_p): Likewise.
27692         * tests/test-truncf2.c (correct_result_p): Likewise.
27693         * tests/test-trunc2.c (correct_result_p): Likewise.
27694         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27695
27696 2007-10-20  Bruno Haible  <bruno@clisp.org>
27697
27698         * modules/ceil: New file.
27699         * m4/ceil.m4: New file.
27700         * doc/functions/ceil.texi: Mention the 'ceil' module.
27701
27702 2007-10-20  Bruno Haible  <bruno@clisp.org>
27703
27704         * modules/floor: New file.
27705         * m4/floor.m4: New file.
27706         * doc/functions/floor.texi: Mention the 'floor' module.
27707
27708 2007-10-20  Bruno Haible  <bruno@clisp.org>
27709
27710         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
27711         of %a.
27712         * modules/floorf-tests (Depends-on): Likewise.
27713         * modules/truncf-tests (Depends-on): Likewise.
27714         * modules/trunc-tests (Depends-on): Likewise.
27715         Reported by Ben Pfaff.
27716
27717 2007-10-19  Jim Meyering  <meyering@redhat.com>
27718
27719         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
27720         Don't bother testing specific errno values.  Just test ferror.
27721
27722         New module: xprintf
27723         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
27724
27725 2007-10-19  Bruno Haible  <bruno@clisp.org>
27726
27727         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
27728         syntax.
27729         * modules/javaexec (Makefile.am): Likewise.
27730         * modules/relocatable-prog (Makefile.am): Likewise.
27731         Suggested by Jim Meyering.
27732
27733 2007-10-18  Bruno Haible  <bruno@clisp.org>
27734
27735         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
27736         Reported by Jim Meyering.
27737
27738 2007-10-18  Eric Blake  <ebb9@byu.net>
27739
27740         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
27741
27742 2007-10-18  Bruno Haible  <bruno@clisp.org>
27743
27744         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
27745         the format string into writable memory. Needed in Fortify conditions.
27746
27747 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
27748             Bruno Haible  <bruno@clisp.org>
27749
27750         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
27751         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
27752         * modules/trim (Depends-on): Add mbchar.
27753         (configure.ac): Add gl_FUNC_MBRTOWC.
27754         (Makefile.am): Augment lib_SOURCES.
27755
27756 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
27757
27758         Modify glob.c to use fstatat and dirfd, to simplify it.
27759         Suggested by Eric Blake.
27760         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
27761         Don't include <stdbool.h>; not used.
27762         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
27763         (link_exists_p): Simplify implementation, since we can now assume
27764         dirfd and fstatat.
27765         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
27766
27767 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27768
27769         * gnulib-tool (func_get_dependencies): Fix sed script to
27770         match only tests.
27771
27772 2007-10-17  Bruno Haible  <bruno@clisp.org>
27773
27774         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
27775         allow locale names without encoding suffix.
27776         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
27777         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
27778
27779 2007-10-16  Bruno Haible  <bruno@clisp.org>
27780
27781         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
27782         * lib/getgroups.c (getgroups): Likewise.
27783         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
27784
27785 2007-10-16  Bruno Haible  <bruno@clisp.org>
27786
27787         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
27788         * modules/malloc-posix (License): Likewise.
27789         * modules/realloc-posix (License): Likewise.
27790         * modules/calloc-posix (License): Likewise.
27791         * modules/intprops (License): Change from GPL to LGPL, with
27792         Paul Eggert's approval.
27793
27794 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27795
27796         Merge glibc changes into lib/glob.c.
27797
27798         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
27799         2007-10-15 04:59:03 UTC.  Here are the changes:
27800
27801         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
27802
27803         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
27804
27805         * lib/glob.c: Add some branch prediction throughout.
27806
27807         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
27808
27809         [BZ #5103]
27810         * lib/glob.c (glob): Recognize patterns starting \/.
27811
27812         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
27813
27814         [BZ #3996]
27815         * lib/glob.c (attribute_hidden): Define if not defined.
27816         (glob): Unescape dirname, filename or username when needed and not
27817         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
27818         is NULL.  Handle unescaped [ in pattern without closing ].
27819         Don't pass GLOB_CHECK down to recursive glob for directories.
27820         (__glob_pattern_type): New function.
27821         (__glob_pattern_p): Implement using __glob_pattern_type.
27822         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
27823         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
27824         Remove unreachable code.
27825
27826         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
27827
27828         * lib/glob.c (glob_in_dir): Add some comments and asserts to
27829         explain why there are no leaks.
27830
27831         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
27832
27833         [BZ #3253]
27834         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
27835         time, rather allocate increasingly bigger arrays of pointers, if
27836         possible with alloca, if too large with malloc.
27837
27838 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
27839
27840         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
27841         Problem reported by H.Merijn Brand in
27842         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
27843         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
27844         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
27845
27846 2007-10-15  Bruno Haible  <bruno@clisp.org>
27847
27848         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
27849         with explicit rpl_ prefix.
27850         * lib/fopen.c (fopen): Likewise.
27851         * lib/freopen.c (freopen): Likewise.
27852         * lib/iconv.c (iconv): Likewise.
27853         * lib/iconv_close.c (iconv_close): Likewise.
27854
27855 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27856
27857         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
27858
27859 2007-10-15  Bruno Haible  <bruno@clisp.org>
27860
27861         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
27862         <stddef.h> instead of <stdlib.h> since we only need NULL.
27863         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27864
27865 2007-10-15  Bruno Haible  <bruno@clisp.org>
27866
27867         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
27868         Replace paragraph talking about LIBOBJS.
27869         Reported by Colin Watson <cjwatson@debian.org>.
27870
27871 2007-10-15  Bruno Haible  <bruno@clisp.org>
27872
27873         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
27874         <stdlib.h> before using NULL.
27875
27876 2007-10-15  Simon Josefsson  <simon@josefsson.org>
27877
27878         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
27879         Reported by Albert Chin <china@thewrittenword.com>.
27880
27881 2007-10-14  Bruno Haible  <bruno@clisp.org>
27882
27883         * modules/iconv_open-utf-tests: New file.
27884         * tests/test-iconv-utf.c: New file.
27885
27886         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
27887         * modules/iconv_open-utf: New file.
27888         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
27889         (iconv, iconv_close): New declarations.
27890         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
27891         be defined.
27892         (iconv_open): Add special handling of conversion between UTF-8 and
27893         UTF-{16,32}{BE,LE}.
27894         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
27895         * lib/iconv_close.c: New file.
27896         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
27897         gl_FUNC_ICONV_OPEN.
27898         (gl_FUNC_ICONV_OPEN): Use it.
27899         (gl_FUNC_ICONV_OPEN_UTF): New macro.
27900         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
27901         and REPLACE_ICONV_UTF.
27902         * modules/iconv_open (Depends-on): Add c-strcase.
27903         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
27904         ICONV_CONST.
27905         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
27906
27907 2007-10-13  Albert Chin  <china@thewrittenword.com>
27908             Bruno Haible  <bruno@clisp.org>
27909
27910         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
27911         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
27912
27913 2007-10-13  Bruno Haible  <bruno@clisp.org>
27914
27915         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
27916         defined, use the ISO C99 inline semantics.
27917         * lib/argp.h (ARGP_EI): Likewise.
27918
27919 2007-10-13  Bruno Haible  <bruno@clisp.org>
27920
27921         Handle 'inline' change in gcc 4.3.0.
27922         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
27923         argp_fmtstream_write, argp_fmtstream_set_lmargin,
27924         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
27925         argp_fmtstream_point): Disable 'extern' declaration if the function
27926         definition is going to be provided inline.
27927         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
27928         semantics, not the ISO C99 inline semantics.
27929         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
27930         'extern' declaration if the function definition is going to be provided
27931         inline.
27932         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
27933         the GNU C inline semantics, not the ISO C99 inline semantics. With
27934         GCC 4.2, avoid a warning.
27935
27936 2007-10-13  Bruno Haible  <bruno@clisp.org>
27937
27938         * lib/freading.h (freading): Enable the use of __freading for
27939         glibc >= 2.7.
27940         * lib/freading.c (freading): Likewise.
27941
27942 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
27943
27944         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
27945         "warning: C99 inline functions are not supported; using GNU89".
27946
27947 2007-10-12  Bruno Haible  <bruno@clisp.org>
27948
27949         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
27950         of 2.
27951         * tests/test-ceilf2.c: New file.
27952         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
27953
27954         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
27955         * modules/ceilf-tests: Update.
27956
27957 2007-10-12  Bruno Haible  <bruno@clisp.org>
27958
27959         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
27960         of 2.
27961         * tests/test-floorf2.c: New file.
27962         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
27963
27964         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
27965         * modules/floorf-tests: Update.
27966
27967 2007-10-12  Bruno Haible  <bruno@clisp.org>
27968
27969         * tests/test-trunc2.c: New file.
27970         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
27971
27972         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
27973         * modules/trunc-tests: Update.
27974
27975 2007-10-12  Bruno Haible  <bruno@clisp.org>
27976
27977         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
27978         of 2.
27979         * tests/test-truncf2.c: New file.
27980         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
27981
27982         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
27983         * modules/truncf-tests: Update.
27984
27985 2007-10-11  Eric Blake  <ebb9@byu.net>
27986
27987         Don't claim strerror is broken on Interix.
27988         * doc/functions/strerror.texi (strerror): Known broken systems are
27989         now Solaris 8, and not Interix.
27990         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
27991         Interix on cross-compile.
27992         Reported by Martin Koeppe in
27993         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
27994
27995 2007-10-11  Bruno Haible  <bruno@clisp.org>
27996
27997         * modules/i-ring-tests: New file.
27998         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
27999         instead of assert.
28000
28001 2007-10-11  Bruno Haible  <bruno@clisp.org>
28002
28003         * modules/filenamecat-tests: New file.
28004         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
28005         * lib/filenamecat.c: Remove test code.
28006
28007 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28008
28009         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
28010
28011         * lib/strerror.c: Include <string.h> always, to test interface,
28012         and to remove the need for the dummy.
28013         Include intprops.h to compute width instead of doing it ourselves
28014         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
28015         (strerror): Define it to return NULL if there's no system strerror.
28016         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
28017         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
28018         ancient pre-strerror Unix systems well any more.  Saying "unknown
28019         system error" is enough.
28020         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
28021         simpler strerror.c implementation.
28022         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
28023         Simplify the tests to reflect the simpler strerror implementation.
28024         * modules/strerror (Depends-on): Add intprops.
28025
28026 2007-10-09  Eric Blake  <ebb9@byu.net>
28027
28028         Silence test-fpending.
28029         * modules/fpending-tests (Files): Add wrapper script.
28030         * tests/test-fpending.sh: New file.
28031
28032 2007-10-09  Bruno Haible  <bruno@clisp.org>
28033
28034         * MODULES.html.sh (func_module): Don't create a hyperlink for
28035         function names like 'printf_frexp'.
28036         (Misc): Add crc, memxor.
28037         (Characteristics of floating types): New section.
28038         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
28039         isnanf-nolibm, signbit, trunc, truncf, truncl.
28040         (Enhancements for ISO C 99 functions): New subsection Input/output.
28041         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
28042         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
28043         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
28044         (Compatibility checks for POSIX:2001 functions): Add clock-time.
28045         (Enhancements for POSIX:2001 functions): Add chdir-long.
28046         (File system functions): Add areadlink, chdir-safer, read-file.
28047         Remove cycle-check.
28048         (File system as inode set): New section.
28049         (Date and time): Add gethrxtime.
28050         (Multithreading): Add openmp.
28051         (Internationalization functions): Add localename.
28052         (Unicode string functions): Add unistr/u*-mbsnlen.
28053         (Support for maintaining and releasing projects): Add git-version-gen.
28054         (Lone files): Remove directories.
28055
28056 2007-10-08  Ben Pfaff  <blp@gnu.org>
28057
28058         * lib/xmalloca.h: Fix typo in comment.
28059
28060 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28061
28062         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
28063         when avoiding problems with integer overflow.  Use a portable test
28064         instead.
28065
28066 2007-10-08  Simon Josefsson  <simon@josefsson.org>
28067
28068         * modules/dummy (License): Change to LGPLv2+.
28069         * modules/float (License): Likewise
28070         * modules/realloc (License): Likewise
28071         * modules/stdlib (License): Likewise
28072
28073 2007-10-07  Bruno Haible  <bruno@clisp.org>
28074
28075         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
28076         * floor.c (TWO_MANT_DIG): Likewise.
28077         * ceil.c (TWO_MANT_DIG): Likewise.
28078         Reported by Ben Pfaff.
28079
28080 2007-10-07  Bruno Haible  <bruno@clisp.org>
28081
28082         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
28083         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
28084         * lib/frexp.c (FUNC): Likewise.
28085         * lib/printf-frexp.h (printf_frexp): Likewise.
28086         * lib/printf-frexpl.h (printf_frexpl): Likewise.
28087         * lib/printf-frexp.c (FUNC): Likewise.
28088         Suggested by Jim Meyering.
28089
28090 2007-10-07  Jim Meyering  <meyering@redhat.com>
28091
28092         Make xnanosleep's integer overflow test more robust.
28093         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
28094         so that gcc-4.3.0 doesn't optimize away this test for overflow.
28095
28096 2007-10-07  Bruno Haible  <bruno@clisp.org>
28097
28098         * NEWS: Mention the license change.
28099
28100         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
28101         abbreviations in the modules files.
28102
28103         Change copyright notice from GPLv2+ to GPLv3+.
28104         * README: Change copyright notice.
28105         * MODULES.html.sh: Likewise.
28106         * build-aux/bootstrap.conf: Likewise.
28107         * build-aux/config.libpath: Likewise.
28108         * build-aux/csharpcomp.sh.in: Likewise.
28109         * build-aux/csharpexec.sh.in: Likewise.
28110         * build-aux/install-reloc: Likewise.
28111         * build-aux/javacomp.sh.in: Likewise.
28112         * build-aux/javaexec.sh.in: Likewise.
28113         * build-aux/ldd.sh.in: Likewise.
28114         * build-aux/reloc-ldflags: Likewise.
28115         * build-aux/relocatable.sh.in: Likewise.
28116         * build-aux/x-to-1.in: Likewise.
28117         * check-module: Likewise.
28118         * config/srclistvars.sh: Likewise.
28119         * gnulib-tool: Likewise.
28120         * lib/acl-internal.h: Likewise.
28121         * lib/acl.c: Likewise.
28122         * lib/acl.h: Likewise.
28123         * lib/acl_entries.c: Likewise.
28124         * lib/areadlink-with-size.c: Likewise.
28125         * lib/areadlink.c: Likewise.
28126         * lib/areadlink.h: Likewise.
28127         * lib/argmatch.c: Likewise.
28128         * lib/argmatch.h: Likewise.
28129         * lib/argp-ba.c: Likewise.
28130         * lib/argp-eexst.c: Likewise.
28131         * lib/argp-fmtstream.c: Likewise.
28132         * lib/argp-fmtstream.h: Likewise.
28133         * lib/argp-fs-xinl.c: Likewise.
28134         * lib/argp-help.c: Likewise.
28135         * lib/argp-namefrob.h: Likewise.
28136         * lib/argp-parse.c: Likewise.
28137         * lib/argp-pin.c: Likewise.
28138         * lib/argp-pv.c: Likewise.
28139         * lib/argp-pvh.c: Likewise.
28140         * lib/argp-xinl.c: Likewise.
28141         * lib/argp.h: Likewise.
28142         * lib/at-func.c: Likewise.
28143         * lib/atanl.c: Likewise.
28144         * lib/backupfile.c: Likewise.
28145         * lib/backupfile.h: Likewise.
28146         * lib/basename.c: Likewise.
28147         * lib/binary-io.h: Likewise.
28148         * lib/byteswap.in.h: Likewise.
28149         * lib/c-stack.c: Likewise.
28150         * lib/c-stack.h: Likewise.
28151         * lib/c-strcasestr.c: Likewise.
28152         * lib/c-strcasestr.h: Likewise.
28153         * lib/c-strstr.c: Likewise.
28154         * lib/c-strstr.h: Likewise.
28155         * lib/c-strtod.c: Likewise.
28156         * lib/calloc.c: Likewise.
28157         * lib/canon-host.c: Likewise.
28158         * lib/canon-host.h: Likewise.
28159         * lib/canonicalize-lgpl.c: Likewise.
28160         * lib/canonicalize.c: Likewise.
28161         * lib/canonicalize.h: Likewise.
28162         * lib/ceil.c: Likewise.
28163         * lib/ceilf.c: Likewise.
28164         * lib/ceill.c: Likewise.
28165         * lib/chdir-long.c: Likewise.
28166         * lib/chdir-long.h: Likewise.
28167         * lib/chdir-safer.c: Likewise.
28168         * lib/chdir-safer.h: Likewise.
28169         * lib/chown.c: Likewise.
28170         * lib/classpath.c: Likewise.
28171         * lib/classpath.h: Likewise.
28172         * lib/clean-temp.c: Likewise.
28173         * lib/clean-temp.h: Likewise.
28174         * lib/cloexec.c: Likewise.
28175         * lib/close-stream.c: Likewise.
28176         * lib/closein.c: Likewise.
28177         * lib/closein.h: Likewise.
28178         * lib/closeout.c: Likewise.
28179         * lib/closeout.h: Likewise.
28180         * lib/concat-filename.c: Likewise.
28181         * lib/copy-file.c: Likewise.
28182         * lib/copy-file.h: Likewise.
28183         * lib/count-one-bits.h: Likewise.
28184         * lib/crc.c: Likewise.
28185         * lib/crc.h: Likewise.
28186         * lib/creat-safer.c: Likewise.
28187         * lib/csharpcomp.c: Likewise.
28188         * lib/csharpcomp.h: Likewise.
28189         * lib/csharpexec.c: Likewise.
28190         * lib/csharpexec.h: Likewise.
28191         * lib/cycle-check.c: Likewise.
28192         * lib/cycle-check.h: Likewise.
28193         * lib/diacrit.c: Likewise.
28194         * lib/diacrit.h: Likewise.
28195         * lib/diffseq.h: Likewise.
28196         * lib/dirchownmod.c: Likewise.
28197         * lib/dirent.in.h: Likewise.
28198         * lib/dirfd.c: Likewise.
28199         * lib/dirfd.h: Likewise.
28200         * lib/dirname.c: Likewise.
28201         * lib/dirname.h: Likewise.
28202         * lib/dummy.c: Likewise.
28203         * lib/dup-safer.c: Likewise.
28204         * lib/dup2.c: Likewise.
28205         * lib/eealloc.h: Likewise.
28206         * lib/error.c: Likewise.
28207         * lib/error.h: Likewise.
28208         * lib/euidaccess.c: Likewise.
28209         * lib/exclude.c: Likewise.
28210         * lib/exclude.h: Likewise.
28211         * lib/execute.c: Likewise.
28212         * lib/execute.h: Likewise.
28213         * lib/exitfail.c: Likewise.
28214         * lib/exitfail.h: Likewise.
28215         * lib/expl.c: Likewise.
28216         * lib/fatal-signal.c: Likewise.
28217         * lib/fatal-signal.h: Likewise.
28218         * lib/fbufmode.c: Likewise.
28219         * lib/fbufmode.h: Likewise.
28220         * lib/fchdir.c: Likewise.
28221         * lib/fchmodat.c: Likewise.
28222         * lib/fchownat.c: Likewise.
28223         * lib/fcntl--.h: Likewise.
28224         * lib/fcntl-safer.h: Likewise.
28225         * lib/fcntl.in.h: Likewise.
28226         * lib/fd-safer.c: Likewise.
28227         * lib/fflush.c: Likewise.
28228         * lib/file-has-acl.c: Likewise.
28229         * lib/file-set.c: Likewise.
28230         * lib/file-type.c: Likewise.
28231         * lib/file-type.h: Likewise.
28232         * lib/fileblocks.c: Likewise.
28233         * lib/filemode.c: Likewise.
28234         * lib/filemode.h: Likewise.
28235         * lib/filename.h: Likewise.
28236         * lib/filenamecat.c: Likewise.
28237         * lib/filenamecat.h: Likewise.
28238         * lib/findprog.c: Likewise.
28239         * lib/findprog.h: Likewise.
28240         * lib/float.in.h: Likewise.
28241         * lib/floor.c: Likewise.
28242         * lib/floorf.c: Likewise.
28243         * lib/floorl.c: Likewise.
28244         * lib/fopen-safer.c: Likewise.
28245         * lib/fopen.c: Likewise.
28246         * lib/fpending.c: Likewise.
28247         * lib/fpending.h: Likewise.
28248         * lib/fprintf.c: Likewise.
28249         * lib/fprintftime.h: Likewise.
28250         * lib/fpucw.h: Likewise.
28251         * lib/fpurge.c: Likewise.
28252         * lib/fpurge.h: Likewise.
28253         * lib/freadable.c: Likewise.
28254         * lib/freadable.h: Likewise.
28255         * lib/freadahead.c: Likewise.
28256         * lib/freadahead.h: Likewise.
28257         * lib/freading.c: Likewise.
28258         * lib/freading.h: Likewise.
28259         * lib/free.c: Likewise.
28260         * lib/freopen.c: Likewise.
28261         * lib/frexp.c: Likewise.
28262         * lib/frexpl.c: Likewise.
28263         * lib/fseek.c: Likewise.
28264         * lib/fseterr.c: Likewise.
28265         * lib/fseterr.h: Likewise.
28266         * lib/fstatat.c: Likewise.
28267         * lib/fstrcmp.c: Likewise.
28268         * lib/fstrcmp.h: Likewise.
28269         * lib/fsusage.c: Likewise.
28270         * lib/fsusage.h: Likewise.
28271         * lib/ftell.c: Likewise.
28272         * lib/ftello.c: Likewise.
28273         * lib/fts-cycle.c: Likewise.
28274         * lib/fts.c: Likewise.
28275         * lib/fts_.h: Likewise.
28276         * lib/full-read.c: Likewise.
28277         * lib/full-read.h: Likewise.
28278         * lib/full-write.c: Likewise.
28279         * lib/full-write.h: Likewise.
28280         * lib/fwritable.c: Likewise.
28281         * lib/fwritable.h: Likewise.
28282         * lib/fwriteerror.c: Likewise.
28283         * lib/fwriteerror.h: Likewise.
28284         * lib/fwriting.c: Likewise.
28285         * lib/fwriting.h: Likewise.
28286         * lib/gcd.c: Likewise.
28287         * lib/gcd.h: Likewise.
28288         * lib/getcwd.c: Likewise.
28289         * lib/getdate.h: Likewise.
28290         * lib/getdate.y: Likewise.
28291         * lib/getdomainname.c: Likewise.
28292         * lib/getdomainname.h: Likewise.
28293         * lib/getgroups.c: Likewise.
28294         * lib/gethostname.c: Likewise.
28295         * lib/gethrxtime.c: Likewise.
28296         * lib/gethrxtime.h: Likewise.
28297         * lib/getloadavg.c: Likewise.
28298         * lib/getndelim2.c: Likewise.
28299         * lib/getndelim2.h: Likewise.
28300         * lib/getnline.c: Likewise.
28301         * lib/getnline.h: Likewise.
28302         * lib/getopt.c: Likewise.
28303         * lib/getopt.in.h: Likewise.
28304         * lib/getopt1.c: Likewise.
28305         * lib/getopt_int.h: Likewise.
28306         * lib/getpagesize.h: Likewise.
28307         * lib/getsubopt.c: Likewise.
28308         * lib/gettime.c: Likewise.
28309         * lib/getugroups.c: Likewise.
28310         * lib/getugroups.h: Likewise.
28311         * lib/getusershell.c: Likewise.
28312         * lib/gl_anyavltree_list1.h: Likewise.
28313         * lib/gl_anyavltree_list2.h: Likewise.
28314         * lib/gl_anyhash_list1.h: Likewise.
28315         * lib/gl_anyhash_list2.h: Likewise.
28316         * lib/gl_anylinked_list1.h: Likewise.
28317         * lib/gl_anylinked_list2.h: Likewise.
28318         * lib/gl_anyrbtree_list1.h: Likewise.
28319         * lib/gl_anyrbtree_list2.h: Likewise.
28320         * lib/gl_anytree_list1.h: Likewise.
28321         * lib/gl_anytree_list2.h: Likewise.
28322         * lib/gl_anytree_oset.h: Likewise.
28323         * lib/gl_anytreehash_list1.h: Likewise.
28324         * lib/gl_anytreehash_list2.h: Likewise.
28325         * lib/gl_array_list.c: Likewise.
28326         * lib/gl_array_list.h: Likewise.
28327         * lib/gl_array_oset.c: Likewise.
28328         * lib/gl_array_oset.h: Likewise.
28329         * lib/gl_avltree_list.c: Likewise.
28330         * lib/gl_avltree_list.h: Likewise.
28331         * lib/gl_avltree_oset.c: Likewise.
28332         * lib/gl_avltree_oset.h: Likewise.
28333         * lib/gl_avltreehash_list.c: Likewise.
28334         * lib/gl_avltreehash_list.h: Likewise.
28335         * lib/gl_carray_list.c: Likewise.
28336         * lib/gl_carray_list.h: Likewise.
28337         * lib/gl_linked_list.c: Likewise.
28338         * lib/gl_linked_list.h: Likewise.
28339         * lib/gl_linkedhash_list.c: Likewise.
28340         * lib/gl_linkedhash_list.h: Likewise.
28341         * lib/gl_list.c: Likewise.
28342         * lib/gl_list.h: Likewise.
28343         * lib/gl_oset.c: Likewise.
28344         * lib/gl_oset.h: Likewise.
28345         * lib/gl_rbtree_list.c: Likewise.
28346         * lib/gl_rbtree_list.h: Likewise.
28347         * lib/gl_rbtree_oset.c: Likewise.
28348         * lib/gl_rbtree_oset.h: Likewise.
28349         * lib/gl_rbtreehash_list.c: Likewise.
28350         * lib/gl_rbtreehash_list.h: Likewise.
28351         * lib/gl_sublist.c: Likewise.
28352         * lib/gl_sublist.h: Likewise.
28353         * lib/group-member.c: Likewise.
28354         * lib/group-member.h: Likewise.
28355         * lib/hard-locale.c: Likewise.
28356         * lib/hard-locale.h: Likewise.
28357         * lib/hash-pjw.c: Likewise.
28358         * lib/hash-pjw.h: Likewise.
28359         * lib/hash-triple.c: Likewise.
28360         * lib/hash.c: Likewise.
28361         * lib/hash.h: Likewise.
28362         * lib/human.c: Likewise.
28363         * lib/human.h: Likewise.
28364         * lib/i-ring.c: Likewise.
28365         * lib/i-ring.h: Likewise.
28366         * lib/idcache.c: Likewise.
28367         * lib/imaxabs.c: Likewise.
28368         * lib/imaxdiv.c: Likewise.
28369         * lib/inet_pton.c: Likewise.
28370         * lib/inet_pton.h: Likewise.
28371         * lib/intprops.h: Likewise.
28372         * lib/inttostr.c: Likewise.
28373         * lib/inttostr.h: Likewise.
28374         * lib/inttypes.in.h: Likewise.
28375         * lib/isapipe.c: Likewise.
28376         * lib/isdir.c: Likewise.
28377         * lib/isnan.c: Likewise.
28378         * lib/isnan.h: Likewise.
28379         * lib/isnanf.c: Likewise.
28380         * lib/isnanf.h: Likewise.
28381         * lib/isnanl-nolibm.h: Likewise.
28382         * lib/isnanl.c: Likewise.
28383         * lib/isnanl.h: Likewise.
28384         * lib/javacomp.c: Likewise.
28385         * lib/javacomp.h: Likewise.
28386         * lib/javaexec.c: Likewise.
28387         * lib/javaexec.h: Likewise.
28388         * lib/javaversion.c: Likewise.
28389         * lib/javaversion.h: Likewise.
28390         * lib/javaversion.java: Likewise.
28391         * lib/lbrkprop.h: Likewise.
28392         * lib/lchmod.h: Likewise.
28393         * lib/lchown.c: Likewise.
28394         * lib/ldexpl.c: Likewise.
28395         * lib/linebreak.c: Likewise.
28396         * lib/linebreak.h: Likewise.
28397         * lib/linebuffer.c: Likewise.
28398         * lib/linebuffer.h: Likewise.
28399         * lib/locale.in.h: Likewise.
28400         * lib/logl.c: Likewise.
28401         * lib/long-options.c: Likewise.
28402         * lib/long-options.h: Likewise.
28403         * lib/lstat.c: Likewise.
28404         * lib/lstat.h: Likewise.
28405         * lib/math.in.h: Likewise.
28406         * lib/mbchar.c: Likewise.
28407         * lib/mbchar.h: Likewise.
28408         * lib/mbfile.h: Likewise.
28409         * lib/mbiter.h: Likewise.
28410         * lib/mbscasecmp.c: Likewise.
28411         * lib/mbscasestr.c: Likewise.
28412         * lib/mbschr.c: Likewise.
28413         * lib/mbscspn.c: Likewise.
28414         * lib/mbslen.c: Likewise.
28415         * lib/mbsncasecmp.c: Likewise.
28416         * lib/mbsnlen.c: Likewise.
28417         * lib/mbspbrk.c: Likewise.
28418         * lib/mbspcasecmp.c: Likewise.
28419         * lib/mbsrchr.c: Likewise.
28420         * lib/mbssep.c: Likewise.
28421         * lib/mbsspn.c: Likewise.
28422         * lib/mbsstr.c: Likewise.
28423         * lib/mbstok_r.c: Likewise.
28424         * lib/mbswidth.c: Likewise.
28425         * lib/mbswidth.h: Likewise.
28426         * lib/mbuiter.h: Likewise.
28427         * lib/memcasecmp.c: Likewise.
28428         * lib/memcasecmp.h: Likewise.
28429         * lib/memchr.c: Likewise.
28430         * lib/memcmp.c: Likewise.
28431         * lib/memcoll.c: Likewise.
28432         * lib/memcoll.h: Likewise.
28433         * lib/memcpy.c: Likewise.
28434         * lib/memrchr.c: Likewise.
28435         * lib/mkancesdirs.c: Likewise.
28436         * lib/mkdir-p.c: Likewise.
28437         * lib/mkdir-p.h: Likewise.
28438         * lib/mkdir.c: Likewise.
28439         * lib/mkdirat.c: Likewise.
28440         * lib/mkdtemp.c: Likewise.
28441         * lib/mkstemp-safer.c: Likewise.
28442         * lib/mkstemp.c: Likewise.
28443         * lib/modechange.c: Likewise.
28444         * lib/modechange.h: Likewise.
28445         * lib/mountlist.c: Likewise.
28446         * lib/mountlist.h: Likewise.
28447         * lib/mpsort.c: Likewise.
28448         * lib/nanosleep.c: Likewise.
28449         * lib/obstack.c: Likewise.
28450         * lib/obstack.h: Likewise.
28451         * lib/open-safer.c: Likewise.
28452         * lib/open.c: Likewise.
28453         * lib/openat-die.c: Likewise.
28454         * lib/openat-priv.h: Likewise.
28455         * lib/openat-proc.c: Likewise.
28456         * lib/openat.c: Likewise.
28457         * lib/openat.h: Likewise.
28458         * lib/pagealign_alloc.c: Likewise.
28459         * lib/pagealign_alloc.h: Likewise.
28460         * lib/physmem.c: Likewise.
28461         * lib/physmem.h: Likewise.
28462         * lib/pipe-safer.c: Likewise.
28463         * lib/pipe.c: Likewise.
28464         * lib/pipe.h: Likewise.
28465         * lib/posixtm.c: Likewise.
28466         * lib/posixtm.h: Likewise.
28467         * lib/posixver.c: Likewise.
28468         * lib/printf-frexp.c: Likewise.
28469         * lib/printf-frexp.h: Likewise.
28470         * lib/printf-frexpl.c: Likewise.
28471         * lib/printf-frexpl.h: Likewise.
28472         * lib/printf.c: Likewise.
28473         * lib/progname.c: Likewise.
28474         * lib/progname.h: Likewise.
28475         * lib/progreloc.c: Likewise.
28476         * lib/putenv.c: Likewise.
28477         * lib/quote.c: Likewise.
28478         * lib/quote.h: Likewise.
28479         * lib/quotearg.c: Likewise.
28480         * lib/quotearg.h: Likewise.
28481         * lib/raise.c: Likewise.
28482         * lib/readline.c: Likewise.
28483         * lib/readline.h: Likewise.
28484         * lib/readlink.c: Likewise.
28485         * lib/readtokens.c: Likewise.
28486         * lib/readtokens.h: Likewise.
28487         * lib/readtokens0.c: Likewise.
28488         * lib/readtokens0.h: Likewise.
28489         * lib/readutmp.c: Likewise.
28490         * lib/readutmp.h: Likewise.
28491         * lib/realloc.c: Likewise.
28492         * lib/relocwrapper.c: Likewise.
28493         * lib/rename-dest-slash.c: Likewise.
28494         * lib/rename.c: Likewise.
28495         * lib/rmdir.c: Likewise.
28496         * lib/rpmatch.c: Likewise.
28497         * lib/safe-read.c: Likewise.
28498         * lib/safe-read.h: Likewise.
28499         * lib/safe-write.c: Likewise.
28500         * lib/safe-write.h: Likewise.
28501         * lib/same-inode.h: Likewise.
28502         * lib/same.c: Likewise.
28503         * lib/same.h: Likewise.
28504         * lib/save-cwd.c: Likewise.
28505         * lib/save-cwd.h: Likewise.
28506         * lib/savedir.c: Likewise.
28507         * lib/savedir.h: Likewise.
28508         * lib/savewd.c: Likewise.
28509         * lib/savewd.h: Likewise.
28510         * lib/search.in.h: Likewise.
28511         * lib/setenv.c: Likewise.
28512         * lib/setenv.h: Likewise.
28513         * lib/settime.c: Likewise.
28514         * lib/sh-quote.c: Likewise.
28515         * lib/sh-quote.h: Likewise.
28516         * lib/sig2str.c: Likewise.
28517         * lib/sig2str.h: Likewise.
28518         * lib/signal.in.h: Likewise.
28519         * lib/signbitd.c: Likewise.
28520         * lib/signbitf.c: Likewise.
28521         * lib/signbitl.c: Likewise.
28522         * lib/sigprocmask.c: Likewise.
28523         * lib/sincosl.c: Likewise.
28524         * lib/sleep.c: Likewise.
28525         * lib/sprintf.c: Likewise.
28526         * lib/sqrtl.c: Likewise.
28527         * lib/stat-time.h: Likewise.
28528         * lib/stdio--.h: Likewise.
28529         * lib/stdio-safer.h: Likewise.
28530         * lib/stdlib--.h: Likewise.
28531         * lib/stdlib-safer.h: Likewise.
28532         * lib/stdlib.in.h: Likewise.
28533         * lib/stpcpy.c: Likewise.
28534         * lib/stpncpy.c: Likewise.
28535         * lib/strchrnul.c: Likewise.
28536         * lib/strcspn.c: Likewise.
28537         * lib/strerror.c: Likewise.
28538         * lib/strftime.c: Likewise.
28539         * lib/strftime.h: Likewise.
28540         * lib/striconveh.c: Likewise.
28541         * lib/striconveh.h: Likewise.
28542         * lib/striconveha.c: Likewise.
28543         * lib/striconveha.h: Likewise.
28544         * lib/stripslash.c: Likewise.
28545         * lib/strnlen1.c: Likewise.
28546         * lib/strnlen1.h: Likewise.
28547         * lib/strtod.c: Likewise.
28548         * lib/strtoimax.c: Likewise.
28549         * lib/strtok_r.c: Likewise.
28550         * lib/strtol.c: Likewise.
28551         * lib/strtoll.c: Likewise.
28552         * lib/strtoul.c: Likewise.
28553         * lib/strtoull.c: Likewise.
28554         * lib/sysexits.in.h: Likewise.
28555         * lib/tempname.c: Likewise.
28556         * lib/tempname.h: Likewise.
28557         * lib/timespec.h: Likewise.
28558         * lib/tls.c: Likewise.
28559         * lib/tls.h: Likewise.
28560         * lib/tmpdir.c: Likewise.
28561         * lib/tmpdir.h: Likewise.
28562         * lib/tmpfile-safer.c: Likewise.
28563         * lib/tmpfile.c: Likewise.
28564         * lib/trigl.c: Likewise.
28565         * lib/trigl.h: Likewise.
28566         * lib/trim.c: Likewise.
28567         * lib/trim.h: Likewise.
28568         * lib/trunc.c: Likewise.
28569         * lib/truncf.c: Likewise.
28570         * lib/truncl.c: Likewise.
28571         * lib/tsearch.c: Likewise.
28572         * lib/unicodeio.c: Likewise.
28573         * lib/unicodeio.h: Likewise.
28574         * lib/unistd--.h: Likewise.
28575         * lib/unistd-safer.h: Likewise.
28576         * lib/unistdio/ulc-fprintf.c: Likewise.
28577         * lib/unistdio/ulc-vfprintf.c: Likewise.
28578         * lib/unlinkdir.c: Likewise.
28579         * lib/unlinkdir.h: Likewise.
28580         * lib/unlocked-io.h: Likewise.
28581         * lib/unsetenv.c: Likewise.
28582         * lib/userspec.c: Likewise.
28583         * lib/utime.c: Likewise.
28584         * lib/utimecmp.c: Likewise.
28585         * lib/utimecmp.h: Likewise.
28586         * lib/utimens.c: Likewise.
28587         * lib/verify.h: Likewise.
28588         * lib/verror.c: Likewise.
28589         * lib/verror.h: Likewise.
28590         * lib/version-etc-fsf.c: Likewise.
28591         * lib/version-etc.c: Likewise.
28592         * lib/version-etc.h: Likewise.
28593         * lib/vfprintf.c: Likewise.
28594         * lib/vprintf.c: Likewise.
28595         * lib/vsprintf.c: Likewise.
28596         * lib/w32spawn.h: Likewise.
28597         * lib/wait-process.c: Likewise.
28598         * lib/wait-process.h: Likewise.
28599         * lib/wcwidth.c: Likewise.
28600         * lib/write-any-file.c: Likewise.
28601         * lib/xalloc-die.c: Likewise.
28602         * lib/xalloc.h: Likewise.
28603         * lib/xasprintf.c: Likewise.
28604         * lib/xgetcwd.c: Likewise.
28605         * lib/xgetcwd.h: Likewise.
28606         * lib/xgetdomainname.c: Likewise.
28607         * lib/xgetdomainname.h: Likewise.
28608         * lib/xgethostname.c: Likewise.
28609         * lib/xmalloc.c: Likewise.
28610         * lib/xmalloca.c: Likewise.
28611         * lib/xmalloca.h: Likewise.
28612         * lib/xmemcoll.c: Likewise.
28613         * lib/xnanosleep.c: Likewise.
28614         * lib/xreadlink.c: Likewise.
28615         * lib/xreadlink.h: Likewise.
28616         * lib/xsetenv.c: Likewise.
28617         * lib/xsetenv.h: Likewise.
28618         * lib/xstriconv.c: Likewise.
28619         * lib/xstriconv.h: Likewise.
28620         * lib/xstrndup.c: Likewise.
28621         * lib/xstrndup.h: Likewise.
28622         * lib/xstrtod.c: Likewise.
28623         * lib/xstrtod.h: Likewise.
28624         * lib/xstrtol-error.c: Likewise.
28625         * lib/xstrtol.c: Likewise.
28626         * lib/xstrtol.h: Likewise.
28627         * lib/xtime.h: Likewise.
28628         * lib/xvasprintf.c: Likewise.
28629         * lib/xvasprintf.h: Likewise.
28630         * lib/yesno.c: Likewise.
28631         * lib/yesno.h: Likewise.
28632         * posix-modules: Likewise.
28633         * tests/test-alloca-opt.c: Likewise.
28634         * tests/test-arcfour.c: Likewise.
28635         * tests/test-arctwo.c: Likewise.
28636         * tests/test-argmatch.c: Likewise.
28637         * tests/test-argp-2.sh: Likewise.
28638         * tests/test-argp.c: Likewise.
28639         * tests/test-arpa_inet.c: Likewise.
28640         * tests/test-array_list.c: Likewise.
28641         * tests/test-array_oset.c: Likewise.
28642         * tests/test-atexit.c: Likewise.
28643         * tests/test-avltree_list.c: Likewise.
28644         * tests/test-avltree_oset.c: Likewise.
28645         * tests/test-avltreehash_list.c: Likewise.
28646         * tests/test-base64.c: Likewise.
28647         * tests/test-binary-io.c: Likewise.
28648         * tests/test-byteswap.c: Likewise.
28649         * tests/test-c-ctype.c: Likewise.
28650         * tests/test-c-strcasecmp.c: Likewise.
28651         * tests/test-c-strcasestr.c: Likewise.
28652         * tests/test-c-strncasecmp.c: Likewise.
28653         * tests/test-c-strstr.c: Likewise.
28654         * tests/test-canonicalize-lgpl.c: Likewise.
28655         * tests/test-canonicalize.c: Likewise.
28656         * tests/test-carray_list.c: Likewise.
28657         * tests/test-ceilf.c: Likewise.
28658         * tests/test-ceill.c: Likewise.
28659         * tests/test-count-one-bits.c: Likewise.
28660         * tests/test-crc.c: Likewise.
28661         * tests/test-dirname.c: Likewise.
28662         * tests/test-fbufmode.c: Likewise.
28663         * tests/test-fcntl.c: Likewise.
28664         * tests/test-fflush.c: Likewise.
28665         * tests/test-floorf.c: Likewise.
28666         * tests/test-floorl.c: Likewise.
28667         * tests/test-fopen.c: Likewise.
28668         * tests/test-fprintf-posix.c: Likewise.
28669         * tests/test-fprintf-posix.h: Likewise.
28670         * tests/test-fpurge.c: Likewise.
28671         * tests/test-freadable.c: Likewise.
28672         * tests/test-freadahead.c: Likewise.
28673         * tests/test-freading.c: Likewise.
28674         * tests/test-freopen.c: Likewise.
28675         * tests/test-frexp.c: Likewise.
28676         * tests/test-frexpl.c: Likewise.
28677         * tests/test-fseek.c: Likewise.
28678         * tests/test-fseeko.c: Likewise.
28679         * tests/test-fseterr.c: Likewise.
28680         * tests/test-fstrcmp.c: Likewise.
28681         * tests/test-ftell.c: Likewise.
28682         * tests/test-ftello.c: Likewise.
28683         * tests/test-fwritable.c: Likewise.
28684         * tests/test-fwriting.c: Likewise.
28685         * tests/test-getaddrinfo.c: Likewise.
28686         * tests/test-getpass.c: Likewise.
28687         * tests/test-gettimeofday.c: Likewise.
28688         * tests/test-hmac-md5.c: Likewise.
28689         * tests/test-hmac-sha1.c: Likewise.
28690         * tests/test-iconv.c: Likewise.
28691         * tests/test-iconvme.c: Likewise.
28692         * tests/test-inttypes.c: Likewise.
28693         * tests/test-isnan.c: Likewise.
28694         * tests/test-isnanf.c: Likewise.
28695         * tests/test-isnanl-nolibm.c: Likewise.
28696         * tests/test-isnanl.c: Likewise.
28697         * tests/test-isnanl.h: Likewise.
28698         * tests/test-ldexpl.c: Likewise.
28699         * tests/test-linked_list.c: Likewise.
28700         * tests/test-linkedhash_list.c: Likewise.
28701         * tests/test-locale.c: Likewise.
28702         * tests/test-localename.c: Likewise.
28703         * tests/test-lock.c: Likewise.
28704         * tests/test-lseek.c: Likewise.
28705         * tests/test-malloca.c: Likewise.
28706         * tests/test-math.c: Likewise.
28707         * tests/test-mbscasecmp.c: Likewise.
28708         * tests/test-mbscasestr1.c: Likewise.
28709         * tests/test-mbscasestr2.c: Likewise.
28710         * tests/test-mbscasestr3.c: Likewise.
28711         * tests/test-mbscasestr4.c: Likewise.
28712         * tests/test-mbschr.c: Likewise.
28713         * tests/test-mbscspn.c: Likewise.
28714         * tests/test-mbsncasecmp.c: Likewise.
28715         * tests/test-mbspbrk.c: Likewise.
28716         * tests/test-mbspcasecmp.c: Likewise.
28717         * tests/test-mbsrchr.c: Likewise.
28718         * tests/test-mbsspn.c: Likewise.
28719         * tests/test-mbsstr1.c: Likewise.
28720         * tests/test-mbsstr2.c: Likewise.
28721         * tests/test-mbsstr3.c: Likewise.
28722         * tests/test-md5.c: Likewise.
28723         * tests/test-memmem.c: Likewise.
28724         * tests/test-netinet_in.c: Likewise.
28725         * tests/test-open.c: Likewise.
28726         * tests/test-printf-frexp.c: Likewise.
28727         * tests/test-printf-frexpl.c: Likewise.
28728         * tests/test-printf-posix.c: Likewise.
28729         * tests/test-printf-posix.h: Likewise.
28730         * tests/test-rbtree_list.c: Likewise.
28731         * tests/test-rbtree_oset.c: Likewise.
28732         * tests/test-rbtreehash_list.c: Likewise.
28733         * tests/test-read-file.c: Likewise.
28734         * tests/test-rijndael.c: Likewise.
28735         * tests/test-search.c: Likewise.
28736         * tests/test-signbit.c: Likewise.
28737         * tests/test-sleep.c: Likewise.
28738         * tests/test-snprintf-posix.c: Likewise.
28739         * tests/test-snprintf-posix.h: Likewise.
28740         * tests/test-snprintf.c: Likewise.
28741         * tests/test-sprintf-posix.c: Likewise.
28742         * tests/test-sprintf-posix.h: Likewise.
28743         * tests/test-stat-time.c: Likewise.
28744         * tests/test-stdbool.c: Likewise.
28745         * tests/test-stdint.c: Likewise.
28746         * tests/test-stdio.c: Likewise.
28747         * tests/test-stdlib.c: Likewise.
28748         * tests/test-stpncpy.c: Likewise.
28749         * tests/test-strcasestr.c: Likewise.
28750         * tests/test-striconv.c: Likewise.
28751         * tests/test-striconveh.c: Likewise.
28752         * tests/test-striconveha.c: Likewise.
28753         * tests/test-string.c: Likewise.
28754         * tests/test-sys_select.c: Likewise.
28755         * tests/test-sys_socket.c: Likewise.
28756         * tests/test-sys_stat.c: Likewise.
28757         * tests/test-sys_time.c: Likewise.
28758         * tests/test-sysexits.c: Likewise.
28759         * tests/test-time.c: Likewise.
28760         * tests/test-tls.c: Likewise.
28761         * tests/test-trunc.c: Likewise.
28762         * tests/test-truncf.c: Likewise.
28763         * tests/test-truncl.c: Likewise.
28764         * tests/test-unistd.c: Likewise.
28765         * tests/test-vasnprintf-posix.c: Likewise.
28766         * tests/test-vasnprintf-posix2.c: Likewise.
28767         * tests/test-vasnprintf.c: Likewise.
28768         * tests/test-vasprintf-posix.c: Likewise.
28769         * tests/test-vasprintf.c: Likewise.
28770         * tests/test-verify.c: Likewise.
28771         * tests/test-vfprintf-posix.c: Likewise.
28772         * tests/test-vprintf-posix.c: Likewise.
28773         * tests/test-vsnprintf-posix.c: Likewise.
28774         * tests/test-vsnprintf.c: Likewise.
28775         * tests/test-vsprintf-posix.c: Likewise.
28776         * tests/test-wchar.c: Likewise.
28777         * tests/test-wctype.c: Likewise.
28778         * tests/test-wcwidth.c: Likewise.
28779         * tests/test-xstrtol.c: Likewise.
28780         * tests/test-xvasprintf.c: Likewise.
28781         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
28782         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
28783         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
28784         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
28785         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
28786         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
28787         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
28788         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
28789         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
28790         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
28791         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
28792         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
28793         * tests/uniname/test-uninames.c: Likewise.
28794         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
28795         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
28796         * tests/unistdio/test-u16-printf1.h: Likewise.
28797         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
28798         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
28799         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
28800         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
28801         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28802         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28803         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
28804         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
28805         * tests/unistdio/test-u32-printf1.h: Likewise.
28806         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
28807         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
28808         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
28809         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
28810         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28811         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28812         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
28813         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
28814         * tests/unistdio/test-u8-printf1.h: Likewise.
28815         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
28816         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
28817         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
28818         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
28819         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28820         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28821         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
28822         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
28823         * tests/unistdio/test-ulc-printf1.h: Likewise.
28824         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
28825         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
28826         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
28827         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
28828         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28829         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28830         * tests/uniwidth/test-u16-strwidth.c: Likewise.
28831         * tests/uniwidth/test-u16-width.c: Likewise.
28832         * tests/uniwidth/test-u32-strwidth.c: Likewise.
28833         * tests/uniwidth/test-u32-width.c: Likewise.
28834         * tests/uniwidth/test-u8-strwidth.c: Likewise.
28835         * tests/uniwidth/test-u8-width.c: Likewise.
28836         * tests/uniwidth/test-uc_width.c: Likewise.
28837         * config/srclist-update: Likewise.
28838         (fixlicense): Update to GPLv3+.
28839
28840         Change copyright notice from LGPLv2.1+ to LGPLv3+.
28841         * tests/test-tsearch.c: Change copyright notice.
28842
28843         Change copyright notice from LGPLv2.0+ to LGPLv3+.
28844         * lib/c-strcaseeq.h: Change copyright notice.
28845         * lib/streq.h: Likewise.
28846         * lib/uniconv.h: Likewise.
28847         * lib/uniconv/u-conv-from-enc.h: Likewise.
28848         * lib/uniconv/u-conv-to-enc.h: Likewise.
28849         * lib/uniconv/u-strconv-from-enc.h: Likewise.
28850         * lib/uniconv/u-strconv-to-enc.h: Likewise.
28851         * lib/uniconv/u16-conv-from-enc.c: Likewise.
28852         * lib/uniconv/u16-conv-to-enc.c: Likewise.
28853         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
28854         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
28855         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
28856         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
28857         * lib/uniconv/u32-conv-from-enc.c: Likewise.
28858         * lib/uniconv/u32-conv-to-enc.c: Likewise.
28859         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
28860         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
28861         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
28862         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
28863         * lib/uniconv/u8-conv-from-enc.c: Likewise.
28864         * lib/uniconv/u8-conv-to-enc.c: Likewise.
28865         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
28866         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
28867         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
28868         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
28869         * lib/uniname.h: Likewise.
28870         * lib/uniname/uniname.c: Likewise.
28871         * lib/unistdio.h: Likewise.
28872         * lib/unistdio/u-asnprintf.h: Likewise.
28873         * lib/unistdio/u-asprintf.h: Likewise.
28874         * lib/unistdio/u-printf-args.c: Likewise.
28875         * lib/unistdio/u-printf-args.h: Likewise.
28876         * lib/unistdio/u-printf-parse.h: Likewise.
28877         * lib/unistdio/u-snprintf.h: Likewise.
28878         * lib/unistdio/u-sprintf.h: Likewise.
28879         * lib/unistdio/u-vasprintf.h: Likewise.
28880         * lib/unistdio/u-vsnprintf.h: Likewise.
28881         * lib/unistdio/u-vsprintf.h: Likewise.
28882         * lib/unistdio/u16-asnprintf.c: Likewise.
28883         * lib/unistdio/u16-asprintf.c: Likewise.
28884         * lib/unistdio/u16-printf-parse.c: Likewise.
28885         * lib/unistdio/u16-snprintf.c: Likewise.
28886         * lib/unistdio/u16-sprintf.c: Likewise.
28887         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
28888         * lib/unistdio/u16-u16-asprintf.c: Likewise.
28889         * lib/unistdio/u16-u16-snprintf.c: Likewise.
28890         * lib/unistdio/u16-u16-sprintf.c: Likewise.
28891         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
28892         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
28893         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
28894         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
28895         * lib/unistdio/u16-vasnprintf.c: Likewise.
28896         * lib/unistdio/u16-vasprintf.c: Likewise.
28897         * lib/unistdio/u16-vsnprintf.c: Likewise.
28898         * lib/unistdio/u16-vsprintf.c: Likewise.
28899         * lib/unistdio/u32-asnprintf.c: Likewise.
28900         * lib/unistdio/u32-asprintf.c: Likewise.
28901         * lib/unistdio/u32-printf-parse.c: Likewise.
28902         * lib/unistdio/u32-snprintf.c: Likewise.
28903         * lib/unistdio/u32-sprintf.c: Likewise.
28904         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
28905         * lib/unistdio/u32-u32-asprintf.c: Likewise.
28906         * lib/unistdio/u32-u32-snprintf.c: Likewise.
28907         * lib/unistdio/u32-u32-sprintf.c: Likewise.
28908         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
28909         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
28910         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
28911         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
28912         * lib/unistdio/u32-vasnprintf.c: Likewise.
28913         * lib/unistdio/u32-vasprintf.c: Likewise.
28914         * lib/unistdio/u32-vsnprintf.c: Likewise.
28915         * lib/unistdio/u32-vsprintf.c: Likewise.
28916         * lib/unistdio/u8-asnprintf.c: Likewise.
28917         * lib/unistdio/u8-asprintf.c: Likewise.
28918         * lib/unistdio/u8-printf-parse.c: Likewise.
28919         * lib/unistdio/u8-snprintf.c: Likewise.
28920         * lib/unistdio/u8-sprintf.c: Likewise.
28921         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
28922         * lib/unistdio/u8-u8-asprintf.c: Likewise.
28923         * lib/unistdio/u8-u8-snprintf.c: Likewise.
28924         * lib/unistdio/u8-u8-sprintf.c: Likewise.
28925         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
28926         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
28927         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
28928         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
28929         * lib/unistdio/u8-vasnprintf.c: Likewise.
28930         * lib/unistdio/u8-vasprintf.c: Likewise.
28931         * lib/unistdio/u8-vsnprintf.c: Likewise.
28932         * lib/unistdio/u8-vsprintf.c: Likewise.
28933         * lib/unistdio/ulc-asnprintf.c: Likewise.
28934         * lib/unistdio/ulc-asprintf.c: Likewise.
28935         * lib/unistdio/ulc-printf-parse.c: Likewise.
28936         * lib/unistdio/ulc-snprintf.c: Likewise.
28937         * lib/unistdio/ulc-sprintf.c: Likewise.
28938         * lib/unistdio/ulc-vasnprintf.c: Likewise.
28939         * lib/unistdio/ulc-vasprintf.c: Likewise.
28940         * lib/unistdio/ulc-vsnprintf.c: Likewise.
28941         * lib/unistdio/ulc-vsprintf.c: Likewise.
28942         * lib/unistr.h: Likewise.
28943         * lib/unistr/u-cpy-alloc.h: Likewise.
28944         * lib/unistr/u-cpy.h: Likewise.
28945         * lib/unistr/u-endswith.h: Likewise.
28946         * lib/unistr/u-move.h: Likewise.
28947         * lib/unistr/u-set.h: Likewise.
28948         * lib/unistr/u-startswith.h: Likewise.
28949         * lib/unistr/u-stpcpy.h: Likewise.
28950         * lib/unistr/u-stpncpy.h: Likewise.
28951         * lib/unistr/u-strcat.h: Likewise.
28952         * lib/unistr/u-strcpy.h: Likewise.
28953         * lib/unistr/u-strcspn.h: Likewise.
28954         * lib/unistr/u-strdup.h: Likewise.
28955         * lib/unistr/u-strlen.h: Likewise.
28956         * lib/unistr/u-strncat.h: Likewise.
28957         * lib/unistr/u-strncpy.h: Likewise.
28958         * lib/unistr/u-strnlen.h: Likewise.
28959         * lib/unistr/u-strpbrk.h: Likewise.
28960         * lib/unistr/u-strspn.h: Likewise.
28961         * lib/unistr/u-strstr.h: Likewise.
28962         * lib/unistr/u-strtok.h: Likewise.
28963         * lib/unistr/u16-check.c: Likewise.
28964         * lib/unistr/u16-chr.c: Likewise.
28965         * lib/unistr/u16-cmp.c: Likewise.
28966         * lib/unistr/u16-cpy-alloc.c: Likewise.
28967         * lib/unistr/u16-cpy.c: Likewise.
28968         * lib/unistr/u16-endswith.c: Likewise.
28969         * lib/unistr/u16-mblen.c: Likewise.
28970         * lib/unistr/u16-mbsnlen.c: Likewise.
28971         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28972         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28973         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28974         * lib/unistr/u16-mbtouc.c: Likewise.
28975         * lib/unistr/u16-mbtoucr.c: Likewise.
28976         * lib/unistr/u16-move.c: Likewise.
28977         * lib/unistr/u16-next.c: Likewise.
28978         * lib/unistr/u16-prev.c: Likewise.
28979         * lib/unistr/u16-set.c: Likewise.
28980         * lib/unistr/u16-startswith.c: Likewise.
28981         * lib/unistr/u16-stpcpy.c: Likewise.
28982         * lib/unistr/u16-stpncpy.c: Likewise.
28983         * lib/unistr/u16-strcat.c: Likewise.
28984         * lib/unistr/u16-strchr.c: Likewise.
28985         * lib/unistr/u16-strcmp.c: Likewise.
28986         * lib/unistr/u16-strcpy.c: Likewise.
28987         * lib/unistr/u16-strcspn.c: Likewise.
28988         * lib/unistr/u16-strdup.c: Likewise.
28989         * lib/unistr/u16-strlen.c: Likewise.
28990         * lib/unistr/u16-strmblen.c: Likewise.
28991         * lib/unistr/u16-strmbtouc.c: Likewise.
28992         * lib/unistr/u16-strncat.c: Likewise.
28993         * lib/unistr/u16-strncmp.c: Likewise.
28994         * lib/unistr/u16-strncpy.c: Likewise.
28995         * lib/unistr/u16-strnlen.c: Likewise.
28996         * lib/unistr/u16-strpbrk.c: Likewise.
28997         * lib/unistr/u16-strrchr.c: Likewise.
28998         * lib/unistr/u16-strspn.c: Likewise.
28999         * lib/unistr/u16-strstr.c: Likewise.
29000         * lib/unistr/u16-strtok.c: Likewise.
29001         * lib/unistr/u16-to-u32.c: Likewise.
29002         * lib/unistr/u16-to-u8.c: Likewise.
29003         * lib/unistr/u16-uctomb-aux.c: Likewise.
29004         * lib/unistr/u16-uctomb.c: Likewise.
29005         * lib/unistr/u32-check.c: Likewise.
29006         * lib/unistr/u32-chr.c: Likewise.
29007         * lib/unistr/u32-cmp.c: Likewise.
29008         * lib/unistr/u32-cpy-alloc.c: Likewise.
29009         * lib/unistr/u32-cpy.c: Likewise.
29010         * lib/unistr/u32-endswith.c: Likewise.
29011         * lib/unistr/u32-mblen.c: Likewise.
29012         * lib/unistr/u32-mbsnlen.c: Likewise.
29013         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29014         * lib/unistr/u32-mbtouc.c: Likewise.
29015         * lib/unistr/u32-mbtoucr.c: Likewise.
29016         * lib/unistr/u32-move.c: Likewise.
29017         * lib/unistr/u32-next.c: Likewise.
29018         * lib/unistr/u32-prev.c: Likewise.
29019         * lib/unistr/u32-set.c: Likewise.
29020         * lib/unistr/u32-startswith.c: Likewise.
29021         * lib/unistr/u32-stpcpy.c: Likewise.
29022         * lib/unistr/u32-stpncpy.c: Likewise.
29023         * lib/unistr/u32-strcat.c: Likewise.
29024         * lib/unistr/u32-strchr.c: Likewise.
29025         * lib/unistr/u32-strcmp.c: Likewise.
29026         * lib/unistr/u32-strcpy.c: Likewise.
29027         * lib/unistr/u32-strcspn.c: Likewise.
29028         * lib/unistr/u32-strdup.c: Likewise.
29029         * lib/unistr/u32-strlen.c: Likewise.
29030         * lib/unistr/u32-strmblen.c: Likewise.
29031         * lib/unistr/u32-strmbtouc.c: Likewise.
29032         * lib/unistr/u32-strncat.c: Likewise.
29033         * lib/unistr/u32-strncmp.c: Likewise.
29034         * lib/unistr/u32-strncpy.c: Likewise.
29035         * lib/unistr/u32-strnlen.c: Likewise.
29036         * lib/unistr/u32-strpbrk.c: Likewise.
29037         * lib/unistr/u32-strrchr.c: Likewise.
29038         * lib/unistr/u32-strspn.c: Likewise.
29039         * lib/unistr/u32-strstr.c: Likewise.
29040         * lib/unistr/u32-strtok.c: Likewise.
29041         * lib/unistr/u32-to-u16.c: Likewise.
29042         * lib/unistr/u32-to-u8.c: Likewise.
29043         * lib/unistr/u32-uctomb.c: Likewise.
29044         * lib/unistr/u8-check.c: Likewise.
29045         * lib/unistr/u8-chr.c: Likewise.
29046         * lib/unistr/u8-cmp.c: Likewise.
29047         * lib/unistr/u8-cpy-alloc.c: Likewise.
29048         * lib/unistr/u8-cpy.c: Likewise.
29049         * lib/unistr/u8-endswith.c: Likewise.
29050         * lib/unistr/u8-mblen.c: Likewise.
29051         * lib/unistr/u8-mbsnlen.c: Likewise.
29052         * lib/unistr/u8-mbtouc-aux.c: Likewise.
29053         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29054         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29055         * lib/unistr/u8-mbtouc.c: Likewise.
29056         * lib/unistr/u8-mbtoucr.c: Likewise.
29057         * lib/unistr/u8-move.c: Likewise.
29058         * lib/unistr/u8-next.c: Likewise.
29059         * lib/unistr/u8-prev.c: Likewise.
29060         * lib/unistr/u8-set.c: Likewise.
29061         * lib/unistr/u8-startswith.c: Likewise.
29062         * lib/unistr/u8-stpcpy.c: Likewise.
29063         * lib/unistr/u8-stpncpy.c: Likewise.
29064         * lib/unistr/u8-strcat.c: Likewise.
29065         * lib/unistr/u8-strchr.c: Likewise.
29066         * lib/unistr/u8-strcmp.c: Likewise.
29067         * lib/unistr/u8-strcpy.c: Likewise.
29068         * lib/unistr/u8-strcspn.c: Likewise.
29069         * lib/unistr/u8-strdup.c: Likewise.
29070         * lib/unistr/u8-strlen.c: Likewise.
29071         * lib/unistr/u8-strmblen.c: Likewise.
29072         * lib/unistr/u8-strmbtouc.c: Likewise.
29073         * lib/unistr/u8-strncat.c: Likewise.
29074         * lib/unistr/u8-strncmp.c: Likewise.
29075         * lib/unistr/u8-strncpy.c: Likewise.
29076         * lib/unistr/u8-strnlen.c: Likewise.
29077         * lib/unistr/u8-strpbrk.c: Likewise.
29078         * lib/unistr/u8-strrchr.c: Likewise.
29079         * lib/unistr/u8-strspn.c: Likewise.
29080         * lib/unistr/u8-strstr.c: Likewise.
29081         * lib/unistr/u8-strtok.c: Likewise.
29082         * lib/unistr/u8-to-u16.c: Likewise.
29083         * lib/unistr/u8-to-u32.c: Likewise.
29084         * lib/unistr/u8-uctomb-aux.c: Likewise.
29085         * lib/unistr/u8-uctomb.c: Likewise.
29086         * lib/unitypes.h: Likewise.
29087         * lib/uniwidth.h: Likewise.
29088         * lib/uniwidth/cjk.h: Likewise.
29089         * lib/uniwidth/u16-strwidth.c: Likewise.
29090         * lib/uniwidth/u16-width.c: Likewise.
29091         * lib/uniwidth/u32-strwidth.c: Likewise.
29092         * lib/uniwidth/u32-width.c: Likewise.
29093         * lib/uniwidth/u8-strwidth.c: Likewise.
29094         * lib/uniwidth/u8-width.c: Likewise.
29095         * lib/uniwidth/width.c: Likewise.
29096
29097 2007-10-07  Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
29100         The file is still under LGPL (see modules/inttypes).
29101
29102 2007-10-06  Bruno Haible  <bruno@clisp.org>
29103
29104         * modules/trunc (Dependencies): Add 'extensions'.
29105         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
29106         Reported by Ben Pfaff <blp@gnu.org>.
29107
29108 2007-10-06  Bruno Haible  <bruno@clisp.org>
29109
29110         * modules/freopen-tests: New file.
29111         * tests/test-freopen.c: New file.
29112
29113         * modules/fopen-tests: New file.
29114         * tests/test-fopen.c: New file.
29115
29116         * modules/fopen: New file.
29117         * lib/fopen.c: New file.
29118         * m4/fopen.m4: New file.
29119         * modules/freopen: New file.
29120         * lib/freopen.c: New file.
29121         * m4/freopen.m4: New file.
29122         * lib/stdio.in.h (fopen, freopen): New declarations.
29123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
29124         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29125         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
29126         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29127         * doc/functions/fopen.texi: Mention the 'fopen' module.
29128         * doc/functions/freopen.texi: Mention the 'freopen' module.
29129
29130 2007-10-06  Bruno Haible  <bruno@clisp.org>
29131
29132         * modules/open-tests: New file.
29133         * tests/test-open.c: New file.
29134
29135         * modules/open: New file.
29136         * lib/open.c: New file.
29137         * m4/open.m4: New file.
29138         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
29139         lib/open.c does.
29140         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
29141         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
29142         macros.
29143         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
29144         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
29145         REPLACE_OPEN.
29146         * doc/functions/open.texi: Mention the 'open' module.
29147
29148 2007-10-04  Bruno Haible  <bruno@clisp.org>
29149
29150         * modules/ceill-tests: New file.
29151         * tests/test-ceill.c: New file.
29152
29153         * modules/ceill: New file.
29154         * lib/ceill.c: Replace entire file.
29155         * m4/ceill.m4: New file.
29156         * lib/math.in.h (ceill): Replace declaration.
29157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
29158         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
29159         * doc/functions/ceill.texi: Mention the 'ceill' module.
29160         * modules/mathl (Files): Remove lib/ceill.c.
29161         (Depends-on): Add ceill.
29162
29163 2007-10-04  Bruno Haible  <bruno@clisp.org>
29164
29165         * modules/ceilf-tests: New file.
29166         * tests/test-ceilf.c: New file.
29167
29168         * modules/ceilf: New file.
29169         * lib/ceil.c: New file.
29170         * lib/ceilf.c: New file.
29171         * m4/ceilf.m4: New file.
29172         * lib/math.in.h (ceilf): New declaration.
29173         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
29174         HAVE_DECL_CEILF.
29175         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
29176         HAVE_DECL_CEILF.
29177         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
29178
29179 2007-10-04  Bruno Haible  <bruno@clisp.org>
29180
29181         * modules/floorl-tests: New file.
29182         * tests/test-floorl.c: New file.
29183
29184         * modules/floorl: New file.
29185         * lib/floorl.c: Replace entire file.
29186         * m4/floorl.m4: New file.
29187         * lib/math.in.h (floorl): Replace declaration.
29188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
29189         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
29190         * doc/functions/floorl.texi: Mention the 'floorl' module.
29191         * modules/mathl (Files): Remove lib/floorl.c.
29192         (Depends-on): Add floorl.
29193
29194 2007-10-04  Bruno Haible  <bruno@clisp.org>
29195
29196         * modules/floorf-tests: New file.
29197         * tests/test-floorf.c: New file.
29198
29199         * modules/floorf: New file.
29200         * lib/floor.c: New file.
29201         * lib/floorf.c: New file.
29202         * m4/floorf.m4: New file.
29203         * lib/math.in.h (floorf): New declaration.
29204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
29205         HAVE_DECL_FLOORF.
29206         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
29207         HAVE_DECL_FLOORF.
29208         * doc/functions/floorf.texi: Mention the 'floorf' module.
29209
29210 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
29211             Bruno Haible  <bruno@clisp.org>
29212
29213         Advertise for the Git server instead of the CVS server.
29214         * doc/gnulib-intro.texi (Steady Development): Mention the Git
29215         repository instead of the CVS one.
29216         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
29217         about all VCS systems generically.
29218         * doc/gnulib.texi (Introduction): Capitalize `Git'.
29219
29220 2007-10-04  Bruno Haible  <bruno@clisp.org>
29221
29222         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
29223         means.
29224         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
29225
29226 2007-10-04  Bruno Haible  <bruno@clisp.org>
29227
29228         * modules/truncl-tests: New file.
29229         * tests/test-truncl.c: New file.
29230
29231         * modules/truncl: New file.
29232         * lib/truncl.c: New file.
29233         * m4/truncl.m4: New file.
29234         * lib/math.in.h (truncl): New declaration.
29235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
29236         HAVE_DECL_TRUNCL.
29237         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
29238         HAVE_DECL_TRUNCL.
29239         * doc/functions/truncl.texi: Mention the 'truncl' module.
29240
29241 2007-10-04  Bruno Haible  <bruno@clisp.org>
29242
29243         * modules/truncf-tests: New file.
29244         * tests/test-truncf.c: New file.
29245
29246         * modules/truncf: New file.
29247         * lib/trunc.c: Make paramerizable through USE_* macros.
29248         * lib/truncf.c: New file.
29249         * m4/truncf.m4: New file.
29250         * lib/math.in.h (truncf): New declaration.
29251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
29252         HAVE_DECL_TRUNCF.
29253         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
29254         HAVE_DECL_TRUNCF.
29255         * doc/functions/truncf.texi: Mention the 'truncf' module.
29256
29257 2007-10-03  Bruno Haible  <bruno@clisp.org>
29258
29259         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29260         augmentation also for tests modules.
29261         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
29262         * modules/atexit-tests (Makefile.am): Likewise.
29263         * modules/binary-io-tests (Makefile.am): Likewise.
29264         * modules/c-strcase-tests (Makefile.am): Likewise.
29265         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
29266         * modules/canonicalize-tests (Makefile.am): Likewise.
29267         * modules/closein-tests (Makefile.am): Likewise.
29268         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29269         * modules/freadahead-tests (Makefile.am): Likewise.
29270         * modules/fseek-tests (Makefile.am): Likewise.
29271         * modules/fseeko-tests (Makefile.am): Likewise.
29272         * modules/ftell-tests (Makefile.am): Likewise.
29273         * modules/ftello-tests (Makefile.am): Likewise.
29274         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
29275         * modules/isnanl-tests (Makefile.am): Likewise.
29276         * modules/lseek-tests (Makefile.am): Likewise.
29277         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29278         * modules/mbscasestr-tests (Makefile.am): Likewise.
29279         * modules/mbschr-tests (Makefile.am): Likewise.
29280         * modules/mbscspn-tests (Makefile.am): Likewise.
29281         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29282         * modules/mbspbrk-tests (Makefile.am): Likewise.
29283         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29284         * modules/mbsrchr-tests (Makefile.am): Likewise.
29285         * modules/mbsspn-tests (Makefile.am): Likewise.
29286         * modules/mbsstr-tests (Makefile.am): Likewise.
29287         * modules/printf-posix-tests (Makefile.am): Likewise.
29288         * modules/snprintf-posix-tests (Makefile.am): Likewise.
29289         * modules/sprintf-posix-tests (Makefile.am): Likewise.
29290         * modules/tsearch-tests (Makefile.am): Likewise.
29291         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29292         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29293         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29294         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29295         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29296         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29297         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29298         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29299         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
29300         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
29301         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29302         * modules/xstrtol-tests (Makefile.am): Likewise.
29303         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29304         * modules/yesno-tests (Makefile.am): Likewise.
29305
29306 2007-10-03  Bruno Haible  <bruno@clisp.org>
29307
29308         * modules/trunc-tests: New file.
29309         * tests/test-trunc.c: New file.
29310
29311         * modules/trunc: New file.
29312         * lib/trunc.c: New file.
29313         * m4/trunc.m4: New file.
29314         * lib/math.in.h (trunc): New declaration.
29315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
29316         HAVE_DECL_TRUNC.
29317         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
29318         HAVE_DECL_TRUNC.
29319         * doc/functions/trunc.texi: Mention the 'trunc' module.
29320
29321 2007-10-03  Bruno Haible  <bruno@clisp.org>
29322
29323         * tests/test-fpending.c: New file, mostly copied
29324         from coreutils/lib/t-fpending.c.
29325         * modules/fpending-tests: New file.
29326
29327 2007-10-03  Bruno Haible  <bruno@clisp.org>
29328
29329         Port the stdio extensions to QNX (untested).
29330         * lib/fseterr.c (fseterr): Add support for QNX.
29331         * lib/fbufmode.c (fbufmode): Likewise.
29332         * lib/freadable.c (freadable): Likewise.
29333         * lib/fwritable.c (fwritable): Likewise.
29334         * lib/freading.c (freading): Likewise.
29335         * lib/fwriting.c (fwriting): Likewise.
29336         * lib/freadahead.c (freadahed): Likewise.
29337         * lib/fpurge.c (fpurge): Likewise.
29338         * lib/fseeko.c (rpl_fseeko): Likewise.
29339
29340 2007-10-03  Bruno Haible  <bruno@clisp.org>
29341             Jim Meyering  <jim@meyering.net>
29342             Eric Blake  <ebb9@byu.net>
29343
29344         * doc/relocatable.texi: Use @command instead of @program.
29345
29346 2007-10-02  Jim Meyering  <jim@meyering.net>
29347
29348         Perform one more "_.h" -> ".in.h" substitution.
29349         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
29350         instead of unistd_.h here, too.
29351
29352 2007-10-01  Bruno Haible  <bruno@clisp.org>
29353
29354         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
29355         Needed for the alloca-opt module.
29356
29357 2007-09-30  Bruno Haible  <bruno@clisp.org>
29358
29359         * lib/alloca.in.h: Renamed from lib/alloca_.h.
29360         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
29361         alloca_.h.
29362         * lib/argz.in.h: Renamed from lib/argz_.h.
29363         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
29364         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
29365         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
29366         byteswap_.h.
29367         * lib/dirent.in.h: Renamed from lib/dirent_.h.
29368         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
29369         dirent_.h.
29370         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
29371         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
29372         fcntl_.h.
29373         * lib/float.in.h: Renamed from lib/float_.h.
29374         * modules/float (Files, Makefile.am): Use float.in.h instead of
29375         float_.h.
29376         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
29377         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
29378         fnmatch_.h.
29379         * lib/getopt.in.h: Renamed from lib/getopt_.h.
29380         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
29381         getopt_.h.
29382         * lib/glob.in.h: Renamed from lib/glob_.h.
29383         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
29384         * lib/iconv.in.h: Renamed from lib/iconv_.h.
29385         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
29386         iconv_.h.
29387         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
29388         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
29389         inttypes_.h.
29390         * lib/locale.in.h: Renamed from lib/locale_.h.
29391         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
29392         locale_.h.
29393         * lib/math.in.h: Renamed from lib/math_.h.
29394         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
29395         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
29396         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
29397         of netinet_in_.h. Add dependency.
29398         * lib/poll.in.h: Renamed from lib/poll_.h.
29399         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
29400         * lib/search.in.h: Renamed from lib/search_.h.
29401         * modules/search (Files, Makefile.am): Use search.in.h instead of
29402         search_.h.
29403         * lib/signal.in.h: Renamed from lib/signal_.h.
29404         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
29405         _signal.h.
29406         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
29407         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
29408         stdbool_.h.
29409         * lib/stdint.in.h: Renamed from lib/stdint_.h.
29410         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
29411         stdint_.h.
29412         * lib/stdio.in.h: Renamed from lib/stdio_.h.
29413         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
29414         stdio_.h.
29415         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
29416         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
29417         stdlib_.h.
29418         * lib/string.in.h: Renamed from lib/string_.h.
29419         * modules/string (Files, Makefile.am): Use string.in.h instead of
29420         string_.h.
29421         * doc/gnulib-tool.texi (Initial import): Update.
29422         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
29423         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
29424         of sys_select_.h. Add dependency.
29425         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
29426         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
29427         of sys_socket_.h.
29428         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
29429         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
29430         sys_stat_.h.
29431         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
29432         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
29433         sys_time_.h.
29434         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
29435         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
29436         sysexits_.h.
29437         * lib/time.in.h: Renamed from lib/time_.h.
29438         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
29439         * lib/unistd.in.h: Renamed from lib/unistd_.h.
29440         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
29441         unistd_.h.
29442         * lib/wchar.in.h: Renamed from lib/wchar_.h.
29443         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
29444         wchar_.h.
29445         * lib/wctype.in.h: Renamed from lib/wctype_.h.
29446         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
29447         wctype_.h.
29448         * build-aux/bootstrap (slurp): Update.
29449         * lib/.cppi-disable: Update.
29450
29451 2007-09-30  Bruno Haible  <bruno@clisp.org>
29452
29453         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
29454         Needed on BeOS.
29455
29456 2007-09-30  Bruno Haible  <bruno@clisp.org>
29457
29458         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
29459
29460 2007-09-29  Bruno Haible  <bruno@clisp.org>
29461
29462         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
29463
29464 2007-09-29  Bruno Haible  <bruno@clisp.org>
29465
29466         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
29467         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
29468         * build-aux/install-reloc: Compile also areadlink.c.
29469         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
29470
29471 2007-09-29  Bruno Haible  <bruno@clisp.org>
29472
29473         * gnulib-tool (func_emit_initmacro_done): Indentation.
29474
29475 2007-09-29  Bruno Haible  <bruno@clisp.org>
29476
29477         * README: Add CVS checkout update instructions.
29478         Info from Bob Proulx <bob@proulx.com>.
29479
29480 2007-09-28  Eric Blake  <ebb9@byu.net>
29481
29482         Provide move-if-change.
29483         * build-aux/move-if-change: New file, based on best practice
29484         rather than any canonical upstream location.
29485
29486 2007-09-28  Jim Meyering  <jim@meyering.net>
29487
29488         Fix canonicalize loop-detection corner case.
29489         Do not attempt to stat the symlink values stored via seen_triple.
29490         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
29491         on linux-2.6.18, (but not 2.6.22).
29492         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
29493         triple_compare.  The former compares dev,ino,filename, while the latter
29494         would actually stat dirname(filename) when dev and ino were equal.
29495         * lib/hash-triple.c: Install <string.h>.
29496         (STREQ): Define.
29497         (triple_compare_ino_str): New function.
29498         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
29499
29500 2007-09-28  Eric Blake  <ebb9@byu.net>
29501
29502         Enforce that AC_REPLACE_FUNCS files exist.
29503         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
29504         override check for typos.
29505
29506         Fix test-closein on Solaris 10.
29507         * tests/test-closein.c (main): Don't assume stdin can be inherited
29508         closed on all systems.
29509         * tests/test-closein.sh: Likewise.
29510         Reported by Piotr Tarnowski.
29511
29512 2007-09-28  Jim Meyering  <jim@meyering.net>
29513
29514         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
29515
29516 2007-09-27  Jim Meyering  <jim@meyering.net>
29517
29518         canonicalize: Avoid a false-positive cycle failure.
29519         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
29520         Sort.  Remove cycle-check.
29521         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
29522         not cycle-check.h.
29523         (seen_triple): New function.
29524         (canonicalize_filename_mode): Use it instead of cycle-check.
29525         * tests/test-canonicalize.c: Add a test for this bug.
29526         * tests/test-canonicalize.sh: Set up and run the test.
29527
29528         New module, file-set, from coreutils.
29529         * modules/file-set: Define it.
29530         * lib/file-set.c, lib/file-set.h: Implement.
29531
29532         New module, hash-triple, from coreutils.
29533         * modules/hash-triple: Define it.
29534         * lib/hash-triple.c, lib/hash-triple.h: Implement.
29535
29536 2007-09-25  Eric Blake  <ebb9@byu.net>
29537
29538         Fix strerror on Interix.
29539         * lib/string_.h (strerror): Declare replacement.
29540         * doc/functions/strerror.texi (strerror): Document the Interix
29541         shortcoming.
29542         * modules/string (Makefile.am): Support new hooks.
29543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
29544         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
29545         gl_FUNC_STRERROR_SEPARATE.
29546         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
29547         * lib/strerror.c (rpl_strerror): Provide replacement.
29548         * modules/strerror (Depends-on): Add string.
29549         (configure.ac): Detect use of module.
29550         * tests/test-strerror.c: New file.
29551         * modules/strerror-tests: New test module.
29552         * modules/argp (Depends-on): Add strerror.
29553         * modules/error (Depends-on): Likewise.
29554         Reported by Martin Koeppe.
29555
29556 2007-09-24  Bruno Haible  <bruno@clisp.org>
29557
29558         * README: Update git instructions.
29559
29560 2007-09-24  Eric Blake  <ebb9@byu.net>
29561
29562         Revert fpending breakage from 2007-09-08.
29563         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
29564         __fpending.c.
29565
29566 2007-09-24  Jim Meyering  <jim@meyering.net>
29567
29568         filenamecat.c: Add a test.
29569         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
29570         showing how the function works when DIR is the empty string.
29571
29572 2007-09-21  Simon Josefsson  <simon@josefsson.org>
29573
29574         * tests/test-canonicalize.sh: Turn on executable bit.
29575
29576 2007-09-19  Eric Blake  <ebb9@byu.net>
29577
29578         * README: Update CVS instructions.
29579
29580 2007-09-18  Bruno Haible  <bruno@clisp.org>
29581
29582         * modules/areadlink: New file.
29583         * lib/areadlink.h (areadlink): New declaration.
29584         * lib/areadlink.c: New file, based on lib/xreadlink.c.
29585
29586 2007-09-17  Jim Meyering  <jim@meyering.net>
29587
29588         * lib/savewd.c (ESTALE) [!defined]: Define.
29589         Reported to be required on Interix by Martin Koeppe.
29590
29591 2007-09-17  Bruno Haible  <bruno@clisp.org>
29592
29593         * gnulib-tool (func_version): Use $version.
29594
29595 2007-09-16  Bruno Haible  <bruno@clisp.org>
29596
29597         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
29598         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
29599         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
29600         Reported by Greg Schafer <gschafer@zip.com.au>.
29601
29602 2007-09-15  Bruno Haible  <bruno@clisp.org>
29603
29604         * gnulib-tool (sed): Try a little harder to make bash understand the
29605         alias.
29606         Reported by Bruce Korb <bruce.korb@gmail.com>.
29607
29608 2007-09-13  Eric Blake  <ebb9@byu.net>
29609
29610         * ChangeLog: Remove conflict markers.
29611
29612 2007-09-13  Simon Josefsson  <simon@josefsson.org>
29613
29614         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
29615         Reported by Bruno Haible <bruno@clisp.org>.
29616
29617 2007-09-12  Bruno Haible  <bruno@clisp.org>
29618
29619         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
29620         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
29621         is not defined.
29622
29623 2007-09-12  Eric Blake  <ebb9@byu.net>
29624
29625         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
29626         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
29627         Autoconf definition.
29628         * modules/euidaccess (Depends-on): Add extensions, for
29629         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
29630         * modules/fnmatch (Depends-on): Likewise.
29631         * modules/getaddrinfo (Depends-on): Likewise.
29632         * modules/getdelim (Depends-on): Likewise.
29633         * modules/getline (Depends-on): Likewise.
29634         * modules/getsubopt (Depends-on): Likewise.
29635         * modules/gettext (Depends-on): Likewise.
29636         * modules/group-member (Depends-on): Likewise.
29637         * modules/mbchar (Depends-on): Likewise.
29638         * modules/memmem (Depends-on): Likewise.
29639         * modules/mempcpy (Depends-on): Likewise.
29640         * modules/memrchr (Depends-on): Likewise.
29641         * modules/pagealign_alloc (Depends-on): Likewise.
29642         * modules/readutmp (Depends-on): Likewise.
29643         * modules/stpcpy (Depends-on): Likewise.
29644         * modules/stpncpy (Depends-on): Likewise.
29645         * modules/strchrnul (Depends-on): Likewise.
29646         * modules/strndup (Depends-on): Likewise.
29647         * modules/strsep (Depends-on): Likewise.
29648         * modules/strverscmp (Depends-on): Likewise.
29649         * modules/vasprintf (Depends-on): Likewise.
29650         * modules/wcwidth (Depends-on): Likewise.
29651         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
29652         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
29653         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
29654         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
29655         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29656         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29657         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
29658         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
29659         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
29660         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
29661         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29662         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
29663         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
29664         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
29665         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
29666         * m4/readutmp.m4 (gl_READUTMP): Likewise.
29667         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
29668         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
29669         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29670         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
29671         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29672         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
29673         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
29674         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
29675         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
29676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
29677         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
29678         so that lock.m4 can be used in gettext without extensions module.
29679
29680 2007-09-11  Bruno Haible  <bruno@clisp.org>
29681
29682         * m4/isc-posix.m4: Remove file.
29683         Suggested by Eric Blake.
29684
29685 2007-09-11  Eric Blake  <ebb9@byu.net>
29686
29687         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
29688
29689 2007-09-10  Bruno Haible  <bruno@clisp.org>
29690
29691         * posix-modules: Fix typo in error message.
29692         Reported by Matt <mkraai@beckman.com>.
29693
29694 2007-09-09  Bruno Haible  <bruno@clisp.org>
29695
29696         * doc/functions/getdelim.texi: Update list of platforms lacking the
29697         function.
29698         * doc/functions/getline.texi: Likewise.
29699
29700 2007-09-09  Jim Meyering  <jim@meyering.net>
29701
29702         * lib/hash.c (hash_initialize): Detect calloc failure.
29703         Reported by Bruno Haible.
29704
29705 2007-09-09  Bruno Haible  <bruno@clisp.org>
29706
29707         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
29708         malloc or realloc fails.
29709
29710 2007-09-09  Bruno Haible  <bruno@clisp.org>
29711
29712         * modules/getcwd (Depends-on): Add malloc-posix.
29713         * modules/glob (Depends-on): Likewise.
29714         * modules/putenv (Depends-on): Likewise.
29715         * modules/strdup (Depends-on): Likewise.
29716         * modules/getdelim (Depends-on): Add realloc-posix.
29717         * modules/read-file (Depends-on): Likewise.
29718
29719 2007-09-09  Bruno Haible  <bruno@clisp.org>
29720
29721         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
29722         (gl_FUNC_MALLOC_POSIX): Require it.
29723         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
29724         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
29725         * modules/realloc (Files): Add m4/malloc.m4.
29726         * modules/calloc (Files): Likewise.
29727
29728 2007-09-09  Bruno Haible  <bruno@clisp.org>
29729
29730         * modules/malloc-posix: New file.
29731         * modules/malloc (Depends-on): Add malloc-posix.
29732         * lib/malloc.c: Include errno.h.
29733         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
29734         and a POSIX-compatible malloc into a single function. Set ENOMEM
29735         when returning NULL.
29736         * m4/malloc.m4: New file.
29737         * doc/functions/malloc.texi: Mention the malloc-posix module.
29738         * lib/stdlib_.h (malloc): New declaration.
29739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29740         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
29741         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
29742         and HAVE_MALLOC_POSIX.
29743
29744 2007-09-09  Bruno Haible  <bruno@clisp.org>
29745
29746         * modules/realloc-posix: New file.
29747         * modules/realloc (Depends-on): Add realloc-posix.
29748         * lib/realloc.c: Include errno.h.
29749         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
29750         and a POSIX-compatible realloc into a single function. Set ENOMEM
29751         when returning NULL.
29752         * m4/realloc.m4: New file.
29753         * doc/functions/realloc.texi: Mention the realloc-posix module.
29754         * lib/stdlib_.h (realloc): New declaration.
29755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29756         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
29757         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
29758         and HAVE_REALLOC_POSIX.
29759
29760 2007-09-09  Bruno Haible  <bruno@clisp.org>
29761
29762         * modules/calloc-posix: New file.
29763         * modules/calloc (Depends-on): Add calloc-posix.
29764         * lib/calloc.c: Include errno.h.
29765         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
29766         and a POSIX-compatible calloc into a single function. Set ENOMEM
29767         when returning NULL.
29768         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
29769         * doc/functions/calloc.texi: Mention the calloc-posix module.
29770         * lib/stdlib_.h (calloc): New declaration.
29771         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29772         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
29773         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
29774         and HAVE_CALLOC_POSIX.
29775
29776 2007-09-09  Bruno Haible  <bruno@clisp.org>
29777
29778         Allow for modules to show an arbitrary notice.
29779         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
29780         * gnulib-tool: New option --extract-notice.
29781         (func_usage): Document it.
29782         (sed_extract_prog): Update.
29783         (func_get_notice): New function.
29784         (func_modules_notice): New function.
29785         (func_import, func_create_testdir): Invoke it.
29786         Suggested by Jim Meyering.
29787
29788 2007-09-09  Bruno Haible  <bruno@clisp.org>
29789
29790         * gnulib-tool: New options --verbose, --quiet.
29791         (func_usage): Document them.
29792         (verbose): New variable.
29793         (func_execute_command): New function.
29794         (func_import): Don't show the module list and the file list if
29795         $verbose < 0.
29796         (func_create_testdir): Likewise. Use func_execute_command.
29797         (func_create_megatestdir): Use func_execute_command.
29798
29799 2007-09-08  Bruno Haible  <bruno@clisp.org>
29800
29801         * gnulib-tool (func_import): Prefer rsync over wget when available,
29802         for fetching the PO files.
29803
29804 2007-09-08  Bruno Haible  <bruno@clisp.org>
29805
29806         * posix-modules: New file. Portions copied from gnulib-tool.
29807         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
29808
29809 2007-09-08  Jim Meyering  <jim@meyering.net>
29810
29811         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
29812         * lib/fpending.h: Rename from __fpending.h.
29813         * lib/fpending.c: Rename from __fpending.c.
29814         Include "fpending.h", not "__fpending.h".
29815         * lib/__fpending.h, lib/__fpending.c: Remove files.
29816         * modules/fpending (Files): Reflect new file names.
29817         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
29818
29819 2007-09-08  Bruno Haible  <bruno@clisp.org>
29820
29821         * m4/inttypes-h.m4: Remove stub file.
29822
29823 2007-09-07  Simon Josefsson  <simon@josefsson.org>
29824
29825         * doc/headers/stdint.texi: Discuss #include_next issue.
29826
29827 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
29828
29829         * build-aux/bootstrap: Remove obsolete comment about wget --help.
29830
29831 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29832
29833         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
29834         in variable name.
29835
29836 2007-09-03  Jim Meyering  <jim@meyering.net>
29837
29838         New module: git-version-gen.
29839         * modules/git-version-gen: New file.
29840
29841         Import changes from coreutils for bootstrap script.
29842
29843         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
29844
29845         bootstrap: uses rsync to download the .po files
29846         * build-aux/bootstrap (po_download_command_format): New global.
29847         (download_po_files): Use rsync.
29848         (update_po_files): Don't remove .po files after download,
29849         so future rsync runs can take advantage of the copies.
29850
29851         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
29852
29853         Solve the unnecessary-.po-file-regeneration problem once and for all.
29854         * build-aux/bootstrap (download_po_files): New function, renamed from
29855         get_translations.  Now, downloads, but doesn't update LINGUAS.
29856         (update_po_files): New function.
29857
29858         bootstrap: Ignore more.
29859         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
29860         uniwidth to e.g., lib/.gitignore.
29861         (slurp): Handle the sys_stat_.h -> sys mapping, too.
29862
29863         * build-aux/bootstrap: New setting: vc_ignore.
29864         (insert_sorted_if_absent): Create $file if absent.
29865         Adapt to new, possibly empty, list: $vc_ignore.
29866
29867         bootstrap: generate more ignorable names
29868         * build-aux/bootstrap (slurp): When generating ignorable names,
29869         also map .sin to .sed, .gperf to .c, and .y to .c.
29870
29871 2007-09-03  Jim Meyering  <jim@meyering.net>
29872
29873         * build-aux/git-version-gen: New file, from coreutils.  For details, see
29874         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
29875
29876 2007-09-02  Bruno Haible  <bruno@clisp.org>
29877
29878         Fix mis-recognition of 'mcs' on QNX 6.
29879         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
29880         output contains the string "Mono".
29881         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
29882         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
29883
29884 2007-09-01  Bruno Haible  <bruno@clisp.org>
29885
29886         Fix collision between uniwidth/* and linebreak modules.
29887         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
29888         u32_width): Remove declarations.
29889         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
29890         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
29891         streq3, streq2, streq1, streq0): Remove functions.
29892         (STREQ): Remove macro.
29893         (is_cjk_encoding): Remove function.
29894         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
29895         (uc_width, u8_width, u16_width, u32_width): Remove functions.
29896         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
29897         * NEWS: Document the change.
29898
29899 2007-09-01  Bruno Haible  <bruno@clisp.org>
29900
29901         * lib/streq.h: Add double-inclusion guard.
29902
29903 2007-09-01  Karl Berry  <karl@gnu.org>
29904
29905         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
29906
29907 2007-08-28  Jim Meyering  <jim@meyering.net>
29908
29909         Rename mreadlink_with_size to areadlink_with_size.
29910         * NEWS: Document the change.
29911         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
29912         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
29913         * lib/mreadlink.h: Rename this to...
29914         * lib/areadlink.h: ...this.
29915         * modules/mreadlink-with-size: Rename this to...
29916         * modules/areadlink-with-size: ...this.
29917         * lib/canonicalize.c: Reflect the renaming.
29918         * modules/canonicalize: Likewise.
29919
29920 2007-08-26  Bruno Haible  <bruno@clisp.org>
29921
29922         * gnulib-tool (func_import): When deciding which files to remove,
29923         consider also dangling symbolic links.
29924         Reported by Eric Blake.
29925
29926 2007-08-26  Bruno Haible  <bruno@clisp.org>
29927
29928         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
29929
29930 2007-08-23  Simon Josefsson  <simon@josefsson.org>
29931
29932         * lib/readline.c: Don't include getline.h, the prototype is now
29933         found in stdio.h.
29934
29935 2007-08-23  Jim Meyering  <jim@meyering.net>
29936
29937         Getdelim touchup.
29938         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
29939         around the funlockfile call, since funlockfile never sets errno.
29940         Don't set errno upon failed realloc.
29941
29942 2007-08-22  Eric Blake  <ebb9@byu.net>
29943
29944         Getline touchups.
29945         * lib/getdelim.c (getdelim): Revert regression that required *n to
29946         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
29947         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
29948         getdelim, rather than whether implementation is missing.
29949         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
29950         * lib/stdio_.h (getline): Also declare if replacement is
29951         required.
29952         * doc/functions/getdelim.texi: New file.
29953         * doc/functions/getline.texi: Likewise.
29954         * doc/gnulib.texi (Function Substitutes): Add new files.
29955         Reported by Bruno Haible.
29956
29957 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
29958
29959         * users.txt: Add Guile.
29960
29961 2007-08-22  Eric Blake  <ebb9@byu.net>
29962
29963         * tests/test-getdelim.c (main): Use remove, not unlink.
29964         * tests/test-getline.c (main): Likewise.
29965
29966         Move getline and getdelim into stdio.h, per POSIX 200x.
29967         * modules/getline (Files): Remove getline.h.
29968         (Depends-on): Add stdio.
29969         (configure.ac): Add module indicator.
29970         * modules/getdelim (Files): Remove getdelim.h.
29971         (Depends-on): Add stdio.
29972         (configure.ac): Add module indicator.
29973         * modules/stdio (Makefile.am): Work with new indicators.
29974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
29975         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
29976         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29977         * lib/getdelim.h: Delete.
29978         * lib/getline.h: Delete.
29979         * lib/stdio_.h (getdelim, getline): Declare.
29980         * modules/getdelim-tests: New module.
29981         * modules/getline-tests: Likewise.
29982         * tests/test-getdelim.c: New file.
29983         * tests/test-getline.c: Likewise.
29984         * NEWS: Document the change.
29985         * lib/getline.c: Update choice of header.
29986         * lib/csharpcomp.c: Likewise.
29987         * lib/getpass.c: Likewise.
29988         * lib/javacomp.c: Likewise.
29989         * lib/javaversion.c: Likewise.
29990         * lib/yesno.c: Likewise.
29991         * lib/getdelim.c: Likewise.
29992         (getdelim): Set errno on failure, and avoid memory leak.
29993
29994 2007-08-19  Bruno Haible  <bruno@clisp.org>
29995
29996         * modules/closein (Depends-on): Add freadahead.
29997         * lib/closein.c: Include freadahead.h.
29998         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
29999         is zero.
30000
30001 2007-08-19  Bruno Haible  <bruno@clisp.org>
30002
30003         * modules/freadahead-tests: New file.
30004         * tests/test-freadahead.sh: New file.
30005         * tests/test-freadahead.c: New file.
30006
30007         * modules/freadahead: New file.
30008         * lib/freadahead.h: New file.
30009         * lib/freadahead.c: New file.
30010         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
30011         fbufmode, fpurge, freadable, fwritable.
30012
30013 2007-08-19  Eric Blake  <ebb9@byu.net>
30014
30015         Test yesno in combination with closein.
30016         * lib/yesno.c (yesno): Document use of stdin.
30017         * modules/yesno-tests (Files): New module.
30018         * tests/test-yesno.c (main): New file.
30019         * tests/test-yesno.sh: Likewise.
30020
30021 2007-08-19  Bruno Haible  <bruno@clisp.org>
30022
30023         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
30024         * lib/fseeko.c (rpl_fseeko): Likewise.
30025         * lib/fseterr.c (fseterr): Likewise.
30026
30027 2007-08-19  Bruno Haible  <bruno@clisp.org>
30028
30029         * tests/test-lseek.c (main): Disable a test for BeOS.
30030         * doc/functions/lseek.texi: Document the BeOS bug.
30031
30032 2007-08-19  Bruno Haible  <bruno@clisp.org>
30033             Eric Blake  <ebb9@byu.net>
30034
30035         * lib/lseek.c: Include <sys/stat.h>.
30036         (rpl_lseek): Add workaround code also for Unix platforms.
30037         Needed for BeOS.
30038         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
30039         * doc/functions/lseek.texi: Document BeOS definiency.
30040
30041 2007-08-18  Bruno Haible  <bruno@clisp.org>
30042
30043         * modules/fstrcmp-tests: New file.
30044         * tests/test-fstrcmp.c: New file.
30045
30046 2007-08-18  Bruno Haible  <bruno@clisp.org>
30047
30048         * modules/fstrcmp: New file, from GNU gettext with modifications.
30049         * lib/fstrcmp.h: New file, from GNU gettext.
30050         * lib/fstrcmp.c: New file, from GNU gettext.
30051         * MODULES.html.sh (String handling): Add fstrcmp.
30052
30053 2007-08-18  Bruno Haible  <bruno@clisp.org>
30054
30055         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
30056         'bool'.
30057         (diag, compareseq): Remove const from the ctxt argument.
30058         (USE_HEURISTIC): Undefine at the end.
30059
30060 2007-08-18  Jim Meyering  <jim@meyering.net>
30061
30062         New file: lib/idcache.h
30063         * NEWS: Mention the addition.
30064         * modules/idcache (Files): Add lib/idcache.h
30065         * lib/idcache.c: Include "idcache.h".
30066         Don't include <sys/types.h>.
30067         Add a FIXME comment.
30068         Move file-scoped "static" declarations to the top.
30069         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
30070
30071 2007-08-17  Bruno Haible  <bruno@clisp.org>
30072         and Paul Eggert  <eggert@cs.ucla.edu>
30073
30074         * MODULES.html.sh: Add diffseq.
30075         * modules/diffseq: New file.
30076         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
30077         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
30078
30079 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30080
30081         Import changes from coreutils for bootstrap script.
30082
30083         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
30084
30085         * build-aux/bootstrap (slurp): Work even in environments where
30086         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
30087         current code does not slurp files whose names start with ".", and
30088         this looks like it might be a troublesome area.
30089
30090         2007-07-11  Jim Meyering  <jim@meyering.net>
30091
30092         If there's a GPL vN copyright comment, require that N == 3.
30093
30094         2007-07-08  Jim Meyering  <jim@meyering.net>
30095
30096         Run the coreutils-specific code only if tests/Makefile.am.in exists.
30097         * build-aux/bootstrap (mam_template): Move definition out of loop.
30098
30099         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
30100
30101         * build-aux/bootstrap (symlink_to_dir): Rename function from
30102         symlink_to_gnulib.  Add a directory parameter.  Update all
30103         callers.
30104         (cp_mark_as_generated): Also check for -- and link to -- files in
30105         gl/.
30106
30107         2007-07-08  Jim Meyering  <jim@meyering.net>
30108
30109         Adapt to deeper hierarchy in gnulib.
30110         * build-aux/bootstrap (symlink_to_dir): If the destination
30111         directory doesn't exist, create it. This is required at least for
30112         "lib/uniwidth/cjk.h".
30113
30114         2007-05-15  Jim Meyering  <jim@meyering.net>
30115
30116         * build-aux/bootstrap: Now that generated Makefile.am files
30117         are no longer under version control, they must be created at
30118         bootstrap time.
30119
30120 2007-08-14  Ben Pfaff  <blp@gnu.org>
30121
30122         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
30123
30124 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30125
30126         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
30127         given the changes below.
30128         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
30129         even on hosts that have padding bits beyond the supported 64.
30130
30131 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30132
30133         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
30134         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
30135         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
30136         depends on it.
30137         (xstrtol_error): Remove.
30138         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
30139         but with a different signature.
30140         (ATTRIBUTE_NORETURN, __attribute__): New macros.
30141         * lib/xstrtol-error.c: Include exitfail.h.
30142         (xstrtol_fatal): New function, with a different signature from the
30143         old xstrtol_error, so that the caller need not worry about passing
30144         in an exit status, or about storage management of the option argument.
30145         (xstrtol_error): Now a static function.  Redo signature to
30146         implement xstrtol_fatal.  Output the correct number of hyphens in
30147         front of the option so that the caller need not worry about
30148         storage management.
30149         (N_): New macro.
30150         (_): Remove; not used now.
30151         * modules/xstrtol: Depend on getopt.
30152         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
30153         of old STRTOL_FATAL_ERROR macro.
30154         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
30155         of test program.
30156         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
30157         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
30158
30159 2007-08-08  Eric Blake  <ebb9@byu.net>
30160
30161         * lib/xstrtol-error.c: Add missing include.
30162
30163         Move xstrtol messages into gnulib domain, when --pobase is used.
30164         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
30165         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
30166         * modules/xstrtol (Files): Distribute new file.
30167         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
30168         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
30169         * tests/test-xstrtol.c: ...into new file.
30170         * tests/test-xstrtoul.c: Also test xstrtoul.
30171         * tests/test-xstrtoimax.c: Also test xstrtoimax.
30172         * tests/test-xstrtoumax.c: Also test xstrtoumax.
30173         * tests/test-xstrtol.sh: Drive the tests.
30174         * tests/test-xstrtoimax.sh: Likewise.
30175         * tests/test-xstrtoumax.sh: Likewise.
30176         * modules/xstrtol-tests: New module.
30177         * modules/xstrtoimax-tests: Likewise.
30178         * modules/xstrtoumax-tests: Likewise.
30179
30180 2007-08-08  Jim Meyering  <jim@meyering.net>
30181
30182         New function: mfile_name_concat.
30183         * lib/filenamecat.c (mfile_name_concat): New function, just like
30184         file_name_concat, but return NULL upon failure rather than exiting
30185         with a diagnostic.
30186         * lib/filenamecat.h: Declare it.
30187
30188 2007-08-07  Bruno Haible  <bruno@clisp.org>
30189
30190         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
30191         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
30192         warning from gcc.
30193         Reported by Eric Blake.
30194
30195 2007-08-07  Simon Josefsson  <simon@josefsson.org>
30196
30197         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
30198         * modules/crypto/arcfour (License): Likewise.
30199         * modules/crypto/des-tests (License): Likewise.
30200         * modules/crypto/gc-arctwo-tests (License): Likewise.
30201         * modules/crypto/gc-des-tests (License): Likewise.
30202         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
30203         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
30204         * modules/crypto/gc-md2-tests (License): Likewise.
30205         * modules/crypto/gc-md4-tests (License): Likewise.
30206         * modules/crypto/gc-md5-tests (License): Likewise.
30207         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
30208         * modules/crypto/gc-rijndael-tests (License): Likewise.
30209         * modules/crypto/gc-sha1-tests (License): Likewise.
30210         * modules/crypto/gc-tests (License): Likewise.
30211         * modules/crypto/hmac-md5 (License): Likewise.
30212         * modules/crypto/hmac-sha1 (License): Likewise.
30213         * modules/crypto/md2-tests (License): Likewise.
30214         * modules/crypto/md4-tests (License): Likewise.
30215         * modules/crypto/md5 (License): Likewise.
30216         * modules/crypto/rijndael (License): Likewise.
30217         * modules/crypto/sha1 (License): Likewise.
30218         * modules/memxor (License): Likewise.
30219
30220 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30221         and Bruno Haible  <bruno@clisp.org>
30222
30223         * NEWS: Describe interface changes to human, xstrtol.
30224         * lib/human.h: Include <xstrtol.h>.
30225         (human_options): Return enum strtol_error, not int.  Remove
30226         bool arg; take int * instead.
30227         * lib/human.c: Don't include "gettext.h".
30228         (_): Remove; no longer used.
30229         Don't include <xstrtol.h>, since human.h does it.
30230         (human_options): Adjust to abovementioned interface changes.
30231         Do not report error to stderr; that's now the caller's
30232         responsibility.
30233         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
30234         interface change.
30235         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
30236         Str, Argument_type_string.  All uses changed.  Put " argument"
30237         in diagnostics to make them clearer.  Change wording of suffix
30238         message for clarity.
30239         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
30240         Argument_type_string.
30241         (STRTOL_FATAL_WARN): Remove; no longer used.
30242         * modules/human (Depends-on): Remove gettext-h.
30243
30244 2007-08-06  Simon Josefsson  <simon@josefsson.org>
30245
30246         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
30247
30248 2007-07-31  Bruno Haible  <bruno@clisp.org>
30249
30250         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
30251         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
30252         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
30253
30254 2007-07-31  Bruno Haible  <bruno@clisp.org>
30255
30256         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
30257         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
30258
30259 2007-07-30  Bruno Haible  <bruno@clisp.org>
30260
30261         * modules/base64 (License): Use the synonymous term "LGPLv2+".
30262         * modules/c-ctype (License): Likewise.
30263         * modules/c-strcase (License): Likewise.
30264         * modules/check-version (License): Likewise.
30265         * modules/iconv (License): Likewise.
30266         * modules/iconv_open (License): Likewise.
30267         * modules/read-file (License): Likewise.
30268         * modules/striconv (License): Likewise.
30269         * modules/strverscmp (License): Likewise.
30270         * modules/vasprintf (License): Likewise.
30271         * modules/crypto/des (License): Likewise.
30272         * modules/crypto/gc (License): Likewise.
30273         * modules/crypto/gc-arcfour (License): Likewise.
30274         * modules/crypto/gc-arctwo (License): Likewise.
30275         * modules/crypto/gc-des (License): Likewise.
30276         * modules/crypto/gc-hmac-md5 (License): Likewise.
30277         * modules/crypto/gc-hmac-sha1 (License): Likewise.
30278         * modules/crypto/gc-md2 (License): Likewise.
30279         * modules/crypto/gc-md4 (License): Likewise.
30280         * modules/crypto/gc-md5 (License): Likewise.
30281         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
30282         * modules/crypto/gc-random (License): Likewise.
30283         * modules/crypto/gc-rijndael (License): Likewise.
30284         * modules/crypto/gc-sha1 (License): Likewise.
30285         * modules/crypto/md2 (License): Likewise.
30286         * modules/crypto/md4 (License): Likewise.
30287
30288 2007-07-30  Jim Meyering  <jim@meyering.net>
30289
30290         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
30291         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
30292         it has valid stat data.  This bug would cause du not to count the
30293         sizes of inaccessible directories.
30294         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
30295         in <http://bugzilla.redhat.com/250077>.
30296
30297 2007-07-25  Peter O'Gorman  <peter@pogma.com>
30298             Bruno Haible  <bruno@clisp.org>
30299
30300         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
30301         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
30302         #include_next, gives a diagnostic about it, but reports no error in
30303         the exit code.
30304         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30305
30306 2007-07-24  Ben Pfaff  <blp@gnu.org>
30307
30308         Improve name: "count-one-bits" is better than "popcount".
30309         * MODULES.html.sh: Update name.
30310         * lib/popcount.h: Renamed lib/count-one-bits.h.
30311         (popcount): Renamed count_one_bits.
30312         (popcountl): Renamed count_one_bits_l.
30313         (popcountll): Renamed count_one_bits_ll.
30314         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
30315         * modules/popcount: Renamed module/count-one-bits.
30316         * modules/popcount-tests: Renamed module/count-one-bits-tests.
30317         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
30318
30319 2007-07-23  Ben Pfaff  <blp@gnu.org>
30320
30321         * lib/popcount.h (popcount32): Reduce size of constants, to allow
30322         better code generation, and add U to large constants to avoid
30323         warnings, in non-GCC case.
30324         Suggested by Bruno Haible.
30325
30326 2007-07-23  Ben Pfaff  <blp@gnu.org>
30327
30328         * lib/popcount.h: Use verify_true instead of if...abort.
30329         * modules/popcount: Depend on verify module.
30330         Suggested by Jim Meyering.
30331
30332 2007-07-23  Bruno Haible  <bruno@clisp.org>
30333
30334         * gnulib-tool (func_import): Create a .cvsignore file also when the
30335         directory is not yet in CVS but the toplevel directory is. When
30336         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
30337         Reported by Karl Berry.
30338
30339 2007-07-22  Ben Pfaff  <blp@gnu.org>
30340
30341         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
30342         case.
30343         Suggested by Eric Blake.
30344
30345 2007-07-22  Ben Pfaff  <blp@gnu.org>
30346
30347         New module: popcount.
30348         * MODULES.html.sh: Add popcount.
30349         * modules/popcount: New file.
30350         * modules/popcount-tests: New file.
30351         * tests/test-popcount.c: New file.
30352         * lib/popcount.h: New file.
30353         * m4/popcount.m4: New file.
30354
30355 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
30356
30357         * build-aux/announce-gen: Update to GPLv3.
30358
30359         * build-aux/config.guess: Update from config.
30360
30361 2007-07-21  Bruno Haible  <bruno@clisp.org>
30362
30363         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
30364         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
30365
30366 2007-07-20  Jim Meyering  <jim@meyering.net>
30367
30368         * check-module: Diagnose a self-dependency.
30369
30370 2007-07-19  Bruno Haible  <bruno@clisp.org>
30371
30372         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
30373         empty.
30374         Reported by Eric Blake.
30375
30376 2007-07-18  Bruno Haible  <bruno@clisp.org>
30377
30378         * gnulib-tool: New options --po-base, --po-domain.
30379         (func_usage): Document them.
30380         (pobase, po_domain): New variables.
30381         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
30382         DEFAULT_TEXT_DOMAIN.
30383         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
30384         (func_import): Consider pobase and po_domain. Create a po/ directory.
30385         (func_create_testdir): Set pobase and po_domain to empty.
30386         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
30387         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
30388
30389 2007-07-18  Bruno Haible  <bruno@clisp.org>
30390
30391         * gnulib-tool (func_get_automake_snippet): Synthesize also an
30392         EXTRA_DIST augmentation for files in build-aux/.
30393
30394 2007-07-16  Bruno Haible  <bruno@clisp.org>
30395
30396         * modules/lseek (License): Use the synonymous term "LGPLv2+".
30397         * modules/getdelim (License): Likewise.
30398
30399 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30400
30401         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
30402         * modules/d-type (License): Likewise.
30403         * modules/extensions (License): Likewise.
30404         * modules/fnmatch (License): Likewise.
30405         * modules/fseeko (License): Likewise.
30406         * modules/getaddrinfo (License): Likewise.
30407         * modules/getline (License): Likewise.
30408         * modules/getlogin_r (License): Likewise.
30409         * modules/getpass (License): Likewise.
30410         * modules/gettimeofday (License): Likewise.
30411         * modules/glob (License): Likewise.
30412         * modules/inet_ntop (License): Likewise.
30413         * modules/malloc (License): Likewise.
30414         * modules/malloca (License): Likewise.
30415         * modules/memmem (License): Likewise.
30416         * modules/mempcpy (License): Likewise.
30417         * modules/memset (License): Likewise.
30418         * modules/minmax (License): Likewise.
30419         * modules/mktime (License): Likewise.
30420         * modules/netinet_in (License): Likewise.
30421         * modules/pathmax (License): Likewise.
30422         * modules/poll (License): Likewise.
30423         * modules/regex (License): Likewise.
30424         * modules/snprintf (License): Likewise.
30425         * modules/stdbool (License): Likewise.
30426         * modules/stdint (License): Likewise.
30427         * modules/stdio (License): Likewise.
30428         * modules/strcase (License): Likewise.
30429         * modules/strcasestr (License): Likewise.
30430         * modules/strdup (License): Likewise.
30431         * modules/string (License): Likewise.
30432         * modules/strndup (License): Likewise.
30433         * modules/strnlen (License): Likewise.
30434         * modules/strpbrk (License): Likewise.
30435         * modules/strptime (License): Likewise.
30436         * modules/strsep (License): Likewise.
30437         * modules/sys_select (License): Likewise.
30438         * modules/sys_socket (License): Likewise.
30439         * modules/sys_stat (License): Likewise.
30440         * modules/sys_time (License): Likewise.
30441         * modules/time (License): Likewise.
30442         * modules/time_r (License): Likewise.
30443         * modules/timegm (License): Likewise.
30444         * modules/unistd (License): Likewise.
30445         * modules/vsnprintf (License): Likewise.
30446         * modules/wctype (License): Likewise.
30447
30448 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30449
30450         * modules/argz (License): LGPLv2+.
30451
30452 2007-07-15  Karl Berry  <karl@gnu.org>
30453
30454         * doc/gnulib.texi: revise node structure per new fdl.texi.
30455
30456 2007-07-14  Bruno Haible  <bruno@clisp.org>
30457
30458         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
30459         the output file.
30460         * lib/uniname/uninames.h: Regenerated.
30461
30462 2007-07-14  Karl Berry  <karl@gnu.org>
30463
30464         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
30465         omitting sectioning and index commands.
30466
30467 2007-07-13  Bruno Haible  <bruno@clisp.org>
30468
30469         New gnulib-tool option --more-symlinks.
30470         * gnulib-tool (func_usage): Document --more-symlinks.
30471         (do_copyrights): New variable.
30472         Recognize option --more-symlinks.
30473         (func_import): Don't add a copyright notice transform to
30474         sed_transform_lib_file if do_copyrights is empty.
30475
30476 2007-07-13  Bruno Haible  <bruno@clisp.org>
30477
30478         * lib/vasnprintf.c (decimal_point_char): Define also if
30479         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
30480         && !NEED_PRINTF_DIRECTIVE_A.
30481         Reported by Clemens Koller <clemens.koller@anagramm.de> via
30482         Gary V. Vaughan <gary@gnu.org>.
30483
30484 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
30485
30486         * lib/inttypes_.h: Undo previous change, since it was fixed
30487         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
30488
30489 2007-07-13  Bruno Haible  <bruno@clisp.org>
30490
30491         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
30492         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
30493
30494 2007-07-13  Jim Meyering  <jim@meyering.net>
30495
30496         df: Don't fail for Tru64's "file-on-file mount".
30497         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
30498         so we fall through and use statfs instead.  Details here:
30499         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
30500         Reported by Albert Chin.
30501
30502 2007-07-13  Bruno Haible  <bruno@clisp.org>
30503
30504         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
30505         * modules/configmake (License): Likewise.
30506         * modules/gettext (License): Likewise.
30507         * modules/gettext-h (License): Likewise.
30508         * modules/include_next (License): Likewise.
30509         * modules/link-warning (License): Likewise.
30510         * modules/localcharset (License): Likewise.
30511         * modules/localename (License): Likewise.
30512         * modules/lock (License): Likewise.
30513         * modules/relocatable-lib-lgpl (License): Likewise.
30514         * modules/size_max (License): Likewise.
30515         * modules/vasnprintf (License): Likewise.
30516         * modules/wchar (License): Likewise.
30517         * modules/xsize (License): Likewise.
30518
30519 2007-07-13  Bruno Haible  <bruno@clisp.org>
30520
30521         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
30522         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
30523
30524 2007-07-12  Bruno Haible  <bruno@clisp.org>
30525
30526         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
30527         in the modules files.
30528
30529 2007-07-11  Karl Berry  <karl@gnu.org>
30530
30531         * MODULES.html.sh (func_module): use
30532          sed -e '\|^'"${includefile}"'$|d'
30533          instead of /.../d, to avoid errors on $includefile's containing /.
30534
30535 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
30536
30537         * gnulib-tool (func_import): Avoid duplication of --avoid
30538         statements
30539         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
30540         names to `_' in variable names.
30541
30542 2007-07-10  Eric Blake  <ebb9@byu.net>
30543
30544         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
30545         * NEWS: Document this change.
30546
30547 2007-07-08  Bruno Haible  <bruno@clisp.org>
30548
30549         Update to Unicode 5.0.
30550         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
30551         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
30552         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
30553         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
30554         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
30555         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
30556         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
30557         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
30558         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
30559         U+10A3F, U+1D242..U+1D244.
30560         (nonspacing_table_ind): Update.
30561         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
30562         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
30563
30564 2007-07-08  Bruno Haible  <bruno@clisp.org>
30565
30566         Update to Unicode 5.0.
30567         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
30568         code transform. Extend the name index field of unicode_name_to_code and
30569         unicode_code_to_name from 16 to 24 bits.
30570         * lib/uniname/uniname.c (unicode_character_name,
30571         unicode_name_character): Add the range 0x12xxx to the code transform.
30572         * lib/uniname/uninames.h: Regenerated.
30573         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
30574
30575 2007-07-07  Bruno Haible  <bruno@clisp.org>
30576
30577         * modules/wcwidth-tests: New file.
30578         * tests/test-wcwidth.c: New file.
30579
30580         Work around MacOS X wcwidth() bug.
30581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
30582         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
30583         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
30584         original wcwidth in non-UTF-8 locales.
30585         * modules/wcwidth (Depends-on): Add localcharset, streq,
30586         uniwidth/width.
30587         * doc/functions/wcwidth.texi: Update.
30588
30589 2007-07-07  Bruno Haible  <bruno@clisp.org>
30590
30591         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
30592         (wcwidth): New declaration.
30593         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
30594         macros.
30595         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
30596         here. Prepare for creating <wchar.h> unconditionally.
30597         * modules/wchar (Depends-on): Add link-warning.
30598         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
30599         REPLACE_WCWIDTH, and GL_LINK_WARNING.
30600         * lib/wcwidth.h: Remove file.
30601         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
30602         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
30603         * modules/wcwidth (Files): Remove lib/wcwidth.h.
30604         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
30605         (Include): Replace wcwidth.h with <wchar.h>.
30606         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
30607         * lib/mbchar.h: Don't include wcwidth.h.
30608         * lib/mbswidth.c: Likewise.
30609         * NEWS: Mention the change.
30610
30611 2007-07-07  Bruno Haible  <bruno@clisp.org>
30612
30613         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
30614         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
30615         definition with an external declaration.
30616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
30617         defined as a function. Remove AC_C_INLINE requirement.
30618         * modules/wcwidth (Files): Add lib/wcwidth.c.
30619         (Makefile.am): Remove redundant statement.
30620
30621 2007-07-07  Bruno Haible  <bruno@clisp.org>
30622
30623         * MODULES.html.sh (Unicode string functions): Add the new modules.
30624
30625         * tests/uniwidth/test-u32-strwidth.c: New file.
30626         * modules/uniwidth/u32-strwidth-tests: New file.
30627
30628         * lib/uniwidth/u32-strwidth.c: New file.
30629         * modules/uniwidth/u32-strwidth: New file.
30630
30631         * tests/uniwidth/test-u16-strwidth.c: New file.
30632         * modules/uniwidth/u16-strwidth-tests: New file.
30633
30634         * lib/uniwidth/u16-strwidth.c: New file.
30635         * modules/uniwidth/u16-strwidth: New file.
30636
30637         * tests/uniwidth/test-u8-strwidth.c: New file.
30638         * modules/uniwidth/u8-strwidth-tests: New file.
30639
30640         * lib/uniwidth/u8-strwidth.c: New file.
30641         * modules/uniwidth/u8-strwidth: New file.
30642
30643         * tests/uniwidth/test-u32-width.c: New file.
30644         * modules/uniwidth/u32-width-tests: New file.
30645
30646         * lib/uniwidth/u32-width.c: New file.
30647         * modules/uniwidth/u32-width: New file.
30648
30649         * tests/uniwidth/test-u16-width.c: New file.
30650         * modules/uniwidth/u16-width-tests: New file.
30651
30652         * lib/uniwidth/u16-width.c: New file.
30653         * modules/uniwidth/u16-width: New file.
30654
30655         * tests/uniwidth/test-u8-width.c: New file.
30656         * modules/uniwidth/u8-width-tests: New file.
30657
30658         * lib/uniwidth/u8-width.c: New file.
30659         * modules/uniwidth/u8-width: New file.
30660
30661         * tests/uniwidth/test-uc_width.c: New file.
30662         * modules/uniwidth/width-tests: New file.
30663
30664         * lib/uniwidth/width.c: New file, from GNU libiconv.
30665         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
30666         * modules/uniwidth/width: New file.
30667
30668         * lib/uniwidth.h: New file, from GNU libiconv.
30669         * modules/uniwidth/base: New file.
30670
30671 2007-07-07  Bruno Haible  <bruno@clisp.org>
30672
30673         * lib/uniname.h: New file, from GNU gettext.
30674         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
30675         * lib/uniname/uninames.h: New file, from GNU gettext.
30676         * lib/uniname/uniname.c: New file, from GNU gettext.
30677         * tests/uniname/test-uninames.sh: New file.
30678         * tests/uniname/test-uninames.c: New file, from GNU gettext.
30679         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
30680         * modules/uniname/base: New file.
30681         * modules/uniname/uniname: New file.
30682         * modules/uniname/uniname-tests: New file.
30683         * MODULES.html.sh (Unicode string functions): Add the new modules.
30684
30685 2007-07-06  Bruno Haible  <bruno@clisp.org>
30686
30687         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
30688
30689 2007-07-06  Bruno Haible  <bruno@clisp.org>
30690
30691         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
30692         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
30693         includes <cygwin/sys_time.h> which includes <sys/select.h> which
30694         include <sys/time.h>.
30695         Reported by Eric Blake.
30696
30697 2007-07-06  Eric Blake  <ebb9@byu.net>
30698
30699         Fix testing canonicalize on cygwin.
30700         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
30701         Revert patch from 2007-06-19.
30702         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
30703         canonicalize module is also in use.
30704         * tests/test-canonicalize.c: New file.
30705         * tests/test-canonicalize.sh: Likewise.
30706         * modules/canonicalize-tests: Likewise.
30707
30708 2007-07-06  Jim Meyering  <jim@meyering.net>
30709
30710         * lib/getugroups.c (getugroups): Detect getgrent failure.
30711         Adjust comment to reflect reality: this function may return -1.
30712
30713 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30714
30715         * build-aux/bootstrap (TP_URL,get_translations): Update to use
30716         the new TP address.
30717         (usage): Fix typo
30718         (gnulib_mk): New variable.
30719
30720 2007-07-05  Jim Meyering  <jim@meyering.net>
30721
30722         Don't let endgrent clobber errno, no matter how improbable.
30723         * lib/getugroups.c (getugroups): Save and restore errno around
30724         endgrent call.
30725
30726         Close the group DB even when failing with 2^31 or more members.
30727         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
30728
30729 2007-07-04  Jim Meyering  <jim@meyering.net>
30730
30731         * lib/getugroups.h: New file.
30732         * lib/getugroups.c: Include "getugroups.h".
30733         Remove uses of "register" keyword.
30734         Move local variable, "cp", down into scope where used.
30735         Give "username" parameter the "const" attribute.
30736         * modules/getugroups (Files): Add lib/getugroups.h
30737
30738 2007-07-04  Karl Berry  <karl@gnu.org>
30739
30740         * MODULES.html.sh (func_all_modules): Complete rename of
30741         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
30742
30743 2007-07-02  Bruno Haible  <bruno@clisp.org>
30744
30745         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
30746         mode, when inttypes.h comes from gnulib.
30747         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
30748
30749 2007-07-02  Simon Josefsson  <simon@josefsson.org>
30750
30751         * NEWS: Mention lgpl module name change.
30752
30753         * modules/lgpl-2.1: Renamed from lgpl.
30754
30755         * NEWS: Mention gpl module name change.
30756
30757         * modules/gpl-3.0: New file, based on gpl-2.0.
30758
30759         * modules/gpl-2.0: Renamed from gpl.
30760
30761         * modules/gpl: Fix filename, doc/gpl.texi is now found at
30762         doc/gpl-2.0.texi.
30763
30764 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
30765
30766         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
30767         #define __STDC_LIMIT_MACROS temporarily while including
30768         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
30769         Problem reported by Joel E. Denny in
30770         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
30771
30772 2007-07-01  Bruno Haible  <bruno@clisp.org>
30773
30774         * lib/unistdio.h: New file.
30775         * lib/unistdio/u-asnprintf.h: New file.
30776         * lib/unistdio/u-asprintf.h: New file.
30777         * lib/unistdio/u-printf-args.c: New file.
30778         * lib/unistdio/u-printf-args.h: New file.
30779         * lib/unistdio/u-printf-parse.h: New file.
30780         * lib/unistdio/u-snprintf.h: New file.
30781         * lib/unistdio/u-sprintf.h: New file.
30782         * lib/unistdio/u-vasprintf.h: New file.
30783         * lib/unistdio/u-vsnprintf.h: New file.
30784         * lib/unistdio/u-vsprintf.h: New file.
30785         * lib/unistdio/ulc-asnprintf.c: New file.
30786         * lib/unistdio/ulc-asprintf.c: New file.
30787         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
30788         * lib/unistdio/ulc-printf-parse.c: New file.
30789         * lib/unistdio/ulc-snprintf.c: New file.
30790         * lib/unistdio/ulc-sprintf.c: New file.
30791         * lib/unistdio/ulc-vasnprintf.c: New file.
30792         * lib/unistdio/ulc-vasprintf.c: New file.
30793         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
30794         * lib/unistdio/ulc-vsnprintf.c: New file.
30795         * lib/unistdio/ulc-vsprintf.c: New file.
30796         * lib/unistdio/u8-asnprintf.c: New file.
30797         * lib/unistdio/u8-asprintf.c: New file.
30798         * lib/unistdio/u8-printf-parse.c: New file.
30799         * lib/unistdio/u8-snprintf.c: New file.
30800         * lib/unistdio/u8-sprintf.c: New file.
30801         * lib/unistdio/u8-vasnprintf.c: New file.
30802         * lib/unistdio/u8-vasprintf.c: New file.
30803         * lib/unistdio/u8-vsnprintf.c: New file.
30804         * lib/unistdio/u8-vsprintf.c: New file.
30805         * lib/unistdio/u8-u8-asnprintf.c: New file.
30806         * lib/unistdio/u8-u8-asprintf.c: New file.
30807         * lib/unistdio/u8-u8-snprintf.c: New file.
30808         * lib/unistdio/u8-u8-sprintf.c: New file.
30809         * lib/unistdio/u8-u8-vasnprintf.c: New file.
30810         * lib/unistdio/u8-u8-vasprintf.c: New file.
30811         * lib/unistdio/u8-u8-vsnprintf.c: New file.
30812         * lib/unistdio/u8-u8-vsprintf.c: New file.
30813         * lib/unistdio/u16-asnprintf.c: New file.
30814         * lib/unistdio/u16-asprintf.c: New file.
30815         * lib/unistdio/u16-printf-parse.c: New file.
30816         * lib/unistdio/u16-snprintf.c: New file.
30817         * lib/unistdio/u16-sprintf.c: New file.
30818         * lib/unistdio/u16-vasnprintf.c: New file.
30819         * lib/unistdio/u16-vasprintf.c: New file.
30820         * lib/unistdio/u16-vsnprintf.c: New file.
30821         * lib/unistdio/u16-vsprintf.c: New file.
30822         * lib/unistdio/u16-u16-asnprintf.c: New file.
30823         * lib/unistdio/u16-u16-asprintf.c: New file.
30824         * lib/unistdio/u16-u16-snprintf.c: New file.
30825         * lib/unistdio/u16-u16-sprintf.c: New file.
30826         * lib/unistdio/u16-u16-vasnprintf.c: New file.
30827         * lib/unistdio/u16-u16-vasprintf.c: New file.
30828         * lib/unistdio/u16-u16-vsnprintf.c: New file.
30829         * lib/unistdio/u16-u16-vsprintf.c: New file.
30830         * lib/unistdio/u32-asnprintf.c: New file.
30831         * lib/unistdio/u32-asprintf.c: New file.
30832         * lib/unistdio/u32-printf-parse.c: New file.
30833         * lib/unistdio/u32-snprintf.c: New file.
30834         * lib/unistdio/u32-sprintf.c: New file.
30835         * lib/unistdio/u32-vasnprintf.c: New file.
30836         * lib/unistdio/u32-vasprintf.c: New file.
30837         * lib/unistdio/u32-vsnprintf.c: New file.
30838         * lib/unistdio/u32-vsprintf.c: New file.
30839         * lib/unistdio/u32-u32-asnprintf.c: New file.
30840         * lib/unistdio/u32-u32-asprintf.c: New file.
30841         * lib/unistdio/u32-u32-snprintf.c: New file.
30842         * lib/unistdio/u32-u32-sprintf.c: New file.
30843         * lib/unistdio/u32-u32-vasnprintf.c: New file.
30844         * lib/unistdio/u32-u32-vasprintf.c: New file.
30845         * lib/unistdio/u32-u32-vsnprintf.c: New file.
30846         * lib/unistdio/u32-u32-vsprintf.c: New file.
30847         * tests/unistdio/test-ulc-asnprintf1.c: New file.
30848         * tests/unistdio/test-ulc-asnprintf1.h: New file.
30849         * tests/unistdio/test-ulc-printf1.h: New file.
30850         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
30851         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
30852         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
30853         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
30854         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
30855         * tests/unistdio/test-ulc-vasprintf1.c: New file.
30856         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
30857         * tests/unistdio/test-ulc-vsprintf1.c: New file.
30858         * tests/unistdio/test-u8-asnprintf1.c: New file.
30859         * tests/unistdio/test-u8-asnprintf1.h: New file.
30860         * tests/unistdio/test-u8-printf1.h: New file.
30861         * tests/unistdio/test-u8-vasnprintf1.c: New file.
30862         * tests/unistdio/test-u8-vasnprintf2.c: New file.
30863         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
30864         * tests/unistdio/test-u8-vasnprintf3.c: New file.
30865         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
30866         * tests/unistdio/test-u8-vasprintf1.c: New file.
30867         * tests/unistdio/test-u8-vsnprintf1.c: New file.
30868         * tests/unistdio/test-u8-vsprintf1.c: New file.
30869         * tests/unistdio/test-u16-asnprintf1.c: New file.
30870         * tests/unistdio/test-u16-asnprintf1.h: New file.
30871         * tests/unistdio/test-u16-printf1.h: New file.
30872         * tests/unistdio/test-u16-vasnprintf1.c: New file.
30873         * tests/unistdio/test-u16-vasnprintf2.c: New file.
30874         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
30875         * tests/unistdio/test-u16-vasnprintf3.c: New file.
30876         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
30877         * tests/unistdio/test-u16-vasprintf1.c: New file.
30878         * tests/unistdio/test-u16-vsnprintf1.c: New file.
30879         * tests/unistdio/test-u16-vsprintf1.c: New file.
30880         * tests/unistdio/test-u32-asnprintf1.c: New file.
30881         * tests/unistdio/test-u32-asnprintf1.h: New file.
30882         * tests/unistdio/test-u32-printf1.h: New file.
30883         * tests/unistdio/test-u32-vasnprintf1.c: New file.
30884         * tests/unistdio/test-u32-vasnprintf2.c: New file.
30885         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
30886         * tests/unistdio/test-u32-vasnprintf3.c: New file.
30887         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
30888         * tests/unistdio/test-u32-vasprintf1.c: New file.
30889         * tests/unistdio/test-u32-vsnprintf1.c: New file.
30890         * tests/unistdio/test-u32-vsprintf1.c: New file.
30891         * modules/unistdio/base: New file.
30892         * modules/unistdio/u-printf-args: New file.
30893         * modules/unistdio/ulc-asnprintf: New file.
30894         * modules/unistdio/ulc-asprintf: New file.
30895         * modules/unistdio/ulc-fprintf: New file.
30896         * modules/unistdio/ulc-printf-parse: New file.
30897         * modules/unistdio/ulc-snprintf: New file.
30898         * modules/unistdio/ulc-sprintf: New file.
30899         * modules/unistdio/ulc-vasnprintf: New file.
30900         * modules/unistdio/ulc-vasprintf: New file.
30901         * modules/unistdio/ulc-vfprintf: New file.
30902         * modules/unistdio/ulc-vsnprintf: New file.
30903         * modules/unistdio/ulc-vsprintf: New file.
30904         * modules/unistdio/u8-asnprintf: New file.
30905         * modules/unistdio/u8-asprintf: New file.
30906         * modules/unistdio/u8-printf-parse: New file.
30907         * modules/unistdio/u8-snprintf: New file.
30908         * modules/unistdio/u8-sprintf: New file.
30909         * modules/unistdio/u8-vasnprintf: New file.
30910         * modules/unistdio/u8-vasprintf: New file.
30911         * modules/unistdio/u8-vsnprintf: New file.
30912         * modules/unistdio/u8-vsprintf: New file.
30913         * modules/unistdio/u8-u8-asnprintf: New file.
30914         * modules/unistdio/u8-u8-asprintf: New file.
30915         * modules/unistdio/u8-u8-snprintf: New file.
30916         * modules/unistdio/u8-u8-sprintf: New file.
30917         * modules/unistdio/u8-u8-vasnprintf: New file.
30918         * modules/unistdio/u8-u8-vasprintf: New file.
30919         * modules/unistdio/u8-u8-vsnprintf: New file.
30920         * modules/unistdio/u8-u8-vsprintf: New file.
30921         * modules/unistdio/u16-asnprintf: New file.
30922         * modules/unistdio/u16-asprintf: New file.
30923         * modules/unistdio/u16-printf-parse: New file.
30924         * modules/unistdio/u16-snprintf: New file.
30925         * modules/unistdio/u16-sprintf: New file.
30926         * modules/unistdio/u16-vasnprintf: New file.
30927         * modules/unistdio/u16-vasprintf: New file.
30928         * modules/unistdio/u16-vsnprintf: New file.
30929         * modules/unistdio/u16-vsprintf: New file.
30930         * modules/unistdio/u16-u16-asnprintf: New file.
30931         * modules/unistdio/u16-u16-asprintf: New file.
30932         * modules/unistdio/u16-u16-snprintf: New file.
30933         * modules/unistdio/u16-u16-sprintf: New file.
30934         * modules/unistdio/u16-u16-vasnprintf: New file.
30935         * modules/unistdio/u16-u16-vasprintf: New file.
30936         * modules/unistdio/u16-u16-vsnprintf: New file.
30937         * modules/unistdio/u16-u16-vsprintf: New file.
30938         * modules/unistdio/u32-asnprintf: New file.
30939         * modules/unistdio/u32-asprintf: New file.
30940         * modules/unistdio/u32-printf-parse: New file.
30941         * modules/unistdio/u32-snprintf: New file.
30942         * modules/unistdio/u32-sprintf: New file.
30943         * modules/unistdio/u32-vasnprintf: New file.
30944         * modules/unistdio/u32-vasprintf: New file.
30945         * modules/unistdio/u32-vsnprintf: New file.
30946         * modules/unistdio/u32-vsprintf: New file.
30947         * modules/unistdio/u32-u32-asnprintf: New file.
30948         * modules/unistdio/u32-u32-asprintf: New file.
30949         * modules/unistdio/u32-u32-snprintf: New file.
30950         * modules/unistdio/u32-u32-sprintf: New file.
30951         * modules/unistdio/u32-u32-vasnprintf: New file.
30952         * modules/unistdio/u32-u32-vasprintf: New file.
30953         * modules/unistdio/u32-u32-vsnprintf: New file.
30954         * modules/unistdio/u32-u32-vsprintf: New file.
30955         * modules/unistdio/ulc-asnprintf-tests: New file.
30956         * modules/unistdio/ulc-vasnprintf-tests: New file.
30957         * modules/unistdio/ulc-vasprintf-tests: New file.
30958         * modules/unistdio/ulc-vsnprintf-tests: New file.
30959         * modules/unistdio/ulc-vsprintf-tests: New file.
30960         * modules/unistdio/u8-asnprintf-tests: New file.
30961         * modules/unistdio/u8-vasnprintf-tests: New file.
30962         * modules/unistdio/u8-vasprintf-tests: New file.
30963         * modules/unistdio/u8-vsnprintf-tests: New file.
30964         * modules/unistdio/u8-vsprintf-tests: New file.
30965         * modules/unistdio/u16-asnprintf-tests: New file.
30966         * modules/unistdio/u16-vasnprintf-tests: New file.
30967         * modules/unistdio/u16-vasprintf-tests: New file.
30968         * modules/unistdio/u16-vsnprintf-tests: New file.
30969         * modules/unistdio/u16-vsprintf-tests: New file.
30970         * modules/unistdio/u32-asnprintf-tests: New file.
30971         * modules/unistdio/u32-vasnprintf-tests: New file.
30972         * modules/unistdio/u32-vasprintf-tests: New file.
30973         * modules/unistdio/u32-vsnprintf-tests: New file.
30974         * modules/unistdio/u32-vsprintf-tests: New file.
30975         * MODULES.html.sh (Unicode string functions): Add the new modules.
30976
30977 2007-07-01  Bruno Haible  <bruno@clisp.org>
30978
30979         * lib/sprintf.c (sprintf): Limit the available length estimation,
30980         to avoid address wraparound.
30981         * lib/vsprintf.c (vsprintf): Likewise.
30982         * modules/sprintf-posix (Dependencies): Add stdint.
30983         * modules/vsprintf-posix (Dependencies): Likewise.
30984
30985 2007-07-01  Bruno Haible  <bruno@clisp.org>
30986
30987         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
30988         Windows PATH as well. Conservative double-quoting. Comments.
30989
30990 2007-07-01  Bruno Haible  <bruno@clisp.org>
30991             Eric Blake  <ebb9@byu.net>
30992             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30993
30994         * gnulib-tool (self_abspathname): Fix algorithm to cope with
30995         empty components in $PATH, denoting '.'.
30996
30997 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30998
30999         * gnulib-tool: Fix indentation.
31000         (func_create_megatestdir): Likewise.
31001         Report by Bruno Haible.
31002
31003 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31004
31005         Sync from Automake.
31006         * build-aux/gnupload: Fix shell portability issues with for loops.
31007         Report by Karl Berry.
31008
31009 2007-06-29  Simon Josefsson  <simon@josefsson.org>
31010
31011         * build-aux/maint.mk (POURL): Use translationproject.org.
31012
31013 2007-06-27  Simon Josefsson  <simon@josefsson.org>
31014             Bruno Haible  <bruno@clisp.org>
31015
31016         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
31017         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
31018         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
31019         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
31020         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
31021
31022 2007-06-27  Bruno Haible  <bruno@clisp.org>
31023
31024         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
31025         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
31026
31027 2007-06-26  Karl Berry  <karl@gnu.org>
31028
31029         * MODULES.html.sh: remove xreadlink-with-size.
31030
31031 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31032
31033         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
31034         method that I hope also handles the double-include problem noted
31035         by Bruno Haible in
31036         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
31037
31038 2007-06-23  Bruno Haible  <bruno@clisp.org>
31039
31040         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31041         Don't let the 'mostlyclean' target fail if the last subdirectory could
31042         not be removed.
31043         Reported by Karl Berry.
31044
31045 2007-06-23  Bruno Haible  <bruno@clisp.org>
31046
31047         * gnulib-tool (echo): Add a speedier workaround for ksh.
31048         * tests/test-echo.sh: Likewise.
31049
31050 2007-06-23  Bruno Haible  <bruno@clisp.org>
31051
31052         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
31053         * tests/test-echo.sh: Likewise.
31054
31055 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31056
31057         * gnulib-tool (IFS): Initialize early, so we don't set it to
31058         empty later.
31059         (self_abspathname): Rewrite algorithm to set it, reindent.
31060         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
31061         (func_create_megatestdir): Merge some sed scripts.
31062
31063 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31064
31065         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
31066         exposed by Sun Studio 11 cc on Solaris 8.
31067
31068 2007-06-22  Bruno Haible  <bruno@clisp.org>
31069
31070         * gnulib-tool (echo): Ensure the echo primitive does not interpret
31071         backslashes.
31072         * tests/test-echo.sh: New file.
31073
31074 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31075
31076         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
31077         simplify `sed_replace_build_aux' scripts, they are portable but
31078         echoing them with `echo' is not.
31079         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
31080
31081 2007-06-21  Karl Berry  <karl@gnu.org>
31082
31083         * config/srclist.txt: guess we can't handle the licenses via
31084         srclist at the moment.
31085
31086 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
31087
31088         * MODULES.html.sh: Add include_next.
31089         * modules/include_next: New file.
31090
31091 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31092
31093         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
31094         INCLUDE_NEXT.
31095         (gl_CHECK_NEXT_HEADERS): New macro.
31096         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
31097         the obsolescent gl_ABSOLUTE_HEADER.
31098         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
31099         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
31100         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31101         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31102         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31103         * m4/math_h.m4 (gl_MATH_H): Likewise.
31104         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31105         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31106         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31107         * m4/stdint.m4 (gl_STDINT_H): Likewise.
31108         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31109         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31110         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31111         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31112         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31113         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31114         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31115         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31116         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31117         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31118         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31119         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31120         * m4/inttypes.m4 (gl_INTTYPES_H): Define
31121         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
31122         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
31123         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
31124         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
31125         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
31126         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
31127         * lib/float_.h: Likewise.
31128         * lib/inttypes_.h: Likewise.
31129         * lib/math_.h: Likewise.
31130         * lib/search_.h: Likewise.
31131         * lib/signal_.h: Likewise.
31132         * lib/stdint_.h: Likewise.
31133         * lib/stdio_.h: Likewise.
31134         * lib/stdlib_.h: Likewise.
31135         * lib/string_.h: Likewise.
31136         * lib/sys_stat_.h: Likewise.
31137         * lib/sys_time_.h: Likewise.
31138         * lib/time_.h: Likewise.
31139         * lib/unistd_.h: Likewise.
31140         * lib/wchar_.h: Likewise.
31141         * lib/wctype_.h: Likewise.
31142         * lib/dirent_.h: Likewise.
31143         * lib/iconv_.h: Likewise.
31144         * lib/locale_.h: Likewise.
31145         * lib/netinet_in_.h: Likewise.
31146         * lib/sys_select_.h: Likewise.
31147         * lib/sys_socket_.h: Likewise.
31148         * lib/sysexits_.h: Likewise.
31149         * modules/fcntl (Depends-on): Depend on include_next, not
31150         absolute_header.
31151         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
31152         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
31153         * modules/fchdir: Likewise.
31154         * modules/float: Likewise.
31155         * modules/iconv_open: Likewise.
31156         * modules/inttypes: Likewise.
31157         * modules/locale: Likewise.
31158         * modules/math: Likewise.
31159         * modules/netinet_in: Likewise.
31160         * modules/search: Likewise.
31161         * modules/signal: Likewise.
31162         * modules/stdint: Likewise.
31163         * modules/stdio: Likewise.
31164         * modules/stdlib: Likewise.
31165         * modules/string: Likewise.
31166         * modules/sys_select: Likewise.
31167         * modules/sys_socket: Likewise.
31168         * modules/sys_stat: Likewise.
31169         * modules/sys_time: Likewise.
31170         * modules/sysexits: Likewise.
31171         * modules/time: Likewise.
31172         * modules/unistd: Likewise.
31173         * modules/wchar: Likewise.
31174         * modules/wctype: Likewise.
31175         * modules/sys_stat: Change maintainer to "all".
31176         * modules/unistd: Likewise.
31177
31178 2007-06-20  Karl Berry  <karl@gnu.org>
31179
31180         * config/srclist.txt: track www changes in license files.
31181
31182 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
31183
31184         * build-aux/bootstrap: Remove stray dot.
31185         Make sure build_aux settings are honored when linking
31186         gnulib_extra_files.
31187
31188 2007-06-19  Eric Blake  <ebb9@byu.net>
31189
31190         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31191         Allow compilation on cygwin.
31192
31193 2007-06-19  Jim Meyering  <jim@meyering.net>
31194
31195         xreadlink-with-size: Remove module.  No longer used.
31196         Ex-callers now use xreadlink or mreadlink-with-size.
31197         * modules/xreadlink-with-size: Remove module.
31198         * lib/xreadlink-with-size.c: Remove file.
31199         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
31200         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
31201         just before the function definition *is* accurate.
31202
31203         Eliminate one way canonicalize_filename_mode could exit.
31204         * lib/canonicalize.c (canonicalize_filename_mode):
31205         Use mreadlink_with_size, not xreadlink_with_size.
31206
31207 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
31208
31209         Detect porting problems to FreeBSD/arm, which has time_t wider than
31210         long int.  Original problem reported for GNU diff by Xin Li in
31211         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
31212         * modules/getdate (Depends-on): Add intprops, verify.
31213         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
31214         is an integer type no wider than long int.
31215
31216 2007-06-18  Jim Meyering  <jim@meyering.net>
31217
31218         New module: mreadlink-with-size.
31219         * MODULES.html.sh: Add mreadlink-with-size.
31220         * modules/mreadlink-with-size: New module
31221         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
31222         not xreadlink-with-size.
31223         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
31224
31225 2007-06-16  Bruno Haible  <bruno@clisp.org>
31226
31227         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
31228         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
31229         Reported by Gary V. Vaughan <gary@gnu.org>.
31230
31231 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
31232
31233         Revamp lchown so that it lives in unistd.h where it belongs.
31234         * lib/lchown.h: Remove.
31235         * lib/dirchownmod.c: Don't include lib/lchown.h.
31236         * lib/fchownat.c: Likewise.
31237         * lib/openat.c: Likewise.
31238         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
31239         does not follow symlinks.
31240         (EOPNOTSUPP): Define if not defined.
31241         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
31242         is defined to 0.
31243         (lchown): New decl.
31244         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
31245         Do not check for lchown decl.
31246         Set REPLACE_LCHOWN.
31247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
31248         REPLACE_LCHOWN.
31249         * modules/chown: Make it clear it follows symlinks.
31250         * modules/lchown: Make it clear it doesn't follow symlinks.
31251         (Files): Remove lib/lchown.h
31252         (Depends-on): Add unistd.
31253         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
31254         (Include): Include <unistd.h>, not "lchown.h".
31255         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
31256         REPLACE_LCHOWN.
31257
31258 2007-06-15  Jim Meyering  <jim@meyering.net>
31259
31260         Change license (GPL to LGPL) of fsusage and dependents.
31261         * modules/fsusage (License): Change to LGPL.
31262         * modules/full-read (License): Likewise.
31263         * modules/full-write (License): Likewise.
31264         * modules/safe-read (License): Likewise.
31265         * modules/safe-write (License): Likewise.
31266
31267 2007-06-14  Ben Pfaff  <blp@gnu.org>
31268
31269         Missing part of allocsa -> malloca transition.
31270         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
31271         gl_MALLOCA.
31272
31273 2007-06-12  Bruno Haible  <bruno@clisp.org>
31274
31275         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
31276         to ia64, x86_64, i386.
31277         Reported by Eric Blake.
31278
31279 2007-06-12  Bruno Haible  <bruno@clisp.org>
31280
31281         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
31282         cross-compiling to x86_64.
31283
31284 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
31285
31286         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
31287         glitch reported by Ralf Wildenhues in
31288         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
31289
31290         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
31291         Vin Shelton.
31292
31293 2007-06-11  Bruno Haible  <bruno@clisp.org>
31294
31295         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
31296         replacement string.
31297         Reported by Eric Blake.
31298
31299 2007-06-10  Bruno Haible  <bruno@clisp.org>
31300
31301         Prepare vasnprintf code for use with Unicode strings.
31302         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
31303         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
31304         TYPE_U32_STRING.
31305         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
31306         a_u32_string variants.
31307         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31308         * lib/printf-args.c: Don't include config.h and the specification
31309         header if PRINTF_FETCHARGS is already defined.
31310         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31311         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
31312         TYPE_U16_STRING, TYPE_U32_STRING.
31313         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
31314         u16_directive, u16_directives, u32_directive, u32_directives): New
31315         types.
31316         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
31317         New declarations.
31318         * lib/printf-parse.c: Don't include config.h and the specification
31319         header if PRINTF_PARSE is already defined. Eliminate the set of
31320         parameters for WIDE_CHAR_VERSION; the user of this file must provide
31321         them now. Include c-ctype.h.
31322         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
31323         directive and CHAR_T_ONLY_ASCII.
31324         * lib/vasnprintf.c: Don't include config.h and the specification header
31325         if VASNPRINTF is already defined.
31326         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
31327         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
31328         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
31329         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
31330         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
31331         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
31332         code accordingly.
31333         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
31334         pad_ourselves also in this case, with the 'c' and 's' directives, and
31335         with a different notion of "width".
31336         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
31337
31338 2007-06-10  Bruno Haible  <bruno@clisp.org>
31339
31340         * modules/unistr/u32-mbsnlen: New file.
31341         * lib/unistr/u32-mbsnlen.c: New file.
31342
31343         * modules/unistr/u16-mbsnlen: New file.
31344         * lib/unistr/u16-mbsnlen.c: New file.
31345
31346         * modules/unistr/u8-mbsnlen: New file.
31347         * lib/unistr/u8-mbsnlen.c: New file.
31348
31349         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
31350         declarations.
31351
31352 2007-06-10  Bruno Haible  <bruno@clisp.org>
31353
31354         * lib/string_.h (mbsnlen): New declaration.
31355         * lib/mbsnlen.c: New file.
31356         * m4/mbsnlen.m4: New file.
31357         * modules/mbsnlen: New file.
31358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
31359         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
31360         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
31361
31362 2007-06-10  Bruno Haible  <bruno@clisp.org>
31363
31364         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
31365
31366 2007-06-10  Bruno Haible  <bruno@clisp.org>
31367
31368         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
31369         * lib/mbuiter.h: Likewise.
31370
31371 2007-06-10  Bruno Haible  <bruno@clisp.org>
31372
31373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
31374         declaration.
31375
31376 2007-06-10  Karl Berry  <karl@gnu.org>
31377
31378         * config/srclist.txt: remove gettext entries, Bruno prefers
31379         to update individually.
31380
31381 2007-06-10  Bruno Haible  <bruno@clisp.org>
31382
31383         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
31384         'maxlen'. Ensure only length + width bytes are allocated, not
31385         length + 1 + width.
31386
31387 2007-06-09  Bruno Haible  <bruno@clisp.org>
31388
31389         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
31390         (CHAR_T): Remove macro.
31391         (VASNPRINTF): Update.
31392
31393 2007-06-09  Bruno Haible  <bruno@clisp.org>
31394
31395         * MODULES.html.sh (Unicode string functions): Add the new modules.
31396
31397         * modules/uniconv/u32-conv-to-enc: New file.
31398         * lib/uniconv/u32-conv-to-enc.c: New file.
31399         * modules/uniconv/u32-conv-to-enc-tests: New file.
31400         * tests/uniconv/test-u32-conv-to-enc.c: New file.
31401
31402         * modules/uniconv/u16-conv-to-enc: New file.
31403         * lib/uniconv/u16-conv-to-enc.c: New file.
31404         * lib/uniconv/u-conv-to-enc.h: New file.
31405         * modules/uniconv/u16-conv-to-enc-tests: New file.
31406         * tests/uniconv/test-u16-conv-to-enc.c: New file.
31407
31408         * modules/uniconv/u8-conv-to-enc: New file.
31409         * lib/uniconv/u8-conv-to-enc.c: New file.
31410         * modules/uniconv/u8-conv-to-enc-tests: New file.
31411         * tests/uniconv/test-u8-conv-to-enc.c: New file.
31412
31413         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31414         u32_conv_to_encoding): New declarations.
31415
31416 2007-06-09  Bruno Haible  <bruno@clisp.org>
31417
31418         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
31419
31420 2007-06-09  Bruno Haible  <bruno@clisp.org>
31421
31422         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
31423         * modules/malloca: Renamed from modules/allocsa, updated.
31424         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
31425         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
31426         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
31427         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
31428         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
31429         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
31430         * modules/xmalloca: Renamed from modules/xallocsa, updated.
31431         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
31432         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
31433         * modules/c-strcasestr (Depends-on): Update.
31434         * lib/c-strcasestr.c: Update.
31435         * modules/c-strstr (Depends-on): Update.
31436         * lib/c-strstr.c: Update.
31437         * modules/canonicalize-lgpl (Depends-on): Update.
31438         * lib/canonicalize-lgpl.c: Update.
31439         * modules/clean-temp (Depends-on): Update.
31440         * lib/clean-temp.c: Update.
31441         * modules/csharpcomp (Depends-on): Update.
31442         * lib/csharpcomp.c: Update.
31443         * modules/csharpexec (Depends-on): Update.
31444         * lib/csharpexec.c: Update.
31445         * modules/javacomp (Depends-on): Update.
31446         * lib/javacomp.c: Update.
31447         * modules/javaexec (Depends-on): Update.
31448         * lib/javaexec.c: Update.
31449         * modules/mbscasestr (Depends-on): Update.
31450         * lib/mbscasestr.c: Update.
31451         * modules/mbsstr (Depends-on): Update.
31452         * lib/mbsstr.c: Update.
31453         * modules/setenv (Depends-on): Update.
31454         * lib/setenv.c: Update.
31455         * modules/strcasestr (Depends-on): Update.
31456         * lib/strcasestr.c: Update.
31457         * modules/striconveha (Depends-on): Update.
31458         * lib/striconveha.c: Update.
31459         * modules/relocatable-prog-wrapper (Files): Update.
31460         * lib/relocwrapper.c: Update.
31461         * build-aux/install-reloc: Update.
31462         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
31463
31464 2007-06-08  Bruno Haible  <bruno@clisp.org>
31465
31466         Port to uClibc.
31467         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
31468         * lib/fpurge.c (fpurge): Likewise.
31469         * lib/freading.c (freading): Likewise.
31470         * lib/fseeko.c (rpl_fseeko): Likewise.
31471         * lib/fseterr.c (fseterr): Likewise.
31472         * lib/fwriting.c (fwriting): Likewise.
31473         * tests/test-fflush.c (main): Avoid a failure on uClibc.
31474
31475 2007-06-08  Bruno Haible  <bruno@clisp.org>
31476
31477         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
31478         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
31479         * modules/gettext (Files): Add m4/intlmacosx.m4.
31480
31481 2007-06-07  Bruno Haible  <bruno@clisp.org>
31482
31483         * modules/localename-tests: New file.
31484         * tests/test-localename.c: New file.
31485
31486         New module 'localename'.
31487         * lib/localename.h: New file.
31488         * lib/localename.c: New file, from GNU gettext.
31489         * m4/localename.m4: New file.
31490         * modules/localename: New file.
31491
31492 2007-06-07  Bruno Haible  <bruno@clisp.org>
31493
31494         Work around the lack of <wchar.h> on some builds of uClibc.
31495         * doc/headers/wchar.texi: Update.
31496         * lib/wchar_.h: Include <wchar.h> only if it exists.
31497         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
31498         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
31499         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
31500         doesn't exist.
31501         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
31502         * modules/mbfile (Depends-on): Add wchar.
31503         * modules/mbiter (Depends-on): Likewise.
31504         * modules/mbuiter (Depends-on): Likewise.
31505         Reported by Simon Josefsson.
31506
31507 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
31508
31509         Work around problem reported by Steven M. Schweda in
31510         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
31511         Tru64 5.1B with the Compaq compiler environment installed declares
31512         an 'isblank' function but does not define it in the C library.
31513         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
31514         * lib/regex_internal.h (isblank): Likewise.
31515         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
31516         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31517
31518 2007-06-05  Bruno Haible  <bruno@clisp.org>
31519
31520         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
31521         ia64.
31522         * modules/printf-safe: New file.
31523         * modules/fprintf-posix (Depends-on): Add printf-safe.
31524         * modules/printf-posix (Depends-on): Likewise.
31525         * modules/snprintf-posix (Depends-on): Likewise.
31526         * modules/sprintf-posix (Depends-on): Likewise.
31527         * modules/vasnprintf-posix (Depends-on): Likewise.
31528         * modules/vasprintf-posix (Depends-on): Likewise.
31529         * modules/vfprintf-posix (Depends-on): Likewise.
31530         * modules/vprintf-posix (Depends-on): Likewise.
31531         * modules/vsnprintf-posix (Depends-on): Likewise.
31532         * modules/vsprintf-posix (Depends-on): Likewise.
31533         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
31534         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
31535         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
31536         "no" on i386, x86_64, ia64.
31537         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
31538         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31539         on i386, x86_64, ia64.
31540         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
31541         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31542         on i386, x86_64, ia64.
31543         * tests/test-vasnprintf-posix.c: Include float.h.
31544         (LDBL80_WORDS): New macro.
31545         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31546         on i386, x86_64, ia64.
31547         * tests/test-vasprintf-posix.c: Include float.h.
31548         (LDBL80_WORDS): New macro.
31549         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
31550         on i386, x86_64, ia64.
31551         * tests/test-snprintf-posix.c: Include float.h.
31552         * tests/test-sprintf-posix.c: Likewise.
31553         * tests/test-vsnprintf-posix.c: Likewise.
31554         * tests/test-vsprintf-posix.c: Likewise.
31555
31556 2007-06-05  Bruno Haible  <bruno@clisp.org>
31557
31558         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
31559         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
31560         non-IEEE numbers on i386, x86_64, ia64.
31561         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
31562         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
31563         * tests/test-isnanl.h: Include float.h.
31564         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
31565
31566 2007-06-05  Bruno Haible  <bruno@clisp.org>
31567
31568         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
31569         also the %a / %A. Handle the %a / %A code before this extra handling.
31570
31571 2007-06-05  Bruno Haible  <bruno@clisp.org>
31572
31573         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
31574         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
31575
31576 2007-06-05  Bruno Haible  <bruno@clisp.org>
31577
31578         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
31579         typo in variable name.
31580
31581 2007-06-05  Eric Blake  <ebb9@byu.net>
31582
31583         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
31584         Reported by Simon Josefsson.
31585
31586 2007-06-04  Bruno Haible  <bruno@clisp.org>
31587
31588         Avoid test failures on some PowerPC platforms.
31589         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
31590         Define differently for PowerPC.
31591         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
31592         Reported by Gary V. Vaughan <gary@gnu.org>.
31593
31594 2007-06-02  Bruno Haible  <bruno@clisp.org>
31595
31596         Fix test-stdint failure on FreeBSD/ia64.
31597         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
31598         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
31599         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
31600         * doc/headers/stdint.texi: Update.
31601
31602 2007-06-01  Bruno Haible  <bruno@clisp.org>
31603
31604         * tests/test-binary-io.c (main): Pass a third argument to open().
31605         Reported by Gary V. Vaughan <gary@gnu.org>.
31606
31607 2007-06-01  Bruno Haible  <bruno@clisp.org>
31608
31609         * doc/functions/frexpl.texi: Update for mingw.
31610
31611 2007-06-01  Bruno Haible  <bruno@clisp.org>
31612
31613         * tests/test-lseek.c (main): Disable test of errno for invalid third
31614         argument.
31615         * doc/functions/lseek.texi: Update.
31616         Reported by Gary V. Vaughan <gary@gnu.org>.
31617
31618 2007-05-28  Bruno Haible  <bruno@clisp.org>
31619
31620         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
31621
31622 2007-05-31  Eric Blake  <ebb9@byu.net>
31623
31624         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
31625         cross compiling.
31626
31627 2007-05-30  Eric Blake  <ebb9@byu.net>
31628         and Bruno Haible  <bruno@clisp.org>
31629
31630         Work around mingw test failures exposed by m4-1.4.9b.
31631         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
31632         * tests/test-unistd.c: Disable uid_t and git_t tests for the
31633         moment.
31634
31635 2007-05-30  Bruno Haible  <bruno@clisp.org>
31636
31637         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
31638         assuming that they are closed. Needed on HP-UX 11.
31639
31640 2007-05-29  Bruno Haible  <bruno@clisp.org>
31641
31642         Fix a problem with #include_next.
31643         * lib/dirent_.h: Split the double-inclusion guard.
31644         * lib/fcntl_.h: Likewise.
31645         * lib/float_.h: Likewise.
31646         * lib/iconv_.h: Likewise.
31647         * lib/inttypes_.h: Likewise.
31648         * lib/locale_.h: Likewise.
31649         * lib/math_.h: Likewise.
31650         * lib/netinet_in_.h: Likewise.
31651         * lib/search_.h: Likewise.
31652         * lib/signal_.h: Likewise.
31653         * lib/stdint_.h: Likewise.
31654         * lib/stdio_.h: Likewise.
31655         * lib/stdlib_.h: Likewise.
31656         * lib/string_.h: Likewise.
31657         * lib/sys_select_.h: Likewise.
31658         * lib/sys_socket_.h: Likewise.
31659         * lib/sys_stat_.h: Likewise.
31660         * lib/sys_time_.h: Likewise.
31661         * lib/sysexits_.h: Likewise.
31662         * lib/time_.h: Likewise.
31663         * lib/unistd_.h: Likewise.
31664         * lib/wchar_.h: Likewise.
31665         * lib/wctype_.h: Likewise.
31666
31667 2007-05-29  Bruno Haible  <bruno@clisp.org>
31668
31669         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
31670         for the moment.
31671
31672 2007-05-29  Bruno Haible  <bruno@clisp.org>
31673
31674         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
31675         invocation.
31676         Reported by Eric Blake.
31677
31678 2007-05-29  Bruno Haible  <bruno@clisp.org>
31679
31680         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
31681         compiling case.
31682
31683 2007-05-29  Eric Blake  <ebb9@byu.net>
31684             Bruno Haible  <bruno@clisp.org>
31685
31686         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
31687         cross compiles.
31688
31689 2007-05-28  Eric Blake  <ebb9@byu.net>
31690
31691         * modules/closein-tests (test_closein_LDADD): Support test on
31692         cygwin with libtool.
31693
31694 2007-05-28  Bruno Haible  <bruno@clisp.org>
31695
31696         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
31697         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31698         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31699         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31700         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31701         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31702         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31703         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31704         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31705
31706 2007-05-28  Eric Blake  <ebb9@byu.net>
31707
31708         Unconditionally include <config.h> in unit tests.
31709         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
31710         * tests/test-allocsa.c, tests/test-arcfour.c,
31711         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
31712         tests/test-array_list.c, tests/test-array_oset.c,
31713         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
31714         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
31715         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
31716         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
31717         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
31718         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
31719         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
31720         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
31721         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
31722         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
31723         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
31724         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
31725         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
31726         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
31727         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
31728         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
31729         test-md5.c, test-memmem.c, test-printf-posix.c,
31730         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
31731         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
31732         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
31733         test-strcasestr.c, test-striconv.c, test-striconveh.c,
31734         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
31735         test-vasnprintf-posix2.c, test-vasnprintf.c,
31736         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
31737         test-vfprintf-posix.c, test-vprintf-posix.c,
31738         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
31739         test-xvasprintf.c: Likewise.
31740
31741 2007-05-28  Bruno Haible  <bruno@clisp.org>
31742
31743         * gnulib-tool (func_import): Remember the --with-tests command-line
31744         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
31745         Reported by Eric Blake.
31746
31747 2007-05-28  Bruno Haible  <bruno@clisp.org>
31748
31749         * modules/ftell-tests: New file.
31750         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
31751         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
31752
31753         * lib/ftell.c: New file.
31754         * modules/ftell: New file.
31755         * m4/ftell.m4: New file.
31756         * doc/functions/ftell.texi: Update.
31757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
31758         REPLACE_FTELL.
31759         * lib/stdio_.h (rpl_ftell): New declaration.
31760         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
31761         REPLACE_FTELL.
31762
31763 2007-05-28  Eric Blake  <ebb9@byu.net>
31764
31765         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
31766
31767 2007-05-28  Bruno Haible  <bruno@clisp.org>
31768
31769         * modules/fseek-tests: New file.
31770         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
31771         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
31772
31773         * lib/fseek.c: New file.
31774         * modules/fseek: New file.
31775         * m4/fseek.m4: New file.
31776         * doc/functions/fseek.texi: Update.
31777         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
31778         REPLACE_FSEEK.
31779         * lib/stdio_.h (rpl_fseek): New declaration.
31780         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
31781         REPLACE_FSEEK.
31782
31783 2007-05-28  Bruno Haible  <bruno@clisp.org>
31784
31785         * lib/stdio_.h (fflush): More comments.
31786
31787 2007-05-28  Bruno Haible  <bruno@clisp.org>
31788
31789         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
31790         runtime test.
31791
31792 2007-05-28  Eric Blake  <ebb9@byu.net>
31793
31794         Improve lseek module.
31795         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
31796         * lib/unistd_.h (lseek): Scale back link warning message.
31797         * tests/test-lseek.c: Beef up test.
31798         * tests/test-lseek.sh: Exercise more facets of lseek.
31799         Reported by Bruno Haible.
31800
31801 2007-05-28  Bruno Haible  <bruno@clisp.org>
31802
31803         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
31804         to define.
31805
31806 2007-05-27  Bruno Haible  <bruno@clisp.org>
31807
31808         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
31809
31810 2007-05-27  Bruno Haible  <bruno@clisp.org>
31811
31812         * modules/openmp: New file.
31813         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
31814         Noah Misch.
31815
31816 2007-05-26  Bruno Haible  <bruno@clisp.org>
31817
31818         * modules/chdir-long (Depends-on): Add fchdir.
31819         * modules/chdir-safer (Depends-on): Likewise.
31820         * modules/fts (Depends-on): Likewise.
31821         * modules/fts-lgpl (Depends-on): Likewise.
31822         * modules/openat (Depends-on): Likewise.
31823         * modules/savewd (Depends-on): Likewise.
31824
31825 2007-05-24  Eric Blake  <ebb9@byu.net>
31826
31827         Fix lseek on mingw.
31828         * modules/lseek: New module.
31829         * m4/lseek.m4: New file.
31830         * lib/lseek.c: New file.
31831         * modules/lseek-tests: New file.
31832         * tests/test-lseek.c: New file.
31833         * tests/test-lseek.sh: New file.
31834         * MODULES.html.sh: Document lseek module.
31835         * modules/fflush (Depends-on): Add lseek, fseeko.
31836         * modules/fseeko (Depends-on): Likewise.
31837         * modules/ftello (Depends-on): Likewise.
31838         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
31839         broken.
31840         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
31841         broken.
31842         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
31843         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
31844         * lib/ftello.c (rpl_ftello): Likewise.
31845         * tests/test-fseeko.c (main): Test this.
31846         * tests/test-fseeko.sh: Likewise.
31847         * tests/test-ftello.c (main): Likewise.
31848         * tests/test-ftello.sh: Likewise.
31849         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
31850         implies replacing fseek.
31851         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
31852         HAVE_FTELLO.
31853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
31854         * modules/unistd (Makefile.am): Likewise.
31855         * lib/unistd_.h (lseek): Declare a replacement.
31856         * doc/functions/lseek.texi (lseek): Document this fix.
31857         * doc/functions/fseek.texi (fseek): Likewise.
31858         * doc/functions/ftell.texi (ftell): Likewise.
31859
31860 2007-05-24  Bruno Haible  <bruno@clisp.org>
31861
31862         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
31863         in the printed representation of a NaN.
31864         * tests/test-vasprintf-posix.c (test_function): Likewise.
31865         * tests/test-snprintf-posix.h (test_function): Likewise.
31866         * tests/test-sprintf-posix.h (test_function): Likewise.
31867         Reported by Eric Blake.
31868
31869 2007-05-23  Eric Blake  <ebb9@byu.net>
31870
31871         Fix fseeko/ftello on cygwin 1.5.24.
31872         * doc/functions/fseeko.texi (fseeko): Document the fix.
31873         * doc/functions/ftello.texi (ftello): Document the fix.
31874         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
31875         * doc/functions/stdout.text (stdout): New file.
31876         * doc/functions/stderr.text (stderr): New file.
31877         * doc/gnulib.texi (Function Substitutes): Use new files.
31878         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
31879         prior to 1.7.0.
31880         * tests/test-ftello.c (main): Likewise for ftello.
31881         * tests/test-fseeko.sh: New file.
31882         * tests/test-ftello.sh: New file.
31883         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
31884         with seekable stdin.
31885         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
31886         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
31887         (gl_REPLACE_FSEEKO): New macro.
31888         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
31889         * modules/fseeko (Files): Distribute fseeko.c.
31890         * modules/ftello (Files): Distribute ftello.c.
31891         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
31892         mode.
31893         * lib/ftello.c (rpl_ftello): New file.
31894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
31895         fseeko, ftello.
31896         (gl_STDIN_LARGE_OFFSET): New macro.
31897         * modules/stdio (Makefile.am): Perform the replacement.
31898         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
31899
31900 2007-05-23  Bruno Haible  <bruno@clisp.org>
31901
31902         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
31903         GNULIB_POSIXCHECK is defined.
31904
31905 2007-05-21  Bruno Haible  <bruno@clisp.org>
31906
31907         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
31908         Check also the output for NaN arguments. When cross-compiling, guess
31909         no on IRIX.
31910         * lib/vasnprintf.c: Update comments.
31911         * tests/test-vasnprintf-posix.c (strisnan): New function.
31912         (test_function): Use it.
31913         * tests/test-vasprintf-posix.c (strisnan): New function.
31914         (test_function): Use it.
31915         * tests/test-snprintf-posix.h (strisnan): New function.
31916         (test_function): Use it.
31917         * tests/test-sprintf-posix.h (strisnan): New function.
31918         (test_function): Use it.
31919         Reported by Eric Blake.
31920
31921 2007-05-20  Bruno Haible  <bruno@clisp.org>
31922
31923         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
31924         numbers that fails on BeOS.
31925         * doc/functions/frexpl.texi: Update.
31926
31927 2007-05-20  Jim Meyering  <jim@meyering.net>
31928
31929         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
31930         forced upon us by glibc-2.6.
31931
31932 2007-05-20  Bruno Haible  <bruno@clisp.org>
31933
31934         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
31935         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
31936         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
31937         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
31938         NEED_PRINTF_INFINITE.
31939         (is_infinitel): New function.
31940         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
31941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
31942         gl_PREREQ_VASNPRINTF_INFINITE.
31943         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
31944         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31945         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
31946         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
31947         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
31948         gl_PREREQ_VASNPRINTF_INFINITE.
31949         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31950         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31951         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31952         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31953         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31954         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31955         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31956         * doc/functions/fprintf.texi: Update.
31957         * doc/functions/printf.texi: Update.
31958         * doc/functions/snprintf.texi: Update.
31959         * doc/functions/sprintf.texi: Update.
31960         * doc/functions/vfprintf.texi: Update.
31961         * doc/functions/vprintf.texi: Update.
31962         * doc/functions/vsnprintf.texi: Update.
31963         * doc/functions/vsprintf.texi: Update.
31964
31965 2007-05-20  Bruno Haible  <bruno@clisp.org>
31966
31967         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
31968         was not found in libc.
31969         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31970
31971 2007-05-20  Bruno Haible  <bruno@clisp.org>
31972
31973         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
31974         printed as "-nan" instead of "nan".
31975         * tests/test-vasprintf-posix.c (test_function): Likewise.
31976         * tests/test-snprintf-posix.h (test_function): Likewise.
31977         * tests/test-sprintf-posix.h (test_function): Likewise.
31978         Needed for HP-UX 11.
31979
31980 2007-05-20  Jim Meyering  <jim@meyering.net>
31981
31982         Fix buggy test for the fchownat-deref bug.
31983         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
31984         symlink required for the run-test.  Without it, this test would
31985         always declare that fchownat doesn't work, and client code would
31986         unnecessarily use the replacement function with fixed libc.
31987         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
31988         Reported by Greg Schafer.
31989
31990 2007-05-19  Bruno Haible  <bruno@clisp.org>
31991
31992         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
31993         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
31994         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
31995         Needed for IRIX 6.5 and Solaris 2.5.1.
31996
31997 2007-05-19  Bruno Haible  <bruno@clisp.org>
31998
31999         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
32000         (test_function): Skip tests involving -0.0 on platforms where
32001         -0.0 = 0.0.
32002         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
32003         (test_function): Skip tests involving -0.0 on platforms where
32004         -0.0 = 0.0.
32005         * tests/test-snprintf-posix.h (have_minus_zero): New function.
32006         (test_function): Skip tests involving -0.0 on platforms where
32007         -0.0 = 0.0.
32008         * tests/test-sprintf-posix.h (have_minus_zero): New function.
32009         (test_function): Skip tests involving -0.0 on platforms where
32010         -0.0 = 0.0.
32011         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
32012         tests.
32013         * tests/test-printf-posix.h (test_function): Likewise.
32014         * tests/test-printf-posix.output: Remove all -0.0 related results.
32015         Needed for IRIX 6.5.
32016
32017 2007-05-19  Bruno Haible  <bruno@clisp.org>
32018
32019         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32020         printed as "nan0x7fffffff" instead of "nan".
32021         * tests/test-vasprintf-posix.c (test_function): Likewise.
32022         * tests/test-snprintf-posix.h (test_function): Likewise.
32023         * tests/test-sprintf-posix.h (test_function): Likewise.
32024         * tests/test-fprintf-posix.h (NaN): Remove macro.
32025         (test_function): Remove all NaN related tests.
32026         * tests/test-printf-posix.h (NaN): Remove macro.
32027         (test_function): Remove all NaN related tests.
32028         * tests/test-printf-posix.output: Remove all NaN related results.
32029         Needed for IRIX 6.5.
32030
32031 2007-05-19  Bruno Haible  <bruno@clisp.org>
32032
32033         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
32034         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
32035
32036 2007-05-19  Bruno Haible  <bruno@clisp.org>
32037
32038         * lib/float_.h: New file.
32039         * m4/float_h.m4: New file.
32040         * modules/float: New file.
32041         * modules/isnanl (Dependencies): Add float.
32042         * modules/isnanl-nolibm (Dependencies): Likewise.
32043         * modules/mathl (Dependencies): Likewise.
32044         * modules/printf-frexpl (Dependencies): Likewise.
32045         * modules/signbit (Dependencies): Likewise.
32046         * modules/vasnprintf (Dependencies): Likewise.
32047         * doc/headers/float.texi: Update.
32048
32049 2007-05-19  Jim Meyering  <jim@meyering.net>
32050
32051         * lib/utimens.c (gl_futimens): Rename from futimens,
32052         now that glibc-2.6 declares futimens.
32053         * lib/utimens.h: Likewise.
32054
32055 2007-05-19  Bruno Haible  <bruno@clisp.org>
32056
32057         Avoid test failures on mingw.
32058         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
32059         * tests/test-printf-posix.sh: Likewise.
32060         * tests/test-vfprintf-posix.sh: Likewise.
32061         * tests/test-vprintf-posix.sh: Likewise.
32062
32063 2007-05-19  Bruno Haible  <bruno@clisp.org>
32064
32065         Fix *printf result for NaN, Inf, -0.0 on mingw.
32066         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
32067         * lib/vasnprintf.c: Include math.h and isnan.h.
32068         (is_infinite_or_zero): New function.
32069         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
32070         values in the %f, %F, %e, %E, %g, %G directives.
32071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
32072         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32073         gl_PRINTF_INFINITE and test its result. Invoke
32074         gl_PREREQ_VASNPRINTF_INFINITE.
32075         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32076         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32077         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32079         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32081         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32082         * doc/functions/fprintf.texi: Update.
32083         * doc/functions/printf.texi: Update.
32084         * doc/functions/snprintf.texi: Update.
32085         * doc/functions/sprintf.texi: Update.
32086         * doc/functions/vfprintf.texi: Update.
32087         * doc/functions/vprintf.texi: Update.
32088         * doc/functions/vsnprintf.texi: Update.
32089         * doc/functions/vsprintf.texi: Update.
32090
32091 2007-05-19  Bruno Haible  <bruno@clisp.org>
32092
32093         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
32094         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
32095         Instead of multiplying with 10^k, set extra_zeroes to k.
32096         (scale10_round_long_double): Remove function.
32097
32098 2007-05-18  Bruno Haible  <bruno@clisp.org>
32099
32100         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
32101         introduced on 2007-05-06.
32102
32103 2007-05-18  Bruno Haible  <bruno@clisp.org>
32104
32105         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
32106         %g directives.
32107         * tests/test-vasprintf-posix.c (test_function): Likewise.
32108         * tests/test-snprintf-posix.h (test_function): Likewise.
32109         * tests/test-sprintf-posix.h (test_function): Likewise.
32110
32111 2007-05-18  Bruno Haible  <bruno@clisp.org>
32112
32113         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
32114         (strmatch): New function.
32115         (test_function): Test the %f directive on numbers of various exponents.
32116         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
32117         (strmatch): New function.
32118         (test_function): Test the %f directive on numbers of various exponents.
32119         * tests/test-snprintf-posix.h (strmatch): New function.
32120         (test_function): Test the %f directive on numbers of various exponents.
32121         * tests/test-sprintf-posix.h (strmatch): New function.
32122         (test_function): Test the %f directive on numbers of various exponents.
32123         * tests/test-snprintf-posix.c (SIZEOF): New macro.
32124         * tests/test-sprintf-posix.c (SIZEOF): New macro.
32125         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
32126         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
32127
32128 2007-05-18  Bruno Haible  <bruno@clisp.org>
32129
32130         Add support for 'long double' number output.
32131         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
32132         * lib/vasnprintf.c: Include math.h and float+.h.
32133         (mp_limb_t): New type.
32134         (GMP_LIMB_BITS): New macro.
32135         (mp_twolimb_t): New type.
32136         (GMP_TWOLIMB_BITS): New macro.
32137         (mpn_t): New type.
32138         (multiply, divide, convert_to_decimal, decode_long_double,
32139         scale10_round_long_double, scale10_round_decimal_long_double,
32140         floorlog10l): New functions.
32141         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
32142         for the %f, %F, %e, %E, %g, %G directives.
32143         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
32144         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32145         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
32146         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
32147         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32148         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32149         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32150         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32151         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32152         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32153         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32154         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
32155         * modules/snprintf-posix (Depends-on): Likewise.
32156         * modules/sprintf-posix (Depends-on): Likewise.
32157         * modules/vasnprintf-posix (Depends-on): Likewise.
32158         * modules/vasprintf-posix (Depends-on): Likewise.
32159         * modules/vfprintf-posix (Depends-on): Likewise.
32160         * modules/vsnprintf-posix (Depends-on): Likewise.
32161         * modules/vsprintf-posix (Depends-on): Likewise.
32162         * modules/vasnprintf (Files): Add lib/float+.h.
32163         * doc/functions/fprintf.texi: Update.
32164         * doc/functions/printf.texi: Update.
32165         * doc/functions/snprintf.texi: Update.
32166         * doc/functions/sprintf.texi: Update.
32167         * doc/functions/vfprintf.texi: Update.
32168         * doc/functions/vprintf.texi: Update.
32169         * doc/functions/vsnprintf.texi: Update.
32170         * doc/functions/vsprintf.texi: Update.
32171
32172 2007-05-18  Bruno Haible  <bruno@clisp.org>
32173
32174         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
32175
32176 2007-05-18  Bruno Haible  <bruno@clisp.org>
32177
32178         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
32179         for printing 64-bit integers. Needed for mingw.
32180
32181 2007-05-18  Bruno Haible  <bruno@clisp.org>
32182
32183         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32184         gl_FUNC_FREXPL_WORKS.
32185         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
32186
32187 2007-05-18  Bruno Haible  <bruno@clisp.org>
32188
32189         * modules/frexpl-nolibm-tests: New file.
32190
32191         * modules/frexpl-nolibm: New file.
32192         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
32193
32194 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
32195
32196         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
32197         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32198         GCC 4.2, which otherwise issues a lot of warnings.
32199         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
32200         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
32201         Likewise.
32202         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
32203         * modules/iconv_open (iconv.h): Likewise.
32204         * modules/locale (locale.h): Likewise.
32205         * modules/netinet_in (netinet/in.h): Likewise.
32206         * modules/sys_select (sys_select.h): Likewise.
32207         * modules/sys_socket (sys/socket.h): Likewise.
32208         * modules/sys_stat (sys/stat.h): Likewise.
32209         * modules/sysexits (sysexits.h): Likewise.
32210         * modules/unistd (unistd.h): Likewise.
32211
32212 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32213
32214         * modules/closein-tests (Makefile.am): Distribute
32215         `test-closein.sh'.
32216
32217 2007-05-17  Bruno Haible  <bruno@clisp.org>
32218
32219         * tests/test-printf-posix.output: Renamed from
32220         tests/test-fprintf-posix.out.
32221         * modules/fprintf-posix-tests: Update.
32222         * modules/printf-posix-tests: Update.
32223         * modules/vfprintf-posix-tests: Update.
32224         * modules/vprintf-posix-tests: Update.
32225         * tests/test-fprintf-posix.sh: Update.
32226         * tests/test-printf-posix.sh: Update.
32227         * tests/test-vfprintf-posix.sh: Update.
32228         * tests/test-vprintf-posix.sh: Update.
32229         Reported by Ralf Wildenhues.
32230
32231 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32232
32233         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
32234         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32235         GCC 4.2, which otherwise issues a lot of warnings.
32236         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
32237         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
32238         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
32239         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
32240         it should no longer be needed.
32241         * lib/string_.h: Likewise.
32242         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
32243         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
32244         * modules/inttypes (inttypes.h): Likewise.
32245         * modules/math (math.h): Likewise.
32246         * modules/search (search.h): Likewise.
32247         * modules/signal (signal.h): Likewise.
32248         * modules/stdint (stdint.h): Likewise.
32249         * modules/stdio (stdio.h): Likewise.
32250         * modules/stdlib (stdlib.h): Likewise.
32251         * modules/string (string.h): Likewise.
32252         * modules/sys_time (sys/time.h): Likewise.
32253         * modules/time (time.h): Likewise.
32254         * modules/wchar (wchar.h): Likewise.
32255         * modules/wctype (wtype.h): Likewise.
32256
32257 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32258
32259         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
32260
32261 2007-05-13  Bruno Haible  <bruno@clisp.org>
32262
32263         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
32264         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32265         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
32266         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
32267         (gl_PREREQ_STRTOK_R): Don't require it here.
32268
32269 2007-05-13  Bruno Haible  <bruno@clisp.org>
32270
32271         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
32272         when used in C++ mode.
32273
32274 2007-05-12  Bruno Haible  <bruno@clisp.org>
32275
32276         * lib/linebuffer.h: Tweak doc.
32277         * lib/linebuffer.c: Likewise.
32278
32279 2007-05-12  James Youngman  <jay@gnu.org>
32280
32281         * lib/linebuffer.c (readlinebuffer_delim): New function,
32282         like readlinebuffer, but use a caller-specified delimiter.
32283         (readlinebuffer): Just call readlinebuffer_delim with '\n'
32284         as the delimiter.
32285         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
32286
32287 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32288
32289         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
32290         * modules/openat (Files): Remove openat-die.c.
32291         (Depends-on): Add openat-die.
32292         * modules/openat-die: New module.
32293
32294 2007-05-06  Bruno Haible  <bruno@clisp.org>
32295
32296         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
32297         Update with info about Cygwin.
32298         * doc/functions/fprintf.texi: Update.
32299         * doc/functions/printf.texi: Update.
32300         * doc/functions/snprintf.texi: Update.
32301         * doc/functions/sprintf.texi: Update.
32302         * doc/functions/vfprintf.texi: Update.
32303         * doc/functions/vprintf.texi: Update.
32304         * doc/functions/vsnprintf.texi: Update.
32305         * doc/functions/vsprintf.texi: Update.
32306         Reported by Eric Blake.
32307
32308 2007-05-06  Bruno Haible  <bruno@clisp.org>
32309
32310         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
32311         padding ourselves for the floating-point directives.
32312         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
32313         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
32314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32315         gl_PRINTF_FLAG_ZERO and test its result. Invoke
32316         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
32317         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32318         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32319         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32320         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32321         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32322         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32323         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32324         * tests/test-snprintf-posix.h (test_function): Also check the width
32325         and some flags in the %f directive.
32326         * tests/test-sprintf-posix.h (test_function): Likewise.
32327         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32328         * tests/test-vasprintf-posix.c (test_function): Likewise.
32329         * doc/functions/fprintf.texi: Update.
32330         * doc/functions/printf.texi: Update.
32331         * doc/functions/snprintf.texi: Update.
32332         * doc/functions/sprintf.texi: Update.
32333         * doc/functions/vfprintf.texi: Update.
32334         * doc/functions/vprintf.texi: Update.
32335         * doc/functions/vsnprintf.texi: Update.
32336         * doc/functions/vsprintf.texi: Update.
32337
32338 2007-05-06  Bruno Haible  <bruno@clisp.org>
32339
32340         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
32341         pass the ' flag character to sprintf or snprintf.
32342         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
32343         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
32344         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32345         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
32346         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
32347         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32348         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32349         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32350         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32351         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32352         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32353         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32354         * tests/test-snprintf-posix.h (test_function): Also check the grouping
32355         flag.
32356         * tests/test-sprintf-posix.h (test_function): Likewise.
32357         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32358         * tests/test-vasprintf-posix.c (test_function): Likewise.
32359         * doc/functions/fprintf.texi: Update.
32360         * doc/functions/printf.texi: Update.
32361         * doc/functions/snprintf.texi: Update.
32362         * doc/functions/sprintf.texi: Update.
32363         * doc/functions/vfprintf.texi: Update.
32364         * doc/functions/vprintf.texi: Update.
32365         * doc/functions/vsnprintf.texi: Update.
32366         * doc/functions/vsprintf.texi: Update.
32367
32368 2007-05-01  Bruno Haible  <bruno@clisp.org>
32369
32370         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
32371
32372 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
32373
32374         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
32375         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
32376
32377 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32378
32379         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
32380         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
32381         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
32382
32383 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
32384
32385         * lib/argp-help.c (struct hol_entry): New member `ord'.
32386         (HOL_ENTRY_PTRCMP): Use ord for comparison
32387         (hol_sort): Initialize ord.
32388
32389 2007-05-01  Bruno Haible  <bruno@clisp.org>
32390
32391         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
32392         Reported by Eric Blake.
32393         * doc/gnulib.texi (Function Substitutes): Update.
32394
32395 2007-05-01  Bruno Haible  <bruno@clisp.org>
32396
32397         * doc/functions.texi: Remove file, now redundant through
32398         doc/functions/*.texi.
32399
32400 2007-05-01  Bruno Haible  <bruno@clisp.org>
32401
32402         * modules/argp (Depends-on): Add sleep.
32403
32404 2007-05-01  Bruno Haible  <bruno@clisp.org>
32405
32406         * modules/sleep-tests: New file.
32407         * tests/test-sleep.c: New file.
32408
32409         * modules/sleep: New file.
32410         * lib/sleep.c: New file.
32411         * m4/sleep.m4: New file.
32412         * lib/unistd_.h (sleep): New declaration.
32413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
32414         HAVE_SLEEP.
32415         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
32416         * doc/functions/sleep.texi: Document the sleep module.
32417
32418 2007-05-01  Bruno Haible  <bruno@clisp.org>
32419
32420         * lib/sigprocmask.h: Remove file.
32421         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
32422         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
32423         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
32424         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
32425         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
32426         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
32427         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
32428         HAVE_SIGSET_T as a shell variable.
32429         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
32430         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
32431         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
32432         (Depends-on): Add signal. Remove verify.
32433         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
32434         (Include): Mention <signal.h> instead of sigprocmask.h.
32435         * NEWS: Mention the change.
32436         * lib/fatal-signal.c: Don't include sigprocmask.h.
32437
32438 2007-05-01  Bruno Haible  <bruno@clisp.org>
32439
32440         * modules/signal: New file.
32441         * lib/signal_.h: New file.
32442         * m4/signal_h.m4: New file.
32443
32444 2007-05-01  Bruno Haible  <bruno@clisp.org>
32445
32446         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
32447         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
32448         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
32449         HAVE_WCTYPE_CTMP_BUG into wctype.h.
32450
32451 2007-05-01  Bruno Haible  <bruno@clisp.org>
32452
32453         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
32454         configure time.
32455         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
32456         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
32457         * modules/sys_stat (Makefile.am): Substitute their values into
32458         sys/stat.h.
32459
32460 2007-05-01  Bruno Haible  <bruno@clisp.org>
32461
32462         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
32463         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
32464         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
32465
32466 2007-05-01  Bruno Haible  <bruno@clisp.org>
32467
32468         * doc/header/assert.texi: Undo last change: don't mention the gnulib
32469         'assert' module here.
32470
32471 2007-05-01  Bruno Haible  <bruno@clisp.org>
32472
32473         * doc/functions/*.texi: New files.
32474         * doc/functions/google-ranking.txt: New file.
32475         * doc/gnulib.texi (Function Substitutes): New chapter.
32476         (ctime, inet_ntoa): Remove sections.
32477         * doc/ctime.texi: Remove file.
32478         * doc/inet_ntoa.texi: Remove file.
32479         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
32480         dependencies.
32481         (%.info): New rule, specifying a --reference-limit.
32482
32483 2007-05-01  Bruno Haible  <bruno@clisp.org>
32484
32485         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
32486
32487 2007-05-01  Bruno Haible  <bruno@clisp.org>
32488
32489         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
32490         the portability of 'mkdir' to mingw systems.
32491
32492 2007-05-01  Bruno Haible  <bruno@clisp.org>
32493
32494         * doc/headers/google-ranking.txt: New file.
32495
32496 2007-04-30  Eric Blake  <ebb9@byu.net>
32497
32498         Prefer fseeko to fseek.
32499         * modules/getpass (Depends-on): Add fseeko.
32500         * lib/getpass.c (getpass): Use fseeko, not fseek.
32501
32502 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
32503
32504         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
32505         assumes the sorting is stable, while most qsort implementations
32506         are not.  Use argument addresses to ensure they never compare as
32507         equal.
32508
32509         * tests/test-argp-2.sh (usage-indent test): Fix output
32510         (func_compare): Restore diff options
32511         * tests/test-argp.c: Restore #include "progname.h"
32512
32513 2007-04-29  Bruno Haible  <bruno@clisp.org>
32514
32515         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
32516         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32517         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
32518         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32519         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
32520         (configure.ac): Define CHECK_SNPRINTF_POSIX.
32521         (TESTS, check_PROGRAMS): Add test-snprintf.
32522         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
32523         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
32524         (TESTS, check_PROGRAMS): Add test-vsnprintf.
32525         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
32526         assertions that fail on HP-UX, OSF/1, or IRIX.
32527         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
32528
32529 2007-04-29  Bruno Haible  <bruno@clisp.org>
32530
32531         * MODULES.html.sh (posix_functions): Remove 'contents'.
32532
32533 2007-04-29  Karl Berry  <karl@gnu.org>
32534
32535         * config/srclist.txt (gendocs_template_min): new entry.
32536
32537 2007-04-29  Bruno Haible  <bruno@clisp.org>
32538
32539         Work around fpurge bug on BSD systems.
32540         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
32541         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
32542         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
32543         fpurge to rpl_fpurge if the system already has this function.
32544         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
32545         the case where the system already has this function. Correct invariants
32546         on BSD systems.
32547         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
32548         BSD systems.
32549
32550 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32551
32552         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
32553         proposed by Sven Verdoolaege.
32554
32555         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
32556         options.
32557         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
32558         (usage and help tests): Update
32559
32560 2007-04-29  Bruno Haible  <bruno@clisp.org>
32561
32562         * tests/test-fflush.c (main): Use a file of size 17, not 10.
32563         Print more information in case of failure. Disable a test on BeOS.
32564
32565 2007-04-29  Bruno Haible  <bruno@clisp.org>
32566
32567         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
32568         This helps debugging on systems on which no gdb is available.
32569
32570 2007-04-29  Bruno Haible  <bruno@clisp.org>
32571
32572         * lib/freading.h: Improve comments.
32573         * lib/fwriting.h: Likewise.
32574         * tests/test-freading.c (main): Don't check freading immediately after
32575         repositioning. Needed for glibc.
32576
32577 2007-04-29  Bruno Haible  <bruno@clisp.org>
32578
32579         * lib/freading.c (freading): Trivial simplification.
32580
32581 2007-04-28  Bruno Haible  <bruno@clisp.org>
32582
32583         * tests/test-fwriting.c (main): Also test the interaction between
32584         fflush and fwriting.
32585         * modules/fwriting-tests (Depends-on): Add fflush.
32586
32587         * tests/test-freading.c (main): Also test the interaction between
32588         fflush and freading.
32589         * modules/freading-tests (Depends-on): Add fflush.
32590
32591 2007-04-28  Bruno Haible  <bruno@clisp.org>
32592
32593         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
32594         fseeko and ftello.
32595         Suggested by Eric Blake.
32596
32597 2007-04-28  Jim Meyering  <jim@meyering.net>
32598
32599         Avoid false-negative in gl_STDINT_H's C99 conformance test.
32600         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
32601         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
32602
32603 2007-04-27  Eric Blake  <ebb9@byu.net>
32604
32605         * doc/headers/assert.texi (assert.h): Document assert module use.
32606
32607 2007-04-27  Bruno Haible  <bruno@clisp.org>
32608
32609         * doc/headers/*.texi: New files.
32610         * doc/gnulib.texi (Header File Substitutes): New chapter.
32611         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
32612         dependencies.
32613         (standards.info ,standards.html, standards.dvi): Update dependencies.
32614         (mostlyclean, clean): New targets.
32615
32616 2007-04-27  Bruno Haible  <bruno@clisp.org>
32617
32618         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
32619         * modules/sysexits (Files, Makefile.am): Update.
32620
32621         * lib/sys_socket_.h: Renamed from lib/socket_.h.
32622         * modules/sys_socket (Files, Makefile.am): Update.
32623
32624         * lib/sys_stat_.h: Renamed from lib/stat_.h.
32625         * modules/sys_stat (Files, Makefile.am): Update.
32626
32627 2007-04-27  Eric Blake  <ebb9@byu.net>
32628
32629         * lib/freading.h: Improve comments.
32630         * lib/fwriting.h: Likewise.
32631         * lib/fflush.c: Likewise.
32632
32633         Fix closein for mingw.
32634         * modules/closein-tests: Add tests for closein.
32635         * tests/test-closein.c: New file.
32636         * tests/test-closein.sh: Likewise.
32637         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
32638         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
32639
32640 2007-04-27  Bruno Haible  <bruno@clisp.org>
32641
32642         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
32643         version is < 6.
32644         * lib/math_.h [__DECC]: Likewise.
32645         * lib/stdio_.h [__DECC]: Likewise.
32646         * lib/stdlib_.h [__DECC]: Likewise.
32647         * lib/string_.h [__DECC]: Likewise.
32648         * lib/time_.h [__DECC]: Likewise.
32649         * lib/wchar_.h [__DECC]: Likewise.
32650         * lib/wctype_.h [__DECC]: Likewise.
32651
32652 2007-04-27  Bruno Haible  <bruno@clisp.org>
32653
32654         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
32655
32656 2007-04-27  Bruno Haible  <bruno@clisp.org>
32657
32658         * lib/fflush.c: Add comments.
32659         * modules/fpurge-tests (Depends-on): Add fflush.
32660         * modules/freadable-tests (Depends-on): Likewise.
32661         * modules/fwritable-tests (Depends-on): Likewise.
32662
32663 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
32664
32665         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
32666         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
32667         Report by Bruno Haible <bruno@clisp.org>.
32668
32669 2007-04-26  Eric Blake  <ebb9@byu.net>
32670
32671         Fix fflush on mingw.
32672         * modules/fflush (Depends-on): Add freading.
32673         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
32674         but unread data.
32675
32676 2007-04-26  Eric Blake  <ebb9@byu.net>
32677         and Bruno Haible  <bruno@clisp.org>
32678
32679         Implement freading and fwriting.
32680         * lib/freading.c: New file.
32681         * lib/freading.h: Likewise.
32682         * m4/freading.m4: Likewise.
32683         * modules/freading: Likewise.
32684         * modules/freading-tests: Likewise.
32685         * tests/test-freading.c: Likewise.
32686         * lib/fwriting.c: New file.
32687         * lib/fwriting.h: Likewise.
32688         * m4/fwriting.m4: Likewise.
32689         * modules/fwriting: Likewise.
32690         * modules/fwriting-tests: Likewise.
32691         * tests/test-fwriting.c: Likewise.
32692         * MODULES.html.sh (File stream based Input/Output): Mention them.
32693
32694 2007-04-26  Bruno Haible  <bruno@clisp.org>
32695
32696         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
32697         'long' when we assume it.
32698         Suggested by Eric Blake.
32699
32700 2007-04-26  Bruno Haible  <bruno@clisp.org>
32701
32702         Ensure fseeko, ftello are declared on glibc systems.
32703         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
32704         * modules/fseeko (configure.ac-early): Likewise.
32705         * modules/ftello (configure.ac-early): Likewise.
32706         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
32707         AC_FUNC_FSEEKO for this.
32708         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
32709         (gl_CHECK_FSEEKO): Remove macro.
32710
32711 2007-04-26  Bruno Haible  <bruno@clisp.org>
32712
32713         * tests/test-fflush.c (main): Also check the ftell result after
32714         fflush and fseek/fseeko.
32715         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
32716         file descriptor position cache in the stream.
32717         * lib/fseeko.c (rpl_fseeko): Likewise.
32718
32719 2007-04-26  Bruno Haible  <bruno@clisp.org>
32720
32721         * modules/fflush-tests (Depends-on): Add fseeko.
32722
32723 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
32724             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32725
32726         * lib/argz_.h: ensure error_t definition is obtained in same
32727         mechanism system argz.h would have.
32728         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
32729         argz facilities are known bad.  Err on the side of caution if
32730         cross-compiling.
32731
32732 2007-04-25  Eric Blake  <ebb9@byu.net>
32733
32734         * lib/fpurge.c (includes): Use stdlib.h for free.
32735         * tests/test-fflush.c (main): Also test fflush-fseeko.
32736
32737 2007-04-25  Bruno Haible  <bruno@clisp.org>
32738
32739         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
32740         * lib/fseeko.c: New file.
32741         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
32742         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
32743         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
32744         gl_FUNC_FSEEKO.
32745         (gl_FUNC_FSEEKO): Invoke it.
32746         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
32747         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
32748         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
32749
32750 2007-04-25  Bruno Haible  <bruno@clisp.org>
32751
32752         * modules/fflush (Depends-on): Add ftello.
32753
32754 2007-04-25  Bruno Haible  <bruno@clisp.org>
32755
32756         * modules/ftello-tests: New file.
32757         * tests/test-ftello.c: New file.
32758
32759         * modules/ftello: New file.
32760         * m4/ftello.m4: New file.
32761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
32762         HAVE_FTELLO.
32763         * lib/stdio_.h (ftello): New declaration.
32764         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
32765         HAVE_FTELLO.
32766
32767 2007-04-25  Bruno Haible  <bruno@clisp.org>
32768
32769         * modules/fseeko-tests: New file.
32770         * tests/test-fseeko.c: New file.
32771
32772         * modules/fseeko: New file.
32773         * m4/fseeko.m4: New file.
32774         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
32775         HAVE_FSEEKO.
32776         * lib/stdio_.h (fseeko): New declaration.
32777         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
32778         HAVE_FSEEKO.
32779
32780 2007-04-25  Bruno Haible  <bruno@clisp.org>
32781
32782         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
32783
32784 2007-04-25  Bruno Haible  <bruno@clisp.org>
32785
32786         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
32787         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
32788         * tests/test-unistd.c: Likewise.
32789         * tests/test-fcntl.c: Likewise.
32790
32791 2007-04-23  Eric Blake  <ebb9@byu.net>
32792
32793         * lib/fflush.c: Fix missing include.
32794         Reported by Bruno Haible.
32795
32796 2007-04-23  Bruno Haible  <bruno@clisp.org>
32797
32798         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
32799         Reported by Eric Blake.
32800
32801 2007-04-23  Bruno Haible  <bruno@clisp.org>
32802
32803         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
32804
32805 2007-04-23  Bruno Haible  <bruno@clisp.org>
32806
32807         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
32808
32809 2007-04-23  Bruno Haible  <bruno@clisp.org>
32810
32811         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
32812         Needed on HP-UX 11.
32813
32814 2007-04-16  Eric Blake  <ebb9@byu.net>
32815
32816         Make fflush rely on fpurge.
32817         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
32818         open coding all variants.
32819         * modules/fflush (Depends-on): Add fpurge and unistd.
32820         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
32821         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
32822
32823         Fix --with-tests compilation on cygwin.
32824         * modules/argmatch-tests (Makefile.am): List gnulib library first
32825         in LDADD.
32826         * modules/argp-tests (Makefile.am): Likewise.
32827         * modules/array-list-tests (Makefile.am): Likewise.
32828         * modules/array-oset-tests (Makefile.am): Likewise.
32829         * modules/avltree-list-tests (Makefile.am): Likewise.
32830         * modules/avltree-oset-tests (Makefile.am): Likewise.
32831         * modules/avltreehash-list-tests (Makefile.am): Likewise.
32832         * modules/carray-list-tests (Makefile.am): Likewise.
32833         * modules/dirname-tests (Makefile.am): Likewise.
32834         * modules/frexp-tests (Makefile.am): Likewise.
32835         * modules/isnanl-tests (Makefile.am): Likewise.
32836         * modules/linked-list-tests (Makefile.am): Likewise.
32837         * modules/linkedhash-list-tests (Makefile.am): Likewise.
32838         * modules/lock-tests (Makefile.am): Likewise.
32839         * modules/rbtree-list-tests (Makefile.am): Likewise.
32840         * modules/rbtree-oset-tests (Makefile.am): Likewise.
32841         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
32842         * modules/tls-tests (Makefile.am): Likewise.
32843         * modules/tsearch-tests (Makefile.am): Likewise.
32844         * modules/xvasprintf-tests (Makefile.am): Likewise.
32845
32846         Fix fpurge for cygwin.
32847         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
32848         value.
32849         * modules/fpurge-tests (Depends-on): Clean up trash.
32850
32851 2007-04-16  Simon Josefsson  <simon@josefsson.org>
32852
32853         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
32854
32855         * m4/autobuild.m4: Re-indent.
32856
32857 2007-04-13  Bruno Haible  <bruno@clisp.org>
32858
32859         * modules/fpurge-tests: New file.
32860         * tests/test-fpurge.c: New file.
32861
32862         * modules/fpurge: New file.
32863         * lib/fpurge.h: New file.
32864         * lib/fpurge.c: New file.
32865         * m4/fpurge.m4: New file.
32866
32867 2007-04-13  Bruno Haible  <bruno@clisp.org>
32868
32869         * modules/fbufmode-tests: New file.
32870         * tests/test-fbufmode.c: New file.
32871
32872         * modules/fbufmode: New file.
32873         * lib/fbufmode.h: New file.
32874         * lib/fbufmode.c: New file.
32875         * m4/fbufmode.m4: New file.
32876
32877 2007-04-13  Bruno Haible  <bruno@clisp.org>
32878
32879         * modules/fwritable-tests: New file.
32880         * tests/test-fwritable.c: New file.
32881
32882         * modules/fwritable: New file.
32883         * lib/fwritable.h: New file.
32884         * lib/fwritable.c: New file.
32885         * m4/fwritable.m4: New file.
32886
32887 2007-04-13  Bruno Haible  <bruno@clisp.org>
32888
32889         * modules/freadable-tests: New file.
32890         * tests/test-freadable.c: New file.
32891
32892         * modules/freadable: New file.
32893         * lib/freadable.h: New file.
32894         * lib/freadable.c: New file.
32895         * m4/freadable.m4: New file.
32896
32897 2007-04-13  Bruno Haible  <bruno@clisp.org>
32898
32899         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
32900         MOSTLYCLEANFILES.
32901
32902 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
32903
32904         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
32905         gzip bootstrap.conf to avoid dragging in i18n machinery.
32906         (gnulib_tool_option): Use it.
32907
32908 2007-04-13  Bruno Haible  <bruno@clisp.org>
32909
32910         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
32911         %F directives.
32912         * tests/test-vasprintf-posix.c (test_function): Likewise.
32913         * tests/test-snprintf-posix.h (test_function): Likewise.
32914         * tests/test-sprintf-posix.h (test_function): Likewise.
32915         * tests/test-fprintf-posix.h (test_function): Likewise.
32916         * tests/test-printf-posix.h (test_function): Likewise.
32917         * tests/test-fprintf-posix.out: Likewise.
32918
32919 2007-04-13  Bruno Haible  <bruno@clisp.org>
32920
32921         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
32922         * modules/tls-tests (configure.ac): Likewise.
32923         Reported by Arto C. Nirkko <anirkko@insel.ch>.
32924
32925 2007-04-13  Bruno Haible  <bruno@clisp.org>
32926
32927         * lib/tls.c (glthread_tls_get): Fix return type.
32928         Patch by Arto C. Nirkko <anirkko@insel.ch>.
32929
32930 2007-04-12  Eric Blake  <ebb9@byu.net>
32931
32932         * modules/gettime (Depends-on): Remove gettime.
32933         Reported by Dmitry V. Levin.
32934
32935 2007-04-12  Bruno Haible  <bruno@clisp.org>
32936
32937         * modules/fflush (Include): Mention <stdio.h>.
32938         * modules/strtoimax (Include): Mention <inttypes.h>.
32939         * modules/strtoumax (Include): Likewise.
32940
32941 2007-04-12  Eric Blake  <ebb9@byu.net>
32942
32943         * .cvsignore: New file.
32944         * .gitignore: Likewise.
32945
32946 2007-04-12  Bruno Haible  <bruno@clisp.org>
32947
32948         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
32949         not before, since $(LDADD) often contains libgnu.a.
32950         * modules/striconv-tests (test_striconv_LDADD): Likewise.
32951         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
32952         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
32953         Needed on Cygwin.
32954
32955 2007-04-12  Eric Blake  <ebb9@byu.net>
32956
32957         Work around glibc's failure to flush stdin on fclose.
32958         * lib/closein.c (close_stdin): Flush stdin before closing.
32959
32960         Work around glibc's failure to reset seekable stdin on exit.
32961         * modules/closein: New module.
32962         * lib/closein.c: New file.
32963         * lib/closein.h: Likewise.
32964         * m4/closein.m4: Likewise.
32965         * MODULES.html.sh (File stream based Input/Output): Document it.
32966
32967 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32968
32969         * gnulib-tool: Rename generated 'autobuild' script to
32970         'do-autobuild' in --create-megatestdir output.
32971
32972         * doc/gnulib.texi (Build robot for gnulib): Fix.
32973
32974 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32975
32976         * modules/sysexits (Depends-on): Add absolute-header.
32977
32978 2007-04-12  Eric Blake  <ebb9@byu.net>
32979
32980         No need to preserve errno on success.
32981         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
32982         Reported by Bruno Haible.
32983
32984 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32985
32986         * MODULES.html.sh (Support for maintaining and releasing
32987         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
32988
32989 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32990
32991         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
32992
32993 2007-04-12  Simon Josefsson  <simon@josefsson.org>
32994
32995         * modules/autobuild: New module.
32996
32997         * m4/autobuild.m4: New file.
32998
32999 2007-04-11  Bruno Haible  <bruno@clisp.org>
33000
33001         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
33002         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
33003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
33004         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
33005         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33006         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33007         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33008         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33009         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33010         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33011         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
33012         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33013         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33014         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
33015         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33016         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33017         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
33018         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33019         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33020         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
33021         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33022         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
33024         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33025         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33026         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
33027         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33028         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33029         Reported by Eric Blake.
33030
33031 2007-04-11  Bruno Haible  <bruno@clisp.org>
33032
33033         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
33034
33035 2007-04-10  Bruno Haible  <bruno@clisp.org>
33036
33037         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
33038         for NaN and Infinity. Needed on FreeBSD 6.1.
33039         * tests/test-vasnprintf-posix.c (test_function): Undo last change
33040         regarding results for "%010a" of Infinity and NaN.
33041         * tests/test-vasprintf-posix.c (test_function): Likewise.
33042         * tests/test-snprintf-posix.h (test_function): Likewise.
33043         * tests/test-sprintf-posix.h (test_function): Likewise.
33044         * tests/test-fprintf-posix.h (test_function): Likewise.
33045         * tests/test-printf-posix.h (test_function): Likewise.
33046         * tests/test-fprintf-posix.out: Likewise.
33047
33048 2007-04-10  Bruno Haible  <bruno@clisp.org>
33049
33050         * modules/locale-tests: New file.
33051         * tests/test-locale.c: New file.
33052
33053         * modules/locale: New file.
33054         * lib/locale_.h: New file.
33055         * m4/locale_h.m4: New file.
33056
33057 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
33058             Bruno Haible  <bruno@clisp.org>
33059
33060         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
33061         be determined, test for availability of the copysignf, copysign,
33062         copysignl functions.
33063         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
33064         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
33065         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
33066
33067 2007-04-09  Eric Blake  <ebb9@byu.net>
33068
33069         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
33070         * modules/stdio (Makefile.am): Support fflush.
33071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33072         * modules/fflush: New file.
33073         * lib/fflush.c: Likewise.
33074         * m4/fflush.m4: Likewise.
33075         * modules/fflush-tests: New test.
33076         * tests/test-fflush.c: Likewise.
33077         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
33078
33079 2007-04-06  Bruno Haible  <bruno@clisp.org>
33080
33081         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
33082         (VASNPRINTF): Use signbit for faster determination whether to print a
33083         minus sign.
33084         * modules/vasnprintf (Files): Remove lib/float+.h.
33085         * modules/fprintf-posix (Depends-on): Add signbit.
33086         * modules/snprintf-posix (Depends-on): Likewise.
33087         * modules/sprintf-posix (Depends-on): Likewise.
33088         * modules/vasnprintf-posix (Depends-on): Likewise.
33089         * modules/vasprintf-posix (Depends-on): Likewise.
33090         * modules/vfprintf-posix (Depends-on): Likewise.
33091         * modules/vsnprintf-posix (Depends-on): Likewise.
33092         * modules/vsprintf-posix (Depends-on): Likewise.
33093
33094 2007-04-06  Bruno Haible  <bruno@clisp.org>
33095
33096         * tests/test-frexp.c (main): Test also the sign bit of zero results.
33097         * tests/test-frexpl.c (main): Likewise.
33098         * tests/test-ldexpl.c (main): Likewise.
33099         * modules/frexp-tests (Depends-on): Add signbit.
33100         * modules/frexpl-tests (Depdends-on): Likewise.
33101         * modules/ldexpl-tests (Depdends-on): Likewise.
33102
33103 2007-04-06  Bruno Haible  <bruno@clisp.org>
33104
33105         * modules/signbit-tests: New file.
33106         * tests/test-signbit.c: New file.
33107
33108         * modules/signbit: New file.
33109         * lib/signbitf.c: New file.
33110         * lib/signbitd.c: New file.
33111         * lib/signbitl.c: New file.
33112         * m4/signbit.m4: New file.
33113         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
33114         (signbit): New macro.
33115         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
33116         REPLACE_SIGNBIT.
33117         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
33118         REPLACE_FREXPL into math.h.
33119
33120 2007-04-06  Bruno Haible  <bruno@clisp.org>
33121
33122         * modules/isnanf-nolibm-tests: New file.
33123         * tests/test-isnanf.c: New file.
33124
33125         * modules/isnanf-nolibm: New file.
33126         * lib/isnanf.h: New file.
33127         * lib/isnanf.c: New file.
33128         * lib/isnan.c: Consider the USE_FLOAT macro.
33129         * m4/isnanf.m4: New file.
33130
33131 2007-04-06  Bruno Haible  <bruno@clisp.org>
33132
33133         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
33134         (Link): New section.
33135
33136         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
33137
33138 2007-04-06  Bruno Haible  <bruno@clisp.org>
33139
33140         Assume the 'long double' type.
33141         * m4/longdouble.m4: Remove file.
33142         * config/srclist.txt: Don't mention longdouble.m4.
33143         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
33144         * lib/float+.h: Likewise.
33145         * lib/frexp.c: Likewise.
33146         * lib/printf-args.h: Likewise.
33147         * lib/printf-args.c: Likewise.
33148         * lib/printf-frexp.c: Likewise.
33149         * lib/printf-parse.c: Likewise.
33150         * lib/vasnprintf.c: Likewise.
33151         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
33152         * m4/intl.m4: Likewise.
33153         * m4/isnanl.m4: Likewise.
33154         * m4/printf.m4: Likewise.
33155         * m4/printf-frexpl.m4: Likewise.
33156         * m4/vasnprintf.m4: Likewise.
33157         * modules/allocsa (Files): Remove m4/longdouble.m4.
33158         * modules/gettext (Files): Likewise.
33159         * modules/relocatable-prog-wrapper (Files): Likewise.
33160         * modules/vasnprintf (Files): Likewise.
33161         * modules/isnanl (Files): Likewise.
33162         (Include): Simplify.
33163         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
33164         (Include): Simplify.
33165         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
33166         (Include): Simplify.
33167         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
33168         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33169         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
33170         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33171         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33172         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33173         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
33174         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33175         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33176         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33177         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
33178         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33179         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
33180         * tests/test-isnanl.c: Likewise.
33181         * tests/test-snprintf-posix.h: Likewise.
33182         * tests/test-sprintf-posix.h: Likewise.
33183         * tests/test-vasnprintf-posix.c: Likewise.
33184         * tests/test-vasnprintf-posix2.c: Likewise.
33185         * tests/test-vasprintf-posix.c: Likewise.
33186
33187 2007-04-06  Bruno Haible  <bruno@clisp.org>
33188
33189         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
33190         * lib/math_.h [__DECC]: Include the overridden include file through
33191         #include_next, outside the double-inclusion guard.
33192         * lib/stdio_.h [__DECC]: Likewise.
33193         * lib/stdlib_.h [__DECC]: Likewise.
33194         * lib/string_.h [__DECC]: Likewise.
33195         * lib/time_.h [__DECC]: Likewise.
33196         * lib/wchar_.h [__DECC]: Likewise.
33197         * lib/wctype_.h [__DECC]: Likewise.
33198         * lib/inttypes_.h [__DECC]: Likewise.
33199         Reported by Albert Chin <china@thewrittenword.com> in
33200         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
33201
33202 2007-04-04  Eric Blake  <ebb9@byu.net>
33203
33204         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
33205         1.5.x.
33206
33207 2007-04-04  Bruno Haible  <bruno@clisp.org>
33208
33209         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
33210         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
33211
33212 2007-04-04  Bruno Haible  <bruno@clisp.org>
33213
33214         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
33215         results for "%010a" of Infinity and NaN.
33216         * tests/test-vasprintf-posix.c (test_function): Likewise.
33217         * tests/test-snprintf-posix.h (test_function): Likewise.
33218         * tests/test-sprintf-posix.h (test_function): Likewise.
33219         * tests/test-fprintf-posix.h (test_function): Remove these tests.
33220         * tests/test-printf-posix.h (test_function): Likewise.
33221         * tests/test-fprintf-posix.out: Update.
33222         Needed for FreeBSD 6.1.
33223
33224 2007-04-04  Bruno Haible  <bruno@clisp.org>
33225
33226         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
33227         directly used by the gnulib modules nor by gnulib-tool.
33228
33229 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33230
33231         * DEPENDENCIES: Give overall description of version dependency
33232         desirability.  Use more-typical names for apps.
33233         Add shell, coreutils, diffutils, grep, tar, gzip.
33234
33235 2007-04-04  Simon Josefsson  <simon@josefsson.org>
33236
33237         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
33238
33239 2007-04-04  Karl Berry  <karl@gnu.org>
33240
33241         * MODULES.html.sh (func_module): missing '.
33242
33243 2007-04-03  Bruno Haible  <bruno@clisp.org>
33244
33245         * modules/argmatch-tests (Makefile.am): New variable
33246         test_argmatch_LDADD.
33247         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
33248         * modules/array-list-tests (Makefile.am): New variable
33249         test_array_list_LDADD.
33250         * modules/array-oset-tests (Makefile.am): New variable
33251         test_array_oset_LDADD.
33252         * modules/avltree-list-tests (Makefile.am): New variable
33253         test_avltree_list_LDADD.
33254         * modules/avltree-oset-tests (Makefile.am): New variable
33255         test_avltree_oset_LDADD.
33256         * modules/avltreehash-list-tests (Makefile.am): New variable
33257         test_avltreehash_list_LDADD.
33258         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
33259         test_canonicalize_lgpl_LDADD.
33260         * modules/carray-list-tests (Makefile.am): New variable
33261         test_carray_list_LDADD.
33262         * modules/dirname-tests (Makefile.am): New variable
33263         test_dirname_LDADD.
33264         * modules/linked-list-tests (Makefile.am): New variable
33265         test_linked_list_LDADD.
33266         * modules/linkedhash-list-tests (Makefile.am): New variable
33267         test_linkedhash_list_LDADD.
33268         * modules/rbtree-list-tests (Makefile.am): New variable
33269         test_rbtree_list_LDADD.
33270         * modules/rbtree-oset-tests (Makefile.am): New variable
33271         test_rbtree_oset_LDADD.
33272         * modules/rbtreehash-list-tests (Makefile.am): New variable
33273         test_rbtreehash_list_LDADD.
33274         * modules/xvasprintf-tests (Makefile.am): New variable
33275         test_xvasprintf_LDADD.
33276         Reported by Eric Blake.
33277
33278 2007-04-03  Eric Blake  <ebb9@byu.net>
33279
33280         * DEPENDENCIES: Weaken m4 requirements.
33281
33282 2007-04-03  Bruno Haible  <bruno@clisp.org>
33283
33284         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
33285         * modules/isnanl-tests (configure.ac): Likewise.
33286
33287 2007-04-03  Ben Pfaff  <blp@gnu.org>
33288
33289         * modules/iconv_open: Add $(srcdir)/ to source directory
33290         references in Makefile fragments that call gperf, to fix VPATH
33291         builds.
33292
33293 2007-04-03  Bruno Haible  <bruno@clisp.org>
33294
33295         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
33296         * lib/ldexpl.c: Undo last change.
33297
33298 2007-04-03  Bruno Haible  <bruno@clisp.org>
33299
33300         * modules/printf-frexpl (Depends-on): Undo last change.
33301         (Files): Add m4/ldexpl.m4.
33302
33303 2007-04-03  Bruno Haible  <bruno@clisp.org>
33304
33305         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
33306         * modules/isnanl (Link): New section.
33307
33308         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
33309         * modules/frexp (Link): New section.
33310
33311         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
33312         * modules/frexpl (Link): New section.
33313
33314         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
33315         * modules/ldexpl (Link): New section.
33316
33317 2007-04-03  Bruno Haible  <bruno@clisp.org>
33318
33319         * modules/TEMPLATE-EXTENDED: New file.
33320         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
33321
33322 2007-04-03  Bruno Haible  <bruno@clisp.org>
33323
33324         * DEPENDENCIES: New file.
33325         Suggested by Simon Josefsson.
33326
33327 2007-04-03  Bruno Haible  <bruno@clisp.org>
33328
33329         * doc/gnulib.texi: Escape @.
33330
33331 2007-04-03  James Youngman  <jay@gnu.org>
33332         and Paul Eggert  <eggert@cs.ucla.edu>
33333
33334         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
33335         birthtime on all systems that have birthtime, not just those which
33336         use st_birthtimensec rather than st_birthtim.  Putting zero in
33337         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
33338         that the birth time is not available for files on an NFS mount.
33339
33340 2007-04-03  Simon Josefsson  <simon@josefsson.org>
33341
33342         * modules/memxor: Move back from crypto/, suggested by Bruno.
33343         * modules/crypto/hmac-sha1: Fix memxor dependency.
33344
33345         * modules/crypto/gc: Moved from ../.
33346
33347 2007-04-02  Eric Blake  <ebb9@byu.net>
33348
33349         * lib/ldexpl.c (includes): Avoid libm.
33350
33351         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
33352
33353 2007-04-02  Bruno Haible  <bruno@clisp.org>
33354
33355         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
33356         on IRIX.
33357
33358 2007-04-02  Bruno Haible  <bruno@clisp.org>
33359
33360         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
33361         x86 or x86_64 platforms running MacOS X.
33362         Reported by Ryan Schmidt <@ryandesign.com>.
33363
33364 2007-04-02  Bruno Haible  <bruno@clisp.org>
33365
33366         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
33367         i386.
33368
33369 2007-04-01  Simon Josefsson  <simon@josefsson.org>
33370
33371         * modules/crypto/arcfour: Moved from ../.
33372         * modules/crypto/arcfour-tests: Moved from ../.
33373         * modules/crypto/arctwo: Moved from ../.
33374         * modules/crypto/arctwo-tests: Moved from ../.
33375         * modules/crypto/des: Moved from ../.
33376         * modules/crypto/des-tests: Moved from ../.
33377         * modules/crypto/gc-arcfour: Moved from ../.
33378         * modules/crypto/gc-arcfour-tests: Moved from ../.
33379         * modules/crypto/gc-arctwo: Moved from ../.
33380         * modules/crypto/gc-arctwo-tests: Moved from ../.
33381         * modules/crypto/gc-des: Moved from ../.
33382         * modules/crypto/gc-des-tests: Moved from ../.
33383         * modules/crypto/gc-hmac-md5: Moved from ../.
33384         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
33385         * modules/crypto/gc-hmac-sha1: Moved from ../.
33386         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
33387         * modules/crypto/gc-md2: Moved from ../.
33388         * modules/crypto/gc-md2-tests: Moved from ../.
33389         * modules/crypto/gc-md4: Moved from ../.
33390         * modules/crypto/gc-md4-tests: Moved from ../.
33391         * modules/crypto/gc-md5: Moved from ../.
33392         * modules/crypto/gc-md5-tests: Moved from ../.
33393         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
33394         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
33395         * modules/crypto/gc-random: Moved from ../.
33396         * modules/crypto/gc-rijndael: Moved from ../.
33397         * modules/crypto/gc-rijndael-tests: Moved from ../.
33398         * modules/crypto/gc-sha1: Moved from ../.
33399         * modules/crypto/gc-sha1-tests: Moved from ../.
33400         * modules/crypto/gc-tests: Moved from ../.
33401         * modules/crypto/hmac-md5: Moved from ../.
33402         * modules/crypto/hmac-md5-tests: Moved from ../.
33403         * modules/crypto/hmac-sha1: Moved from ../.
33404         * modules/crypto/hmac-sha1-tests: Moved from ../.
33405         * modules/crypto/md2: Moved from ../.
33406         * modules/crypto/md2-tests: Moved from ../.
33407         * modules/crypto/md4: Moved from ../.
33408         * modules/crypto/md4-tests: Moved from ../.
33409         * modules/crypto/md5: Moved from ../.
33410         * modules/crypto/md5-tests: Moved from ../.
33411         * modules/crypto/memxor: Moved from ../.
33412         * modules/crypto/rijndael: Moved from ../.
33413         * modules/crypto/rijndael-tests: Moved from ../.
33414         * modules/crypto/sha1: Moved from ../.
33415
33416 2007-03-30  James Youngman  <jay@gnu.org>
33417
33418         * tests/test-stat-time.c (prepare_test): use chmod() rather than
33419         rename() to change the ctime of a file (because ctime is unaffected
33420         by rename on jfs2 on AIX 5.1).
33421         (main): Start by doing cleanup, in case a previous run failed leaving
33422         test files behind.
33423
33424 2007-03-31  Bruno Haible  <bruno@clisp.org>
33425
33426         Support old proprietary implementations of iconv.
33427         * modules/iconv_open: New file.
33428         * lib/iconv_.h: New file.
33429         * m4/iconv_h.m4: New file.
33430         * lib/iconv_open.c: New file.
33431         * lib/iconv_open-aix.gperf: New file.
33432         * lib/iconv_open-hpux.gperf: New file.
33433         * lib/iconv_open-irix.gperf: New file.
33434         * lib/iconv_open-osf.gperf: New file.
33435         * m4/iconv_open.m4: New file.
33436         * modules/linebreak (Depends-on): Add iconv_open.
33437         * modules/striconv (Depends-on): Likewise.
33438         * modules/striconveh (Depends-on): Likewise.
33439         * modules/unicodeio (Depends-on): Likewise.
33440         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
33441         (iconv_t)(-1).
33442         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
33443         conversion if cd is (iconv_t)(-1).
33444         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
33445         is not possible.
33446
33447 2007-03-31  Bruno Haible  <bruno@clisp.org>
33448
33449         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33450         work on Solaris either. Protect also second use of "autodetect_jp".
33451
33452 2007-03-31  Bruno Haible  <bruno@clisp.org>
33453
33454         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
33455         the function is not present.
33456
33457 2007-03-31  Bruno Haible  <bruno@clisp.org>
33458
33459         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
33460         the function is not present.
33461
33462 2007-03-31  Bruno Haible  <bruno@clisp.org>
33463
33464         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
33465         a bug in HP-UX iconv_open().
33466
33467 2007-03-31  Bruno Haible  <bruno@clisp.org>
33468
33469         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
33470         (Mathematics <math.h>): New section, add fpieee.
33471         (Input/output <stdio.h>): Add fseterr.
33472         (Mathematics <math.h>): New section, add printf-frexp.
33473         (Container data structures): Add sublist.
33474         (Core language properties): Add fpucw, inline.
33475         (Functions for greatest-width integer types <inttypes.h>): Add
33476         imaxabs, imaxdiv, inttypes.
33477         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
33478         isnanl-nolibm, ldexp.
33479         (Mathematics <math.h>): New section, add printf-frexpl.
33480         (Support for systems lacking POSIX:2001): Add fprintf-posix,
33481         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
33482         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
33483         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
33484         (Unicode string functions): Add unistr/u*-mbtoucr.
33485         (Java): Add javacomp-script, javaexec-script.
33486         (C#): Add csharpcomp-script, csharpexec-script.
33487         (Support for building libraries and executables): Add havelib,
33488         relocatable-*.
33489         (Support for maintaining and releasing projects): Renamed from
33490         'Support for maintaining and release projects'. Add announce-gen.
33491
33492 2007-03-31  Bruno Haible  <bruno@clisp.org>
33493
33494         * README: Talk primarily about git.
33495         (git and CVS): Renamed from CVS.
33496         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
33497         gnulib is available through git.
33498         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
33499
33500 2007-03-30  Bruno Haible  <bruno@clisp.org>
33501
33502         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
33503         * lib/poll_.h: Likewise.
33504         * lib/stat_.h: Likewise.
33505         * lib/sys_time_.h: Likewise.
33506         * lib/sysexit_.h: Likewise.
33507         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
33508         * lib/stdbool_.h: Likewise.
33509         * lib/byteswap_.h: Add double-inclusion guard.
33510
33511 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
33512
33513         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
33514
33515 2007-03-30  Karl Berry  <karl@gnu.org>
33516
33517         * config/srclist-update: double space after USA in the license
33518         substitution, since that's how it's usually (?) written.
33519
33520 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33521
33522         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
33523         reported by Bruno Haible.
33524
33525 2007-03-29  Bruno Haible  <bruno@clisp.org>
33526
33527         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
33528         a bug in AIX iconv().
33529
33530 2007-03-29  Bruno Haible  <bruno@clisp.org>
33531
33532         * modules/ldexpl-tests: New file.
33533         * tests/test-ldexpl.c: New file.
33534
33535 2007-03-29  Bruno Haible  <bruno@clisp.org>
33536
33537         * lib/ldexpl.c: Include fpucw.h.
33538         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
33539         multiplication.
33540         * modules/ldexpl (Depends-on): Add fpucw.
33541
33542 2007-03-29  Bruno Haible  <bruno@clisp.org>
33543
33544         * modules/ldexpl: New file.
33545         * m4/ldexpl.m4: New file.
33546         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
33547         set.
33548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
33549         REPLACE_LDEXPL.
33550         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
33551         REPLACE_LDEXPL.
33552         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
33553         gl_FUNC_LDEXPL_WORKS.
33554         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
33555         * modules/mathl (Files): Remove lib/ldexpl.c.
33556         (Depends-on): Add ldexpl.
33557
33558 2007-03-29  Bruno Haible  <bruno@clisp.org>
33559
33560         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
33561
33562 2007-03-29  Bruno Haible  <bruno@clisp.org>
33563
33564         * tests/test-striconveh.c (main): Don't assume that a direct conversion
33565         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
33566         and possibly also HP-UX.
33567         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33568         work on AIX, IRIX, HP-UX, OSF/1.
33569         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
33570         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
33571         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
33572         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
33573         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
33574         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
33575
33576 2007-03-29  Bruno Haible  <bruno@clisp.org>
33577
33578         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
33579
33580 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33581
33582         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
33583         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
33584
33585 2007-03-29  Eric Blake  <ebb9@byu.net>
33586
33587         * lib/acl-internal.h: Remove redundant include.
33588         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
33589         Cygwin when a file is locked.
33590
33591 2007-03-29  Bruno Haible  <bruno@clisp.org>
33592
33593         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
33594         file.
33595         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
33596
33597 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
33598
33599         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
33600         try to remove a parent directory if the child couldn't be removed
33601         (except for the first rmdir, which could fail because the child
33602         doesn't exist).  Problem reported by Jeff Blaine in
33603         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
33604
33605 2007-03-28  Bruno Haible  <bruno@clisp.org>
33606
33607         * lib/striconveh.c (utf8conv_carefully): New function.
33608         (mem_cd_iconveh_internal): Invoke it.
33609
33610 2007-03-28  Bruno Haible  <bruno@clisp.org>
33611
33612         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
33613         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
33614         input.
33615         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
33616         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
33617         unistr/u8-uctomb.
33618
33619 2007-03-28  Bruno Haible  <bruno@clisp.org>
33620
33621         * modules/unistr/u8-mbtoucr: New file.
33622         * lib/unistr/u8-mbtoucr.c: New file.
33623         * modules/unistr/u16-mbtoucr: New file.
33624         * lib/unistr/u16-mbtoucr.c: New file.
33625         * modules/unistr/u16-mbtoucr: New file.
33626         * lib/unistr/u16-mbtoucr.c: New file.
33627         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
33628
33629 2007-03-27  Simon Josefsson  <simon@josefsson.org>
33630             Bruno Haible  <bruno@clisp.org>
33631
33632         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
33633         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
33634         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
33635
33636         * m4/stdio_h.m4: Add stubs for vasprintf too.
33637
33638         * modules/stdio: Support vasprintf in sed command.
33639
33640         * modules/vasprintf: Depend on stdio for prototypes.  Remove
33641         vasprintf.h.  Add stdio module indicator.
33642
33643         * lib/stdio_.h: Declare asprintf and vasprintf, based on
33644         vasprintf.h.
33645
33646         * lib/vasprintf.h: File removed.
33647
33648         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
33649         * lib/vasprintf.c: Ditto.
33650         * lib/xvasprintf.c: Ditto.
33651         * tests/test-vasprintf-posix.c: Ditto.
33652         * tests/test-vasprintf.c: Ditto.
33653
33654 2007-03-27  Bruno Haible  <bruno@clisp.org>
33655
33656         Make vasnprintf multithread-safe.
33657         * lib/vasnprintf.c (decimal_point_char): New function.
33658         (VASNPRINTF): Use it.
33659         Suggested by Simon Josefsson.
33660
33661 2007-03-27  Eric Blake  <ebb9@byu.net>
33662
33663         Support sub-second birthtime on cygwin.
33664         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
33665         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
33666         (get_stat_birthtime): Also work with st_birthtim.
33667
33668 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33669
33670         * lib/stat-time.h (USE_BIRTHTIME): Remove.
33671         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
33672         (get_stat_birthtime_ns): Do not try to use "spare" fields.
33673         (get_stat_birthtime_ns): Simplify compile-time tests.
33674         (get_stat_birthtime): Change the API to look like
33675         get_stat_mtime etc., except return a negative tv_nsec on error.
33676         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
33677         Don't check for "spare" fields.
33678         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
33679         or for struct stat.st_birthtime, as these tests aren't used.
33680         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
33681
33682 2007-03-27  Bruno Haible  <bruno@clisp.org>
33683
33684         * lib/stat-time.h: Include <sys/stat.h>.
33685
33686 2007-03-27  James Youngman  <jay@gnu.org>
33687
33688         * lib/stat-time.h (get_stat_birthtime): New function for
33689           retrieving st_birthtime as provided by UFS2 (hence *BSD).
33690         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
33691           and its variants.
33692         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
33693         * modules/stat-time-test: New file.
33694         * tests/test-stat-time.c: New test, devised by Bruno Haible.
33695
33696 2007-03-26  Bruno Haible  <bruno@clisp.org>
33697
33698         Better support of signalling NaNs.
33699         * lib/atanl.c: Include isnanl.h.
33700         (atanl): Perform test for NaN at the beginning of the function and
33701         through a call to isnanl.
33702         * lib/cosl.c: Include isnanl.h.
33703         (cosl): Perform test for NaN at the beginning of the function and
33704         through a call to isnanl.
33705         * lib/ldexpl.c: Include isnanl.h.
33706         (ldexpl): Perform test for NaN through a call to isnanl.
33707         * lib/logl.c: Include isnanl.h.
33708         (logl): Perform test for NaN at the beginning of the function and
33709         through a call to isnanl.
33710         * lib/sinl.c: Include isnanl.h.
33711         (sinl): Perform test for NaN at the beginning of the function and
33712         through a call to isnanl.
33713         * lib/sqrtl.c: Include isnanl.h.
33714         (sqrtl): Perform test for NaN at the beginning of the function and
33715         through a call to isnanl.
33716         * lib/tanl.c: Include isnanl.h.
33717         (tanl): Perform test for NaN at the beginning of the function and
33718         through a call to isnanl.
33719         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
33720         * modules/mathl (Depends-on): Add isnanl.
33721
33722 2007-03-26  Eric Blake  <ebb9@byu.net>
33723
33724         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
33725         regression in logic sense of previous patch.
33726
33727 2007-03-26  Bruno Haible  <bruno@clisp.org>
33728
33729         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
33730         unportable shell command "if ! ...".
33731         Reported by Ralf Wildenhues.
33732
33733 2007-03-25  Bruno Haible  <bruno@clisp.org>
33734
33735         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
33736         <sysexits.h> file, and only add EX_CONFIG.
33737         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
33738         absolute file name and whether it is sufficient. Substitute also
33739         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
33740         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
33741         ABSOLUTE_SYSEXITS_H into sysexits.h.
33742
33743 2007-03-25  Bruno Haible  <bruno@clisp.org>
33744
33745         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
33746         hints is NULL.
33747
33748 2007-03-25  Bruno Haible  <bruno@clisp.org>
33749
33750         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
33751         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
33752
33753 2007-03-25  Bruno Haible  <bruno@clisp.org>
33754
33755         * lib/vasnprintf.c: Include langinfo.h.
33756         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
33757         multithread-safe.
33758         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
33759         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
33760         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33761         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33762         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33763         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33764         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33765         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
33766         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33767         Reported by Simon Josefsson.
33768
33769 2007-03-25  Bruno Haible  <bruno@clisp.org>
33770
33771         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
33772         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
33773         * modules/vasnprintf (Depends-on): Add stdint.
33774
33775 2007-03-25  Bruno Haible  <bruno@clisp.org>
33776
33777         * modules/fpieee: New file.
33778         * m4/fpieee.m4: New file.
33779         * modules/isnan-nolibm (Depends-on): Add fpieee.
33780         * modules/isnanl-nolibm (Depends-on): Add fpieee.
33781         * modules/isnanl (Depends-on): Add fpieee.
33782
33783 2007-03-25  Bruno Haible  <bruno@clisp.org>
33784
33785         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
33786
33787 2007-03-25  Bruno Haible  <bruno@clisp.org>
33788
33789         Avoid test failures on IRIX 6.5.
33790         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
33791         (main): Use it.
33792         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
33793         macros.
33794         (main): Use them.
33795
33796 2007-03-25  Bruno Haible  <bruno@clisp.org>
33797
33798         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
33799         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
33800         exists but doesn't work.
33801         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
33802         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
33803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
33804         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
33805
33806 2007-03-25  Bruno Haible  <bruno@clisp.org>
33807
33808         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
33809         returns inf. Needed on IRIX 6.5.
33810
33811 2007-03-25  Bruno Haible  <bruno@clisp.org>
33812
33813         * tests/test-frexpl.c: Include isnanl-nolibm.h.
33814         (main): Use isnanl instead of x != x idiom.
33815         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
33816
33817         * tests/test-frexp.c: Include isnan.h.
33818         (main): Use isnan instead of x != x idiom.
33819         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
33820
33821 2007-03-25  Bruno Haible  <bruno@clisp.org>
33822
33823         * tests/test-frexp.c (NaN): New function/macro.
33824         (main): Use it instead of 0.0 / 0.0.
33825         * tests/test-isnan.c (NaN): New function/macro.
33826         (main): Use it instead of 0.0 / 0.0.
33827         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
33828         (test_function): Use it instead of 0.0 / 0.0.
33829         * tests/test-vasprintf-posix.c (NaN): New function/macro.
33830         (test_function): Use it instead of 0.0 / 0.0.
33831         * tests/test-snprintf-posix.h (NaN): New function/macro.
33832         (test_function): Use it instead of 0.0 / 0.0.
33833         * tests/test-sprintf-posix.h (NaN): New function/macro.
33834         (test_function): Use it instead of 0.0 / 0.0.
33835         * tests/test-fprintf-posix.h (NaN): New function/macro.
33836         (test_function): Use it instead of 0.0 / 0.0.
33837         * tests/test-printf-posix.h (NaN): New function/macro.
33838         (test_function): Use it instead of 0.0 / 0.0.
33839
33840         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
33841
33842 2007-03-25  Bruno Haible  <bruno@clisp.org>
33843
33844         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
33845
33846 2007-03-25  Bruno Haible  <bruno@clisp.org>
33847
33848         * lib/regexec.c (merge_state_with_log): Make static.
33849
33850 2007-03-25  Bruno Haible  <bruno@clisp.org>
33851
33852         * lib/trigl.c (kernel_rem_pio2): Make static.
33853
33854 2007-03-25  Bruno Haible  <bruno@clisp.org>
33855
33856         * lib/sincosl.c (sincosl_table): Make static.
33857
33858 2007-03-25  Bruno Haible  <bruno@clisp.org>
33859
33860         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
33861         if the compiler does not support C99.
33862
33863 2007-03-25  Bruno Haible  <bruno@clisp.org>
33864
33865         * modules/time (Makefile.am): Ensure all rule action lines start with a
33866         tab.
33867
33868 2007-03-24  Bruno Haible  <bruno@clisp.org>
33869
33870         * modules/tsearch-tests: New file.
33871         * tests/test-tsearch.sh: New file.
33872         * tests/test-tsearch.c: New file, mostly copied from glibc.
33873
33874         * modules/search-tests: New file.
33875         * tests/test-search.c: New file.
33876
33877         * modules/search: New file.
33878         * lib/search_.h: New file, incorporating lib/tsearch.h.
33879         * m4/search_h.m4: New file.
33880         * lib/tsearch.h: Remove file.
33881         * lib/tsearch.c: Include search.h instead of tsearch.h.
33882         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
33883         HAVE_TSEARCH.
33884         * modules/tsearch (Files): Remove lib/tsearch.h.
33885         (Depends-on): Add search.
33886         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
33887         (Include): Change tsearch.h into search.h.
33888
33889 2007-03-24  Bruno Haible  <bruno@clisp.org>
33890
33891         * modules/fpucw: New file.
33892         * lib/fpucw.h: New file.
33893         * lib/frexp.c: Include fpucw.h.
33894         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
33895         (FUNC): Use them.
33896         * lib/printf-frexp.c: Include fpucw.h.
33897         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
33898         (FUNC): Use them.
33899         * lib/vasnprintf.c: Include fpucw.h.
33900         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
33901         'long double' calculations.
33902         * tests/test-frexpl.c: Include fpucw.h.
33903         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
33904         * tests/test-printf-frexpl.c: Include fpucw.h.
33905         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
33906         * modules/frexpl (Depends-on): Add fpucw.
33907         * modules/printf-frexpl (Depends-on): Likewise.
33908         * modules/fprintf-posix (Depends-on): Likewise.
33909         * modules/snprintf-posix (Depends-on): Likewise.
33910         * modules/sprintf-posix (Depends-on): Likewise.
33911         * modules/vasnprintf-posix (Depends-on): Likewise.
33912         * modules/vasprintf-posix (Depends-on): Likewise.
33913         * modules/vfprintf-posix (Depends-on): Likewise.
33914         * modules/vsnprintf-posix (Depends-on): Likewise.
33915         * modules/vsprintf-posix (Depends-on): Likewise.
33916         * modules/frexpl-tests (Depends-on): Likewise.
33917         * modules/printf-frexpl-tests (Depends-on): Likewise.
33918
33919 2007-03-24  Bruno Haible  <bruno@clisp.org>
33920
33921         * lib/float+.h: New file.
33922         * lib/isnan.c: Include float+.h.
33923         (SIZE): New macro.
33924         (FUNC): Compare only SIZE bytes of the value.
33925         * lib/vasnprintf.c: Include float+.h.
33926         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
33927         SIZEOF_LDBL or SIZEOF_DBL bytes.
33928         * modules/isnan-nolibm (Files): Add lib/float+.h.
33929         * modules/isnanl-nolibm (Files): Add lib/float+.h.
33930         * modules/isnanl (Files): Add lib/float+.h.
33931         * modules/vasnprintf (Files): Add lib/float+.h.
33932
33933 2007-03-24  Bruno Haible  <bruno@clisp.org>
33934
33935         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
33936         include isnanl-nolibm.h.
33937
33938 2007-03-24  Bruno Haible  <bruno@clisp.org>
33939
33940         * tests/test-read-file.c (main): Don't produce spurious output for
33941         expected situations. Make the test fail if it encountered unexpected
33942         results.
33943
33944 2007-03-24  Bruno Haible  <bruno@clisp.org>
33945
33946         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
33947         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
33948
33949 2007-03-24  Bruno Haible  <bruno@clisp.org>
33950
33951         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
33952
33953 2007-03-24  Bruno Haible  <bruno@clisp.org>
33954
33955         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
33956         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
33957
33958         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
33959         * modules/utf8-ucs4: Turn into a symbolic link to module
33960         unistr/u8-mbtouc.
33961
33962         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
33963         utf8-ucs4-unsafe.
33964         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
33965         unistr/u8-mbtouc-unsafe.
33966
33967         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
33968         * modules/utf16-ucs4: Turn into a symbolic link to module
33969         unistr/u16-mbtouc.
33970
33971         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
33972         utf16-ucs4-unsafe.
33973         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
33974         unistr/u16-mbtouc-unsafe.
33975
33976         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
33977         * modules/ucs4-utf8: Turn into a symbolic link to module
33978         unistr/u8-ubtomb.
33979
33980         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
33981         * modules/ucs4-utf16: Turn into a symbolic link to module
33982         unistr/u16-ubtomb.
33983
33984 2007-03-24  Bruno Haible  <bruno@clisp.org>
33985
33986         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
33987         Enable the function only if HAVE_INLINE.
33988         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
33989         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
33990         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
33991         Enable the function only if HAVE_INLINE.
33992         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
33993         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
33994         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
33995         Enable the function only if HAVE_INLINE.
33996         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
33997         Enable the function only if HAVE_INLINE.
33998         * modules/utf8-ucs4: Update.
33999         * modules/utf8-ucs4-unsafe: Update.
34000         * modules/utf16-ucs4: Update.
34001         * modules/utf16-ucs4-unsafe: Update.
34002         * modules/ucs4-utf8: Update.
34003         * modules/ucs4-utf16: Update.
34004
34005 2007-03-24  Bruno Haible  <bruno@clisp.org>
34006
34007         * lib/utf8-ucs4.h: Remove file.
34008         * lib/utf8-ucs4-unsafe.h: Remove file.
34009         * lib/utf16-ucs4.h: Remove file.
34010         * lib/utf16-ucs4-unsafe.h: Remove file.
34011         * lib/ucs4-utf8.h: Remove file.
34012         * lib/ucs4-utf16.h: Remove file.
34013         * lib/unistr.h: Include their previous contents.
34014         * m4/utf-ucs4.m4: Remove file.
34015         * m4/ucs4-utf.m4: Remove file.
34016         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
34017         (Depends-on): Add unistr/base.
34018         (configure.ac): Remove gl_UTF_UCS4.
34019         (Makefile.am): Update.
34020         (Include): Change to unistr.h.
34021         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
34022         (Depends-on): Add unistr/base.
34023         (configure.ac): Remove gl_UTF_UCS4.
34024         (Makefile.am): Update.
34025         (Include): Change to unistr.h.
34026         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
34027         (Depends-on): Add unistr/base.
34028         (configure.ac): Remove gl_UTF_UCS4.
34029         (Makefile.am): Update.
34030         (Include): Change to unistr.h.
34031         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
34032         (Depends-on): Add unistr/base.
34033         (configure.ac): Remove gl_UTF_UCS4.
34034         (Makefile.am): Update.
34035         (Include): Change to unistr.h.
34036         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
34037         (Depends-on): Add unistr/base.
34038         (configure.ac): Remove gl_UCS4_UTF.
34039         (Makefile.am): Update.
34040         (Include): Change to unistr.h.
34041         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
34042         (Depends-on): Add unistr/base.
34043         (configure.ac): Remove gl_UCS4_UTF.
34044         (Makefile.am): Update.
34045         (Include): Change to unistr.h.
34046         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
34047         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
34048         utf8-ucs4-unsafe.h.
34049         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
34050         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
34051         utf16-ucs4-unsafe.h.
34052         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
34053         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
34054         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
34055         * lib/unistr/u8-strchr.c: Likewise.
34056         * lib/unistr/u8-strrchr.c: Likewise.
34057         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
34058         * lib/unistr/u16-strchr.c: Likewise.
34059         * lib/unistr/u16-strrchr.c: Likewise.
34060         * lib/striconveh.c: Update.
34061         * lib/linebreak.c: Update.
34062
34063 2007-03-24  Bruno Haible  <bruno@clisp.org>
34064
34065         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
34066         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
34067
34068 2007-03-22  Bruno Haible  <bruno@clisp.org>
34069
34070         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
34071
34072 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
34073
34074         * MODULES.html.sh (File system functions): New module write-any-file.
34075         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
34076         * m4/write-any-file.m4: New files.
34077
34078 2007-03-23  Eric Blake  <ebb9@byu.net>
34079
34080         * gnulib-tool: Rearrange space-tab sequences, since some editors
34081         like to eat them.
34082
34083 2007-03-23  Eric Blake  <ebb9@byu.net>
34084
34085         * lib/version-etc.c (version_etc_va): Update license wording to
34086         be more concise.  Recommended by Richard Stallman.
34087
34088 2007-03-22  Bruno Haible  <bruno@clisp.org>
34089
34090         * lib/poll.c (MSG_PEEK): New fallback definition.
34091
34092 2007-03-22  Bruno Haible  <bruno@clisp.org>
34093
34094         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
34095         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
34096         (main): Update.
34097         Fixes a compilation error on BeOS.
34098
34099 2007-03-22  Bruno Haible  <bruno@clisp.org>
34100
34101         * modules/frexpl-tests: New file.
34102         * tests/test-frexpl.c: New file.
34103
34104         * modules/frexpl: New file.
34105         * m4/frexpl.m4: New file.
34106         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
34107         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
34108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
34109         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
34110         (Depends-on): Add frexpl. Remove isnanl-nolibm.
34111         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
34112
34113 2007-03-22  Bruno Haible  <bruno@clisp.org>
34114
34115         * lib/frexpl.c: Share code with lib/frexp.c.
34116         * modules/mathl (Files): Add lib/frexp.c.
34117         (Depends-on): Add isnanl-nolibm.
34118
34119 2007-03-22  Bruno Haible  <bruno@clisp.org>
34120
34121         * modules/printf-frexp (Files): Add m4/frexp.m4.
34122         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
34123         only if the found frexp function actually works.
34124
34125 2007-03-22  Bruno Haible  <bruno@clisp.org>
34126
34127         * lib/frexp.c: Remove older implementation that uses divisions.
34128
34129 2007-03-21  Bruno Haible  <bruno@clisp.org>
34130
34131         * modules/frexp-tests: New file.
34132         * tests/test-frexp.c: New file.
34133
34134         * modules/frexp: New file.
34135         * lib/frexp.c: New file.
34136         * m4/frexp.m4: New file.
34137         * lib/math_.h (frexp): New declaration.
34138         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
34139         REPLACE_FREXP.
34140         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
34141
34142 2007-03-21  Bruno Haible  <bruno@clisp.org>
34143
34144         * modules/isnanl-tests: New file.
34145         * tests/test-isnanl.c: New file.
34146
34147         * modules/isnanl: New file.
34148         * lib/isnanl.h: New file.
34149         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
34150         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
34151         gl_FUNC_ISNANL_WORKS.
34152         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
34153         New macros.
34154
34155 2007-03-21  Bruno Haible  <bruno@clisp.org>
34156
34157         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
34158         lib/isnanl.h.
34159         (Include): Update.
34160         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
34161         * lib/vasnprintf.c: Update.
34162         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
34163         tests/test-isnanl.h, remove tests/test-isnanl.c.
34164         (Makefile.am): Update.
34165         * tests/test-isnanl-nolibm.c: New file.
34166         * tests/test-isnanl.h: New file.
34167         * tests/test-isnanl.c: Remove file.
34168
34169 2007-03-21  Jim Meyering  <jim@meyering.net>
34170
34171         When trying to open ".", treat ESTALE like EACCES.
34172         * lib/savewd.c (savewd_save): Resort to forking not just upon
34173         failure with EACCES, but also when errno is ESTALE.
34174
34175 2007-03-20  Bruno Haible  <bruno@clisp.org>
34176
34177         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
34178         Needed on AIX 5.1. Reported by Matthew Woehlke.
34179
34180 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34181
34182         Suggestions by Bruno Haible:
34183         * lib/acl-internal.h: Include "gettext.h" rather than rolling
34184         our own.
34185         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
34186         * modules/acl (Depends-on): Add gettext.
34187
34188 2007-03-19  Bruno Haible  <bruno@clisp.org>
34189
34190         * modules/iconvme: Remove file.
34191         * lib/iconvme.h: Remove file.
34192         * lib/iconvme.c: Remove file.
34193         * m4/iconvme.m4: Remove file.
34194
34195 2007-03-19  Bruno Haible  <bruno@clisp.org>
34196
34197         * doc/relocatable-maint.texi: Break long shell script line.
34198         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34199
34200 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34201
34202         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
34203         handle file_has_acl.
34204         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
34205         * lib/acl.c: Move header inclusions and related macro defns into
34206         lib/acl-internal.h.
34207         (S_ISLNK): Remove defn, since that's now done for us.
34208         (file_has_acl): Move to lib/file-has-acl.c.
34209         Call acl_trivial if available.  This is the crucial part of the fix.
34210         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
34211         shared within the library.  Rewrite a bit, partly to make it compatible
34212         with the GNU coding style.
34213         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
34214         Remove unnecessary double-quotes.
34215         Don't test for acl_to_text; the build will catch that.
34216         Replace acl_entries if it doesn't exist and it is needed.
34217         Check for -lsec and acl_trivial (as used on Solaris 10).
34218         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
34219         lib/file-has-acl.c.
34220         (Depends-on): Add sys_stat, for S_ISLNK.
34221
34222 2007-03-19  Ben Pfaff  <blp@gnu.org>
34223
34224         * doc/gnulib.texi: Fix typos.
34225         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34226
34227 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34228
34229         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
34230         If size is zero here, buf must be zero.
34231
34232 2007-03-19  Simon Josefsson  <simon@josefsson.org>
34233
34234         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
34235         <bruno@clisp.org>.
34236
34237 2007-03-18  Bruno Haible  <bruno@clisp.org>
34238
34239         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
34240         Suggested by Eric Blake.
34241
34242 2007-03-18  Ben Pfaff  <blp@gnu.org>
34243
34244         * doc/relocatable.texi: Recommend using as prefix a directory
34245         that does not exist and will never be created.  Based on
34246         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
34247         and others.
34248
34249 2007-03-17  Bruno Haible  <bruno@clisp.org>
34250
34251         * lib/fchownat.c: Include lchown.h.
34252
34253 2007-03-17  Bruno Haible  <bruno@clisp.org>
34254
34255         Fix endless loop when the given allocated size was > INT_MAX.
34256         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
34257         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
34258         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
34259         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
34260         * lib/sprintf.c (sprintf): Likewise.
34261
34262 2007-03-17  Bruno Haible  <bruno@clisp.org>
34263
34264         * tests/test-argp-2.sh (func_compare): Output a context diff.
34265
34266 2007-03-17  Bruno Haible  <bruno@clisp.org>
34267
34268         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
34269         locale's decimal-point character.
34270
34271 2007-03-17  Bruno Haible  <bruno@clisp.org>
34272
34273         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
34274         before comparing it. Needed because on some platforms (e.g. x86) a
34275         'long double' occupies less bytes than sizeof (long double).
34276
34277 2007-03-17  Bruno Haible  <bruno@clisp.org>
34278
34279         * tests/test-crc.c (main): Make printf statements 64-bit clean.
34280         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
34281         * tests/test-getaddrinfo.c (simple): Likewise.
34282         * tests/test-read-file.c (main): Likewise.
34283
34284 2007-03-17  Bruno Haible  <bruno@clisp.org>
34285
34286         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
34287
34288 2007-03-17  Bruno Haible  <bruno@clisp.org>
34289
34290         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
34291         unused variable.
34292
34293 2007-03-17  Bruno Haible  <bruno@clisp.org>
34294
34295         * tests/test-c-strcasecmp.c: Include c-strcase.h.
34296         * tests/test-c-strncasecmp.c: Likewise.
34297
34298 2007-03-17  Bruno Haible  <bruno@clisp.org>
34299
34300         * modules/stdlib (Depends-on): Add unistd.
34301         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
34302         Needed for MacOS X 10.3.
34303
34304 2007-03-17  Bruno Haible  <bruno@clisp.org>
34305
34306         * lib/unistr/u-strdup.h: Include <stdlib.h>.
34307
34308 2007-03-17  Bruno Haible  <bruno@clisp.org>
34309
34310         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
34311
34312 2007-03-17  Bruno Haible  <bruno@clisp.org>
34313
34314         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
34315         to reflect files copied from gnulib (with or without modifications).
34316         Suggested by Jim Meyering.
34317
34318 2007-03-17  Eric Blake  <ebb9@byu.net>
34319
34320         * NEWS: Document stdlib change from 2007-02-18.
34321
34322 2007-03-17  Jim Meyering  <jim@meyering.net>
34323
34324         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
34325         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
34326         someone uses a name containing shell meta-characters.
34327         Reported by Alfred M. Szmidt.
34328
34329         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
34330
34331 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34332
34333         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
34334         and copy gettext configuration files only if configure.ac contains
34335         a use of AM_GNU_GETTEXT_VERSION.
34336
34337 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34338
34339         * build-aux/bootstrap (gnulib_name): New variable.
34340         (gnulib_tool_options): Use it.
34341
34342 2007-03-13  Simon Josefsson  <simon@josefsson.org>
34343
34344         * tests/test-des.c: Use new namespace.
34345
34346 2007-03-15  Bruno Haible  <bruno@clisp.org>
34347
34348         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
34349         Reported by James Youngman <jay@gnu.org>.
34350
34351 2007-03-15  Bruno Haible  <bruno@clisp.org>
34352
34353         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
34354         declared prototype. Needed with cc on OSF/1 5.1.
34355
34356 2007-03-15  Bruno Haible  <bruno@clisp.org>
34357
34358         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
34359         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
34360         (struct gl_list_implementation): Add dispose_fn argument to the
34361         'create_empty', 'create' methods.
34362         (struct gl_list_impl_base): Add field 'dispose_fn'.
34363         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
34364         argument.
34365         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
34366         dispose_fn argument.
34367         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
34368         dispose_fn on the dropped values.
34369         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
34370         dispose_fn argument.
34371         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
34372         dropped values.
34373         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
34374         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34375         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
34376         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34377         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
34378         argument.
34379         (gl_tree_list_free): Call dispose_fn on the dropped values.
34380         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
34381         the dropped values.
34382         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
34383         Add dispose_fn argument.
34384         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
34385         Call dispose_fn on the dropped values.
34386         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
34387         Add dispose_fn argument.
34388         (gl_sublist_create): Initialize the 'dispose_fn' field.
34389         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
34390         * tests/test-array_list.c (main): Update.
34391         * tests/test-carray_list.c (main): Update.
34392         * tests/test-avltree_list.c (main): Update.
34393         * tests/test-rbtree_list.c (main): Update.
34394         * tests/test-avltreehash_list.c (main): Update.
34395         * tests/test-rbtreehash_list.c (main): Update.
34396         * tests/test-linked_list.c (main): Update.
34397         * tests/test-linkedhash_list.c (main): Update.
34398         * tests/test-array_oset.c (main): Update.
34399
34400 2007-03-15  Bruno Haible  <bruno@clisp.org>
34401
34402         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
34403         (gl_oset_create_empty): Add dispose_fn argument.
34404         (struct gl_oset_implementation): Add dispose_fn argument to
34405         'create_empty' method.
34406         (struct gl_oset_impl_base): Add dispose_fn field.
34407         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
34408         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
34409         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
34410         values.
34411         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
34412         (gl_tree_oset_free): Call dispose_fn on the dropped values.
34413         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34414         dropped value.
34415         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34416         dropped value.
34417         * tests/test-array_oset.c (main): Update.
34418         * tests/test-avltree_oset.c (main): Update.
34419         * tests/test-rbtree_oset.c (main): Update.
34420         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
34421
34422 2007-03-13  Bruno Haible  <bruno@clisp.org>
34423
34424         * tests/test-stdbool.c (i): Update after last patch.
34425
34426 2007-03-12  Bruno Haible  <bruno@clisp.org>
34427
34428         * lib/quotearg.c: Include <wctype.h> early, before the definition of
34429         the iswprint macro. Needed on Solaris 2.5.1.
34430
34431 2007-03-12  Bruno Haible  <bruno@clisp.org>
34432
34433         * tests/test-printf-frexp.c (main): Declare x as volatile.
34434
34435 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34436
34437         * doc/gnulib.texi (Build robot for gnulib): New section.
34438
34439 2007-03-12  Jim Meyering  <jim@meyering.net>
34440
34441         * build-aux/bootstrap: New file.
34442         * build-aux/bootstrap.conf: New file, from coreutils.
34443
34444 2007-03-11  Bruno Haible  <bruno@clisp.org>
34445
34446         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
34447
34448 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34449
34450         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
34451         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
34452         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
34453
34454 2007-03-11  Bruno Haible  <bruno@clisp.org>
34455
34456         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
34457         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
34458
34459 2007-03-11  Bruno Haible  <bruno@clisp.org>
34460
34461         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
34462         formula. Needed for SunPRO C 5.0.
34463
34464 2007-03-11  Bruno Haible  <bruno@clisp.org>
34465
34466         * modules/long-options (Depends-on): Add getopt.
34467
34468 2007-03-11  Bruno Haible  <bruno@clisp.org>
34469
34470         * modules/modechange (Depends-on): Add stdbool.
34471
34472 2007-03-11  Bruno Haible  <bruno@clisp.org>
34473
34474         * modules/i-ring (Depends-on): Add stdbool.
34475
34476 2007-03-11  Bruno Haible  <bruno@clisp.org>
34477
34478         * modules/gc-des (Depends-on): Add stdbool.
34479
34480 2007-03-11  Bruno Haible  <bruno@clisp.org>
34481
34482         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
34483
34484 2007-03-11  Bruno Haible  <bruno@clisp.org>
34485
34486         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
34487
34488 2007-03-11  Bruno Haible  <bruno@clisp.org>
34489
34490         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
34491
34492 2007-03-11  Bruno Haible  <bruno@clisp.org>
34493
34494         * lib/vasnprintf.c (sprintf): Undefine.
34495
34496 2007-03-11  Bruno Haible  <bruno@clisp.org>
34497
34498         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
34499         initializers in SunPRO C and Compaq C compilers.
34500
34501 2007-03-11  Bruno Haible  <bruno@clisp.org>
34502
34503         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
34504         decrementing code ANSI C compliant.
34505
34506 2007-03-11  Bruno Haible  <bruno@clisp.org>
34507
34508         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
34509         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
34510
34511 2007-03-11  Bruno Haible  <bruno@clisp.org>
34512
34513         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
34514         <stdbool.h> substitute doesn't pass.
34515
34516 2007-03-11  Bruno Haible  <bruno@clisp.org>
34517
34518         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
34519
34520 2007-03-11  Bruno Haible  <bruno@clisp.org>
34521
34522         * gnulib-tool (func_create_megatestdir): Create also an autobuild
34523         script, for submission to autobuild.josefsson.org.
34524
34525 2007-03-10  Bruno Haible  <bruno@clisp.org>
34526
34527         * modules/canonicalize-lgpl-tests: New file.
34528         * tests/test-canonicalize-lgpl.sh: New file.
34529         * tests/test-canonicalize-lgpl.c: New file.
34530
34531         * modules/c-strcase-tests: New file.
34532         * tests/test-c-strcase.sh: New file.
34533         * tests/test-c-strcasecmp.c: New file.
34534         * tests/test-c-strncasecmp.c: New file.
34535
34536         * modules/atexit-tests: New file.
34537         * tests/test-atexit.sh: New file.
34538         * tests/test-atexit.c: New file.
34539
34540 2007-03-10  Bruno Haible  <bruno@clisp.org>
34541
34542         * tests/test-binary-io.sh: Use temporary filenames that are not so
34543         likely to clash with those of other tests (in a parallel make).
34544         * tests/test-binary-io.c: Likewise.
34545
34546 2007-03-10  Bruno Haible  <bruno@clisp.org>
34547
34548         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
34549         fallback; use #error instead.
34550         Suggested by Simon Josefsson.
34551
34552 2007-03-10  Bruno Haible  <bruno@clisp.org>
34553
34554         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
34555         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
34556         first and the last.
34557
34558 2007-03-10  Bruno Haible  <bruno@clisp.org>
34559
34560         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
34561
34562 2007-03-10  Bruno Haible  <bruno@clisp.org>
34563
34564         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
34565         "make distcheck".
34566         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
34567         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
34568         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
34569
34570 2007-03-10  Bruno Haible  <bruno@clisp.org>
34571
34572         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
34573         variable.
34574         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
34575         variable.
34576
34577 2007-03-09  Eric Blake  <ebb9@byu.net>
34578         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
34579
34580         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
34581         types are not being provided by gnulib.
34582         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
34583         types are supported.
34584
34585 2007-03-10  Bruno Haible  <bruno@clisp.org>
34586
34587         * lib/stdio_.h (__attribute__): New macro.
34588         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
34589         vsprintf): Specify __attribute__ __format__ for GCC.
34590         Suggested by Eric Blake.
34591
34592 2007-03-09  Bruno Haible  <bruno@clisp.org>
34593
34594         * modules/printf-posix-tests: New file.
34595         * tests/test-printf-posix.sh: New file.
34596         * tests/test-printf-posix.c: New file.
34597
34598         * modules/printf-posix: New file.
34599         * lib/printf.c: New file.
34600         * m4/printf-posix-rpl.m4: New file.
34601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
34602         REPLACE_PRINTF.
34603         * lib/stdio_.h (printf): New declaration.
34604         (format, __format__, ____printf____, ____scanf____, ____strftime____,
34605         ____strfmon____): New macros.
34606         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
34607         REPLACE_PRINTF.
34608
34609 2007-03-09  Bruno Haible  <bruno@clisp.org>
34610
34611         * tests/test-vasnprintf-posix2.sh: New file.
34612         * tests/test-vasnprintf-posix2.c: New file.
34613         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
34614         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
34615         (Makefile.am): Activate test-vasnprintf-posix2.sh.
34616
34617         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
34618         a locale dependent decimal point, rather than always '.'.
34619
34620 2007-03-09  Eric Blake  <ebb9@byu.net>
34621
34622         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
34623         spite of platforms like Tandem/NSK that define it to -1.
34624
34625 2007-03-08  Bruno Haible  <bruno@clisp.org>
34626
34627         * modules/vprintf-posix-tests: New file.
34628         * tests/test-vprintf-posix.sh: New file.
34629         * tests/test-vprintf-posix.c: New file.
34630         * tests/test-printf-posix.h: New file.
34631
34632         * modules/vprintf-posix: New file.
34633         * lib/vprintf.c: New file.
34634         * m4/vprintf-posix.m4: New file.
34635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
34636         REPLACE_VPRINTF.
34637         * lib/stdio_.h (vprintf): New declaration.
34638         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
34639         REPLACE_VPRINTF.
34640
34641 2007-03-08  Bruno Haible  <bruno@clisp.org>
34642
34643         * modules/fprintf-posix-tests: New file.
34644         * tests/test-fprintf-posix.sh: New file.
34645         * tests/test-fprintf-posix.c: New file.
34646
34647         * modules/fprintf-posix: New file.
34648         * lib/fprintf.c: New file.
34649         * m4/fprintf-posix.m4: New file.
34650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
34651         REPLACE_FPRINTF.
34652         * lib/stdio_.h (fprintf): New declaration.
34653         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
34654         REPLACE_FPRINTF.
34655
34656 2007-03-08  Bruno Haible  <bruno@clisp.org>
34657
34658         * modules/vfprintf-posix-tests: New file.
34659         * tests/test-vfprintf-posix.sh: New file.
34660         * tests/test-vfprintf-posix.c: New file.
34661         * tests/test-fprintf-posix.h: New file.
34662         * tests/test-fprintf-posix.out: New file.
34663
34664         * modules/vfprintf-posix: New file.
34665         * lib/vfprintf.c: New file.
34666         * m4/vfprintf-posix.m4: New file.
34667         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
34668         REPLACE_VFPRINTF.
34669         * lib/stdio_.h (vfprintf): New declaration.
34670         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
34671         REPLACE_VFPRINTF.
34672
34673 2007-03-08  Bruno Haible  <bruno@clisp.org>
34674
34675         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
34676
34677 2007-03-08  Bruno Haible  <bruno@clisp.org>
34678
34679         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
34680         instead of 'expr' invocations.
34681         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34682         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34683         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34684         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
34685         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34686         Suggested by Paul Eggert.
34687
34688 2007-03-08  Bruno Haible  <bruno@clisp.org>
34689
34690         * modules/fseterr-tests: New file.
34691         * tests/test-fseterr.c: New file.
34692
34693         * modules/fseterr: New file.
34694         * lib/fseterr.h: New file.
34695         * lib/fseterr.c: New file.
34696
34697 2007-03-08  Bruno Haible  <bruno@clisp.org>
34698
34699         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
34700         * lib/getopt_.h: Likewise.
34701         * lib/mbswidth.h: Likewise.
34702         * lib/setenv.h: Likewise.
34703         * lib/vasnprintf.h: Likewise.
34704         * lib/vasprintf.h: Likewise.
34705         * lib/verror.h: Likewise.
34706         * lib/xsetenv.h: Likewise.
34707         * lib/xvasprintf.h: Likewise.
34708
34709 2007-03-08  Jim Meyering  <jim@meyering.net>
34710
34711         * users.txt: Add parted.
34712
34713         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
34714
34715 2007-03-07  Bruno Haible  <bruno@clisp.org>
34716
34717         * m4/printf.m4: Make the shell script snippets copy&pastable.
34718
34719 2007-03-02  Bruno Haible  <bruno@clisp.org>
34720
34721         * lib/netinet_in_.h: New file.
34722         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
34723         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
34724         * modules/netinet_in (Files): Add lib/netinet_in_.h.
34725         (Depends-on): Add absolute-header.
34726         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
34727         into netinet/in.h.
34728
34729 2007-03-03  Bruno Haible  <bruno@clisp.org>
34730
34731         * lib/sys_select_.h: New file.
34732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
34733         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
34734         * modules/sys_select (Files): Add lib/sys_select_.h.
34735         (Depends-on): Add absolute-header.
34736         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
34737         into sys/select.h.
34738
34739 2007-03-02  Bruno Haible  <bruno@clisp.org>
34740
34741         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
34742         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
34743         values.
34744         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
34745         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
34746         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
34747         * modules/sys_socket (Depends-on): Add absolute-header.
34748         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
34749         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
34750         (Include): Remove requirement of inclusion of <sys/types.h>.
34751
34752 2007-03-02  Bruno Haible  <bruno@clisp.org>
34753
34754         * lib/byteswap_.h (bswap_32): Fix formula.
34755
34756 2007-03-06  Bruno Haible  <bruno@clisp.org>
34757
34758         * modules/sprintf-posix-tests: New file.
34759         * tests/test-sprintf-posix.c: New file.
34760
34761         * modules/sprintf-posix: New file.
34762         * lib/sprintf.c: New file.
34763         * m4/sprintf-posix.m4: New file.
34764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
34765         REPLACE_SPRINTF.
34766         * lib/stdio_.h (sprintf): New declaration.
34767         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
34768         REPLACE_SPRINTF.
34769
34770 2007-03-06  Bruno Haible  <bruno@clisp.org>
34771
34772         * modules/vsprintf-posix-tests: New file.
34773         * tests/test-vsprintf-posix.c: New file.
34774         * tests/test-sprintf-posix.h: New file.
34775
34776         * modules/vsprintf-posix: New file.
34777         * lib/vsprintf.c: New file.
34778         * m4/vsprintf-posix.m4: New file.
34779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
34780         REPLACE_VSPRINTF.
34781         * lib/stdio_.h (vsprintf): New declaration.
34782         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
34783         REPLACE_VSPRINTF.
34784
34785 2007-03-06  Bruno Haible  <bruno@clisp.org>
34786
34787         * modules/vsnprintf (Depend-on): Remove minmax.
34788
34789 2007-03-06  Bruno Haible  <bruno@clisp.org>
34790
34791         * modules/snprintf-posix-tests: New file.
34792         * tests/test-snprintf-posix.c: New file.
34793
34794         * modules/snprintf-posix: New file.
34795         * m4/snprintf-posix.m4: New file.
34796         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
34797         gl_FUNC_SNPRINTF.
34798         (gl_FUNC_SNPRINTF): Invoke it.
34799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
34800         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
34801         is set.
34802         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
34803
34804 2007-03-06  Bruno Haible  <bruno@clisp.org>
34805
34806         * modules/vsnprintf-posix-tests: New file.
34807         * tests/test-vsnprintf-posix.c: New file.
34808         * tests/test-snprintf-posix.h: New file.
34809
34810         * modules/vsnprintf-posix: New file.
34811         * m4/vsnprintf-posix.m4: New file.
34812         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
34813         gl_FUNC_VSNPRINTF.
34814         (gl_FUNC_VSNPRINTF): Invoke it.
34815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
34816         * lib/stdio_.h (vsnprintf): Define as a replacement if
34817         REPLACE_VSNPRINTF is set.
34818         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
34819
34820 2007-03-06  Bruno Haible  <bruno@clisp.org>
34821
34822         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
34823         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
34824
34825 2007-03-06  Bruno Haible  <bruno@clisp.org>
34826
34827         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
34828         (asinl): Declare also if HAVE_DECL_ASINL is set.
34829         (atanl): Declare also if HAVE_DECL_ATANL is set.
34830         (ceill): Declare also if HAVE_DECL_CEILL is set.
34831         (cosl): Declare also if HAVE_DECL_COSL is set.
34832         (expl): Declare also if HAVE_DECL_EXPL is set.
34833         (floorl): Declare also if HAVE_DECL_FLOORL is set.
34834         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
34835         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
34836         (logl): Declare also if HAVE_DECL_LOGL is set.
34837         (sinl): Declare also if HAVE_DECL_SINL is set.
34838         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
34839         (tanl): Declare also if HAVE_DECL_TANL is set.
34840         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
34841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
34842         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
34843         declaration of frexpl, ldexpl.
34844         * modules/printf-frexpl (Depends-on): Add math.
34845         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
34846
34847 2007-03-05  Bruno Haible  <bruno@clisp.org>
34848
34849         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
34850         frexpl and ldexpl are declared.
34851         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
34852
34853 2007-03-05  Bruno Haible  <bruno@clisp.org>
34854
34855         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
34856         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
34857
34858 2007-03-05  Bruno Haible  <bruno@clisp.org>
34859
34860         * lib/stdio_.h: Include <stddef.h>.
34861
34862 2007-03-05  Bruno Haible  <bruno@clisp.org>
34863
34864         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
34865
34866 2007-03-05  Bruno Haible  <bruno@clisp.org>
34867
34868         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
34869         NetBSD 4, from Ralf Wildenhues.
34870
34871 2007-03-04  Bruno Haible  <bruno@clisp.org>
34872
34873         * lib/vasprintf.h: Update #if logic for the case when the functions
34874         exist but are overridden.
34875
34876 2007-03-04  Bruno Haible  <bruno@clisp.org>
34877
34878         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
34879         implementations: glibc-2.4 and MacOS X 10.3.
34880         * tests/test-vasnprintf-posix.c (test_function): Test also the case
34881         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
34882         * tests/test-vasprintf-posix.c (test_function): Likewise.
34883
34884 2007-03-04  Bruno Haible  <bruno@clisp.org>
34885
34886         * modules/vasprintf-posix-tests: New file.
34887         * tests/test-vasprintf-posix.c: New file.
34888
34889         * modules/vasprintf-posix: New file.
34890         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
34891         defined.
34892         * m4/vasprintf-posix.m4: New file.
34893         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
34894         gl_FUNC_VASPRINTF.
34895         (gl_FUNC_VASPRINTF): Invoke it.
34896         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
34897         here.
34898         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
34899
34900 2007-03-04  Bruno Haible  <bruno@clisp.org>
34901
34902         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
34903         REPLACE_GETTIMEOFDAY.
34904         * modules/sys_time (Makefile.am): Likewise.
34905         * m4/sys_time_h.m4: Likewise.
34906         * m4/gettimeofday.m4: Likewise.
34907
34908 2007-03-04  Bruno Haible  <bruno@clisp.org>
34909
34910         * modules/vasnprintf-posix-tests: New file.
34911         * tests/test-vasnprintf-posix.c: New file.
34912
34913         * modules/vasnprintf-posix: New file.
34914         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
34915         printf-frexpl.h.
34916         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
34917         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
34918         REPLACE_VASNPRINTF is defined.
34919         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
34920         gl_FUNC_VASNPRINTF.
34921         (gl_FUNC_VASNPRINTF): Invoke it.
34922         * m4/vasnprintf-posix.m4: New file.
34923         * m4/printf.m4: New file.
34924
34925 2007-03-04  Bruno Haible  <bruno@clisp.org>
34926
34927         Compile progreloc.c only if --enable-relocatable is specified.
34928         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
34929         if --enable-relocatable was specified.
34930         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
34931         lib_SOURCES.
34932
34933 2007-03-04  Jim Meyering  <jim@meyering.net>
34934
34935         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
34936         Use it consistently, rather than enumerating errno constants.
34937
34938 2007-03-04  Bruno Haible  <bruno@clisp.org>
34939
34940         * modules/xvasprintf-tests: New file.
34941         * tests/test-xvasprintf.c: New file.
34942
34943         * modules/vasprintf-tests: New file.
34944         * tests/test-vasprintf.c: New file.
34945
34946         * modules/vasnprintf-tests: New file.
34947         * tests/test-vasnprintf.c: New file.
34948
34949         * modules/vsnprintf-tests: New file.
34950         * tests/test-vsnprintf.c: New file.
34951
34952         * modules/snprintf-tests: New file.
34953         * tests/test-snprintf.c: New file.
34954
34955 2007-03-04  Bruno Haible  <bruno@clisp.org>
34956
34957         Compile relocatable.c only if --enable-relocatable is specified.
34958         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
34959         gl_RELOCATABLE_LIBRARY.
34960         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
34961         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
34962         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
34963         gl_RELOCATABLE_LIBRARY.
34964         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
34965         (Makefile.am): Remove lib_SOURCES.
34966         * modules/relocatable-lib-lgpl (configure.ac): Invoke
34967         gl_RELOCATABLE_LIBRARY.
34968         (Makefile.am): Remove lib_SOURCES.
34969         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
34970         always.
34971         * modules/relocatable-prog-wrapper (configure.ac): Invoke
34972         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
34973
34974 2007-03-04  Bruno Haible  <bruno@clisp.org>
34975
34976         * modules/argmatch-tests: New file.
34977         * tests/test-argmatch.c: New file.
34978
34979         * tests/test-allocsa.c (main): Halve the number of loop runs.
34980
34981         * modules/alloca-opt-tests: New file.
34982         * tests/test-alloca-opt.c: New file.
34983
34984 2007-03-04  Jim Meyering  <jim@meyering.net>
34985
34986         Work around difference between Linux ACLs and Solaris 10 ZFS.
34987         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
34988         for EINVAL.
34989
34990 2007-03-03  Bruno Haible  <bruno@clisp.org>
34991
34992         * modules/relocatable-prog (Depends-on): Add back progreloc's
34993         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
34994
34995 2007-03-03  Bruno Haible  <bruno@clisp.org>
34996
34997         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
34998         * modules/relocatable-lib: New file.
34999
35000 2007-03-03  Bruno Haible  <bruno@clisp.org>
35001
35002         * modules/relocatable-prog: Renamed from modules/relocatable.
35003         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
35004
35005 2007-03-03  Bruno Haible  <bruno@clisp.org>
35006
35007         * modules/relocatable-script (Files): Add doc/relocatable.texi,
35008         m4/relocatable-lib.m4.
35009         (Depends-on): Remove 'relocatable'.
35010         (configure.ac): Add gl_RELOCATABLE_NOP.
35011
35012 2007-03-03  Bruno Haible  <bruno@clisp.org>
35013
35014         * modules/relocatable-prog-wrapper: New file.
35015         * modules/relocatable (Depends-on): Add it. Remove all other
35016         dependencies except progname.
35017         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
35018
35019         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
35020         (gl_FUNC_STRERROR): Nop.
35021         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
35022
35023         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
35024         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
35025
35026         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
35027         (gl_FUNC_READLINK): Update.
35028
35029         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
35030
35031 2007-03-03  Bruno Haible  <bruno@clisp.org>
35032
35033         * lib/xreadlink.c: Include <unistd.h> unconditionally.
35034         * modules/xreadlink (Depends-on): Add unistd.
35035         * modules/xreadlink-with-size (Depends-on): Likewise.
35036
35037 2007-03-03  Bruno Haible  <bruno@clisp.org>
35038
35039         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
35040         extracted from gt_FUNC_SETENV.
35041         (gt_FUNC_SETENV): Remove macro.
35042         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
35043         remove gt_FUNC_SETENV.
35044
35045 2007-03-03  Bruno Haible  <bruno@clisp.org>
35046
35047         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
35048         ENABLE_RELOCATABLE here.
35049         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
35050
35051 2007-03-03  Bruno Haible  <bruno@clisp.org>
35052
35053         * modules/rbtreehash-list-tests (Depends-on): Add progname.
35054         * tests/test-rbtreehash_list.c: Include progname.h.
35055         (main): Call set_program_name.
35056
35057         * modules/rbtree-oset-tests (Depends-on): Add progname.
35058         * tests/test-rbtree_oset.c: Include progname.h.
35059         (main): Call set_program_name.
35060
35061         * modules/rbtree-list-tests (Depends-on): Add progname.
35062         * tests/test-rbtree_list.c: Include progname.h.
35063         (main): Call set_program_name.
35064
35065         * modules/linked-list-tests (Depends-on): Add progname.
35066         * tests/test-linked_list.c: Include progname.h.
35067         (main): Call set_program_name.
35068
35069 2007-03-03  Bruno Haible  <bruno@clisp.org>
35070
35071         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
35072         All uses of __restrict changed to _Restrict_.
35073         * lib/glob_.h (__restrict): Remove macro.
35074
35075 2007-03-02  Bruno Haible  <bruno@clisp.org>
35076
35077         * modules/gettext (configure.ac): Require gettext infrastructure
35078         from version 0.16.1.
35079
35080 2007-03-02  Bruno Haible  <bruno@clisp.org>
35081
35082         * modules/linkedhash-list-tests (Depends-on): Add progname.
35083         * tests/test-linkedhash_list.c: Include progname.h.
35084         (main): Call set_program_name.
35085
35086         * modules/carray-list-tests (Depends-on): Add progname.
35087         * tests/test-carray_list.c: Include progname.h.
35088         (main): Call set_program_name.
35089
35090         * modules/avltreehash-list-tests (Depends-on): Add progname.
35091         * tests/test-avltreehash_list.c: Include progname.h.
35092         (main): Call set_program_name.
35093
35094         * modules/avltree-oset-tests (Depends-on): Add progname.
35095         * tests/test-avltree_oset.c: Include progname.h.
35096         (main): Call set_program_name.
35097
35098         * modules/avltree-list-tests (Depends-on): Add progname.
35099         * tests/test-avltree_list.c: Include progname.h.
35100         (main): Call set_program_name.
35101
35102         * modules/array-oset-tests (Depends-on): Add progname.
35103         * tests/test-array_oset.c: Include progname.h.
35104         (main): Call set_program_name.
35105
35106         * modules/array-list-tests (Depends-on): Add progname.
35107         * tests/test-array_list.c: Include progname.h.
35108         (main): Call set_program_name.
35109
35110         * modules/argp-tests (Depends-on): Add progname.
35111         * tests/test-argp.c: Include argp.h first. Include progname.h.
35112         (main): Call set_program_name.
35113
35114 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35115
35116         * doc/gnulib-tool.texi (Initial import): Reword description of
35117         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
35118         limited effect even if defined after the first system include.
35119
35120 2007-03-01  Bruno Haible  <bruno@clisp.org>
35121
35122         * build-aux/config.libpath: Update to libtool-1.5.22.
35123         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35124
35125 2007-03-01  Bruno Haible  <bruno@clisp.org>
35126
35127         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
35128         foo_CFLAGS.
35129         Reported by Ralf Wildenhues.
35130
35131 2007-03-01  Bruno Haible  <bruno@clisp.org>
35132
35133         * build-aux/install-reloc: Remove object files left over by some
35134         compilers.
35135         Reported by Ralf Wildenhues.
35136
35137 2007-03-01  Bruno Haible  <bruno@clisp.org>
35138
35139         * build-aux/install-reloc: Break long lines.
35140
35141 2007-03-01  Bruno Haible  <bruno@clisp.org>
35142
35143         * doc/relocatable.texi: Document that it may not work on OpenBSD.
35144         Reported by Ralf Wildenhues.
35145
35146 2007-03-01  Bruno Haible  <bruno@clisp.org>
35147
35148         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
35149         include ordering constraints.
35150
35151 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35152
35153         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
35154         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
35155         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
35156         as another example.
35157         * lib/time_.h: Fix misspelling.
35158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35159         Require gl_HEADER_TIME_H_DEFAULTS.
35160         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
35161         * m4/time_r.m4 (gl_TIME_R): Likewise.
35162         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
35163
35164 2007-03-01  Bruno Haible  <bruno@clisp.org>
35165
35166         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
35167         * m4/utimens.m4 (gl_UTIMENS): Likewise.
35168
35169 2007-03-01  Jim Meyering  <jim@meyering.net>
35170
35171         * modules/xreadlink (Maintainer): Add my name.
35172         * modules/xreadlink-with-size (Depends-on): Alphabetize.
35173
35174 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
35175             Bruno Haible  <bruno@clisp.org>
35176
35177         * build-aux/install-reloc: Compile also c-ctype.c.
35178         * build-aux/relocatable.sh.in: New file.
35179         * doc/relocatable.texi: New file.
35180         * doc/relocatable-maint.texi: New file.
35181         * doc/gnulib.texi: Include relocatable-maint.texi.
35182         * lib/progreloc.c: Include unistd.h unconditionally.
35183         * lib/relocwrapper.c: Include unistd.h unconditionally.
35184         Include c-ctype.h.
35185         (add_dotbin): Use c_tolower.
35186         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
35187         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
35188         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
35189         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
35190         to m4/relocatable-lib.m4.
35191         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
35192         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
35193         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
35194         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
35195         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
35196         * modules/relocatable: New file.
35197         * modules/relocatable-lib: New file.
35198         * modules/relocatable-script: New file.
35199
35200 2007-02-28  Bruno Haible  <bruno@clisp.org>
35201
35202         Import --enable-relocatable infrastructure.
35203         * build-aux/config.libpath: New file, from GNU gettext.
35204         * build-aux/install-reloc: New file, from GNU gettext.
35205         * build-aux/reloc-ldflags: New file, from GNU gettext.
35206         * lib/relocatable.h: New file, from GNU gettext.
35207         * lib/relocatable.c: New file, from GNU gettext.
35208         * lib/relocwrapper.c: New file, from GNU gettext.
35209         * m4/relocatable.m4: New file, from GNU gettext.
35210
35211 2007-02-28  Bruno Haible  <bruno@clisp.org>
35212
35213         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
35214
35215         * modules/xreadlink: New file, from GNU gettext with modifications.
35216         * lib/xreadlink.c: New file, from GNU gettext.
35217         * lib/xreadlink.h: Add comments.
35218         (xreadlink): New declaration.
35219
35220         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
35221         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
35222         lib/xreadlink-with-size.c.
35223         (configure.ac): Remove gl_XREADLINK invocation.
35224         (Makefile.am): Augment lib_SOURCES.
35225         * m4/xreadlink.m4: Remove file.
35226         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
35227         (xreadlink_with_size): Renamed from xreadink.
35228         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
35229         * modules/canonicalize (Depends-on): Replace xreadlink with
35230         xreadlink-with-size.
35231         * lib/canonicalize.c (canonicalize_filename_mode): Update.
35232
35233 2007-02-25  Jim Meyering  <jim@meyering.net>
35234
35235         * build-aux/announce-gen: When complaining about excess arguments,
35236         list them.
35237
35238 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35239
35240         * README: Document signed integer overflow situation more
35241         accurately.
35242
35243 2007-02-25  Bruno Haible  <bruno@clisp.org>
35244
35245         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
35246         'a' or 'A' conversion.
35247
35248 2007-02-25  Bruno Haible  <bruno@clisp.org>
35249
35250         * modules/filename: Renamed from modules/pathname.
35251         (Files): Replace lib/pathname.h with lib/filename.h. Replace
35252         lib/concatpath.c with lib/concat-filename.c.
35253         (Makefile.am): Update.
35254         (Include): Replace pathname.h with filename.h.
35255         * lib/filename.h: Renamed from lib/pathname.h.
35256         (concatenated_filename): Renamed from concatenated_pathname.
35257         * lib/concat-filename.c: Renamed from lib/concatpath.c.
35258         (concatenated_filename): Renamed from concatenated_pathname.
35259         * lib/findprog.c: Include filename.h instead of pathname.h.
35260         (find_in_path): Update.
35261         * lib/javacomp.c: Include filename.h instead of pathname.h.
35262         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35263         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35264         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35265         is_oldgcj_14_13_usable, is_javac_usable): Update.
35266         * lib/javaexec.c: Include filename.h instead of pathname.h.
35267         (execute_java_class): Update.
35268         * modules/findprog: Update.
35269         * modules/javacomp: Update.
35270         * modules/javaexec: Update.
35271         * MODULES.html.sh (File system functions): Add 'filename', remove
35272         'pathname'.
35273
35274 2007-02-25  Bruno Haible  <bruno@clisp.org>
35275
35276         * modules/printf-frexpl-tests: New file.
35277         * tests/test-printf-frexpl.c: New file.
35278
35279         * modules/printf-frexpl: New file.
35280         * lib/printf-frexpl.h: New file.
35281         * lib/printf-frexpl.c: New file.
35282         * m4/printf-frexpl.m4: New file.
35283
35284 2007-02-25  Bruno Haible  <bruno@clisp.org>
35285
35286         * modules/printf-frexp-tests: New file.
35287         * tests/test-printf-frexp.c: New file.
35288
35289         * modules/printf-frexp: New file.
35290         * lib/printf-frexp.h: New file.
35291         * lib/printf-frexp.c: New file.
35292         * m4/printf-frexp.m4: New file.
35293
35294 2007-02-25  Bruno Haible  <bruno@clisp.org>
35295
35296         Assume automake >= 1.10 for the tests.
35297         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
35298         * modules/arctwo-tests: Likewise.
35299         * modules/argp-tests: Likewise.
35300         * modules/avltree-list-tests: Likewise.
35301         * modules/avltree-oset-tests: Likewise.
35302         * modules/avltreehash-list-tests: Likewise.
35303         * modules/carray-list-tests: Likewise.
35304         * modules/crc-tests: Likewise.
35305         * modules/des-tests: Likewise.
35306         * modules/gc-arcfour-tests: Likewise.
35307         * modules/gc-arctwo-tests: Likewise.
35308         * modules/gc-des-tests: Likewise.
35309         * modules/gc-hmac-md5-tests: Likewise.
35310         * modules/gc-hmac-sha1-tests: Likewise.
35311         * modules/gc-md2-tests: Likewise.
35312         * modules/gc-md4-tests: Likewise.
35313         * modules/gc-md5-tests: Likewise.
35314         * modules/gc-pbkdf2-sha1-tests: Likewise.
35315         * modules/gc-rijndael-tests: Likewise.
35316         * modules/gc-sha1-tests: Likewise.
35317         * modules/gc-tests: Likewise.
35318         * modules/getaddrinfo-tests: Likewise.
35319         * modules/hmac-md5-tests: Likewise.
35320         * modules/hmac-sha1-tests: Likewise.
35321         * modules/linked-list-tests: Likewise.
35322         * modules/linkedhash-list-tests: Likewise.
35323         * modules/lock-tests: Likewise.
35324         * modules/md2-tests: Likewise.
35325         * modules/md4-tests: Likewise.
35326         * modules/md5-tests: Likewise.
35327         * modules/rbtree-list-tests: Likewise.
35328         * modules/rbtree-oset-tests: Likewise.
35329         * modules/rbtreehash-list-tests: Likewise.
35330         * modules/read-file-tests: Likewise.
35331         * modules/rijndael-tests: Likewise.
35332         * modules/stdint-tests: Likewise.
35333         * modules/tls-tests: Likewise.
35334
35335 2007-02-24  Bruno Haible  <bruno@clisp.org>
35336
35337         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
35338         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
35339         function; instead check whether isnan with a double argument links.
35340         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
35341         function; instead check whether isnan with a 'long double' argument
35342         links.
35343         Reported by Eric Blake <ebb9@byu.net>.
35344
35345 2007-02-24  Bruno Haible  <bruno@clisp.org>
35346
35347         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
35348         defined.
35349         * lib/isnanl.c: Remove all code. Just include isnan.c.
35350         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
35351
35352 2007-02-25  Jim Meyering  <jim@meyering.net>
35353
35354         Avoid conflicting types for 'unsetenv' on FreeBSD.
35355         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
35356         conflicting with FreeBSD's (5.0 and 6.1) function declaration
35357         in stdlib.h.
35358
35359 2007-02-24  Bruno Haible  <bruno@clisp.org>
35360
35361         * modules/isnanl-nolibm-tests: New file.
35362         * tests/test-isnanl.c: New file.
35363
35364         * modules/isnanl-nolibm: New file.
35365         * lib/isnanl.h: New file.
35366         * lib/isnanl.c: New file.
35367         * m4/isnanl.m4: New file.
35368
35369 2007-02-24  Bruno Haible  <bruno@clisp.org>
35370
35371         * modules/isnan-nolibm-tests: New file.
35372         * tests/test-isnan.c: New file.
35373
35374         * modules/isnan-nolibm: New file.
35375         * lib/isnan.h: New file.
35376         * lib/isnan.c: New file.
35377         * m4/isnan.m4: New file.
35378
35379 2007-02-24  Bruno Haible  <bruno@clisp.org>
35380
35381         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
35382         assume that an exponent fits in 20 bits.
35383
35384 2007-02-24  Jim Meyering  <jim@meyering.net>
35385
35386         * m4/regex.m4: Update the description of the configure-time option,
35387         --without-included-regex, to state accurately what the defaults are,
35388         and perhaps to give people an idea why using this option is risky.
35389
35390 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
35391
35392         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
35393         loops on small arguments.  This attempts to avoid the problem
35394         Bruno Haible reported for AIX 4.3.2 in
35395         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
35396
35397 2007-02-23  Bruno Haible  <bruno@clisp.org>
35398
35399         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
35400         Needed for help2man.
35401
35402 2007-02-23  Karl Berry  <karl@gnu.org>
35403
35404         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
35405         exists, foo.h should be cvs-ignored, not committed.
35406
35407 2007-02-23  Eric Blake  <ebb9@byu.net>
35408
35409         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
35410         * lib/stat-time.h (includes): Likewise.
35411         * lib/utimecmp.c (includes): Likewise.
35412         * lib/utimens.h (includes): Likewise.
35413         * lib/getdate.y (includes): Also include "timespec.h" for use
35414         internal to the module.
35415         * modules/utimens (Depends-on): Revert yesterday's patch.
35416         * modules/nanosleep (Depends-on): Add missing dependency.
35417
35418 2007-02-22  Bruno Haible  <bruno@clisp.org>
35419
35420         * lib/glob.c: Don't include getlogin_r.h.
35421
35422 2007-02-22  Jim Meyering  <jim@meyering.net>
35423
35424         * modules/utimens (Depends-on): Add timespec, required for
35425         utimens.h's inclusion of timespec.h.
35426
35427 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35428
35429         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
35430         long unreadable paths in GNU/Linux.  Problem reported by Andreas
35431         Schwab in
35432         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
35433         I'll try to think of a better way to fix the Solaris problem.
35434
35435         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
35436         like glibc; on Solaris 10, it fails with errno == EINVAL.
35437         POSIX says the behavior is unspecified if the first argument is NULL,
35438         so play it safe and never pass NULL to the system getcwd.
35439
35440 2007-02-21  Jim Meyering  <jim@meyering.net>
35441
35442         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
35443         of gettimeofday.  It would conflict with the one now always
35444         provided via sys_time_.h.  Reported by Matthew Woehlke, as
35445         an IRIX 6.5 build failure.
35446
35447 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35448
35449         Minor fixups to port to Solaris 10 with Sun C 5.8.
35450         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
35451         * modules/getcwd (Depends-on): Add dirfd.
35452         * lib/putenv.c (putenv): #undef it.
35453         (rpl_putenv): New decl.
35454         (malloc, free): Include <stdlib.h> rather than prototyping separately.
35455
35456 2007-02-20  Bruno Haible  <bruno@clisp.org>
35457
35458         * modules/stdio-tests: New file.
35459         * tests/test-stdio.c: New file.
35460
35461         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
35462         (Depends-on): Add stdio.
35463         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35464         (Include): Use <stdio.h> instead of vsnprintf.h.
35465         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35466         HAVE_DECL_VSNPRINTF.
35467         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
35468
35469         * modules/snprintf (Files): Remove lib/snprintf.h.
35470         (Depends-on): Add stdio.
35471         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35472         (Include): Use <stdio.h> instead of snprintf.h.
35473         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35474         HAVE_DECL_SNPRINTF.
35475         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
35476         * lib/getaddrinfo.c: Likewise.
35477
35478         * modules/stdio: New file.
35479         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
35480         * lib/snprintf.h: Remove file.
35481         * lib/vsnprintf.h: Remove file.
35482         * lib/.cppi-disable: Remove snprintf.h.
35483         * m4/stdio_h.m4: New file.
35484         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
35485
35486 2007-02-20  Jim Meyering  <jim@meyering.net>
35487
35488         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
35489         used by e.g., mingw.  From Bruno Haible.
35490
35491 2007-02-19  Bruno Haible  <bruno@clisp.org>
35492
35493         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
35494         warnings.
35495         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35496
35497 2007-02-19  Bruno Haible  <bruno@clisp.org>
35498
35499         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
35500         from mingw users.
35501
35502 2007-02-19  Bruno Haible  <bruno@clisp.org>
35503
35504         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
35505         warnings.
35506         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
35507
35508 2007-02-19  Jim Meyering  <jim@meyering.net>
35509
35510         Don't use FD after a successful "fdopendir (fd)".
35511         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
35512         Reset it by calling dirfd on the just-obtained DIR*.
35513
35514         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
35515         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
35516
35517 2007-02-18  Bruno Haible  <bruno@clisp.org>
35518
35519         * lib/readlink.c: Include <unistd.h>.
35520         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
35521         HAVE_READLINK.
35522         * modules/readlink (Depends-on): Add unistd.
35523         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35524         (Include): Add <unistd.h>.
35525
35526         * lib/getlogin_r.h: Remove file.
35527         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
35528         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
35529         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
35530         HAVE_DECL_GETLOGIN_R.
35531         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
35532         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35533         (Include): Use <unistd.h> instead of getlogin_r.h.
35534
35535         * lib/getcwd.h: Remove file.
35536         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
35537         * lib/xgetcwd.c: Likewise.
35538         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
35539         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
35540         * modules/getcwd (Files): Remove lib/getcwd.h.
35541         (Depends-on): Add unistd.
35542         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35543         (Include): Use <unistd.h> instad of getcwd.h.
35544
35545         * lib/ftruncate.c: Include <unistd.h> first.
35546         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
35547         Set HAVE_FTRUNCATE.
35548         * modules/ftruncate (Depends-on): Add unistd.
35549         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35550
35551         * lib/fchdir.c: Include <unistd.h> first.
35552         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
35553         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
35554         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
35555         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35556         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
35557
35558         * lib/dup2.c: Include <unistd.h> first.
35559         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
35560         HAVE_DUP2.
35561         * modules/dup2 (Depends-on): Add unistd.
35562         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35563
35564         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
35565         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
35566         REPLACE_CHOWN. Don't define chown as a macro here.
35567         * modules/chown (Depends-on): Add unistd.
35568         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35569
35570         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
35571         Add definition for GL_LINK_WARNING.
35572         (chown, dup2): New declarations.
35573         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
35574         link warning.
35575         (ftruncate): New declaration.
35576         (getcwd): New declaration, taken from old getcwd.h.
35577         (getlogin_r): New declaration, taken from old getlogin_r.h.
35578         (readlink): New declaration.
35579         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
35580         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
35581         (gl_PREREQ_UNISTD): Remove macro.
35582         (gl_UNISTD_MODULE_INDICATOR): New macro.
35583         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
35584         many new variables. Don't set UNISTD_H.
35585         * modules/unistd (Description): Change.
35586         (Depends-on): Add link-warning.
35587         (configure.ac): Update.
35588         (Makefile.am): Create unistd.h always. Substitute many new variables
35589         into it.
35590
35591 2007-02-18  Bruno Haible  <bruno@clisp.org>
35592
35593         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
35594         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
35595         HAVE_GETSUBOPT.
35596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
35597         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
35598         * lib/getsubopt.h: Remove file.
35599         * modules/getsubopt (Files): Remove lib/getsubopt.h.
35600         (Depends-on): Add stdlib.
35601         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35602         (Includes): Use <stdlib.h> instead of getsubopt.h.
35603         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
35604         Set HAVE_GETSUBOPT.
35605         * lib/getsubopt.c: Don't include getsubopt.h.
35606
35607 2007-02-18  Bruno Haible  <bruno@clisp.org>
35608
35609         * modules/fchdir (Depends-on): Add dup2.
35610
35611 2007-02-18  Bruno Haible  <bruno@clisp.org>
35612
35613         * lib/stdlib_.h: Handle glibc's special invocation convention
35614         specially.
35615
35616 2007-02-18  Bruno Haible  <bruno@clisp.org>
35617
35618         * modules/stdlib-tests: New file.
35619         * tests/test-stdlib.c: New file.
35620
35621         * modules/mkstemp (Files): Remove lib/mkstemp.h.
35622         (Depends-on): Add stdlib.
35623         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35624         (Includes): Use <stdlib.h> instead of mkstemp.h.
35625         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
35626         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
35627         * lib/mkstemp.c: Don't include mkstemp.h.
35628         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
35629         * lib/stdlib--.h: Don't include mkstemp.h.
35630
35631         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
35632         (Depends-on): Add stdlib.
35633         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35634         (Includes): Use <stdlib.h> instead of mkdtemp.h.
35635         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
35636         HAVE_MKDTEMP.
35637         * lib/mkdtemp.c: Don't include mkdtemp.h.
35638         * lib/clean-temp.c: Don't include mkdtemp.h.
35639
35640         * modules/exit (Files): Remove lib/exit.h.
35641         (Depends-on): Add stdlib.
35642         (Makefile.am): Remove lib_SOURCES.
35643         (Include): Use <stdlib.h> instead of exit.h.
35644         * lib/argmatch.c: Don't include exit.h.
35645         * lib/execute.c: Likewise.
35646         * lib/pagealign_alloc.c: Likewise.
35647         * lib/pipe.c: Likewise.
35648         * lib/wait-process.c: Likewise.
35649         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
35650         * lib/exitfail.c: Likewise.
35651         * lib/savewd.c: Likewise.
35652         * lib/xsetenv.c: Likewise.
35653
35654         * modules/stdlib: New file.
35655         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
35656         and extra comments about mkstemp().
35657         * lib/exit.h: Remove file.
35658         * lib/mkdtemp.h: Remove file.
35659         * lib/mkstemp.h: Remove file.
35660         * m4/stdlib_h.m4: New file.
35661         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
35662
35663 2007-02-18  Bruno Haible  <bruno@clisp.org>
35664
35665         * modules/math-tests: New file.
35666         * tests/test-math.c: New file.
35667
35668         * modules/math: New file.
35669         * modules/mathl (Files): Remove lib/mathl.h.
35670         (Depends-on): Add math.
35671         (Makefile.am): Don't mention mathl.h.
35672         (Include): Use <math.h> instead of mathl.h.
35673         * lib/math_.h: New file.
35674         * lib/mathl.h: Remove file.
35675         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
35676         mathl.h.
35677         * lib/asinl.c: Likewise.
35678         * lib/atanl.c: Likewise.
35679         * lib/ceill.c: Likewise.
35680         * lib/cosl.c: Likewise.
35681         * lib/expl.c: Likewise.
35682         * lib/floorl.c: Likewise.
35683         * lib/frexpl.c: Likewise.
35684         * lib/ldexpl.c: Likewise.
35685         * lib/logl.c: Likewise.
35686         * lib/sincosl.c: Likewise.
35687         * lib/sinl.c: Likewise.
35688         * lib/sqrtl.c: Likewise.
35689         * lib/tanl.c: Likewise.
35690         * lib/trigl.c: Likewise.
35691         * m4/math_h.m4: New file.
35692         * MODULES.html.sh (Mathematics): Add math.
35693
35694 2007-02-17  Bruno Haible  <bruno@clisp.org>
35695
35696         * modules/wctype-tests: New file.
35697         * tests/test-wctype.c: New file.
35698
35699         * modules/wchar-tests: New file.
35700         * tests/test-wchar.c: New file.
35701
35702         * modules/unistd-tests: New file.
35703         * tests/test-unistd.c: New file.
35704
35705         * modules/time-tests: New file.
35706         * tests/test-time.c: New file.
35707
35708         * modules/sysexits-tests: New file.
35709         * tests/test-sysexits.c: New file.
35710
35711         * modules/sys_time-tests: New file.
35712         * tests/test-sys_time.c: New file.
35713
35714         * modules/sys_stat-tests: New file.
35715         * tests/test-sys_stat.c: New file.
35716
35717         * modules/sys_socket-tests: New file.
35718         * tests/test-sys_socket.c: New file.
35719
35720         * modules/sys_select-tests: New file.
35721         * tests/test-sys_select.c: New file.
35722
35723         * modules/string-tests: New file.
35724         * tests/test-string.c: New file.
35725
35726         * modules/stdbool-tests: New file.
35727         * tests/test-stdbool.c: New file.
35728
35729         * modules/netinet_in-tests: New file.
35730         * tests/test-netinet_in.c: New file.
35731
35732         * modules/inttypes-tests: New file.
35733         * tests/test-inttypes.c: New file.
35734
35735         * modules/fcntl-tests: New file.
35736         * tests/test-fcntl.c: New file.
35737
35738         * modules/byteswap-tests: New file.
35739         * tests/test-byteswap.c: New file.
35740
35741         * modules/arpa_inet-tests: New file.
35742         * tests/test-arpa_inet.c: New file.
35743
35744 2007-02-17  Bruno Haible  <bruno@clisp.org>
35745
35746         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
35747         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
35748         if the corresponding module is not enabled. Emit link warnings if
35749         the function is used nevertheless.
35750         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
35751         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
35752         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
35753         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
35754         * modules/inttypes (Depends-on): Add link-warning.
35755         (Makefile.am): Copy the contents of build-aux/link-warning.h into
35756         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
35757         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
35758         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
35759         * modules/imaxdiv (configure.ac): Likewise.
35760         * modules/strtoimax (configure.ac): Likewise.
35761         * modules/strtoumax (configure.ac): Likewise.
35762
35763 2007-02-17  Bruno Haible  <bruno@clisp.org>
35764
35765         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
35766         gl_STRING_MODULE_INDICATOR_DEFAULTS.
35767         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
35768         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
35769
35770 2007-02-17  Bruno Haible  <bruno@clisp.org>
35771
35772         * modules/link-warning: New file.
35773         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
35774         * lib/string_.h (GL_LINK_WARNING): Remove definition.
35775         * modules/string (Depends-on): Add link-warning.
35776         (Makefile.am): Copy the contents of build-aux/link-warning.h into
35777         string.h.
35778         * MODULES.html.sh (Support for building libraries and executables): Add
35779         link-warning.
35780
35781 2007-02-17  Bruno Haible  <bruno@clisp.org>
35782
35783         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
35784         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
35785         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
35786         long lines.
35787
35788 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
35789             Bruno Haible  <bruno@clisp.org>
35790
35791         * modules/tmpfile: New file.
35792         * lib/tmpfile.c: New file.
35793         * m4/tmpfile.m4: New file.
35794         * MODULES.html.sh (func_all_modules): New section "Input/output".
35795
35796 2007-02-15  Bruno Haible  <bruno@clisp.org>
35797
35798         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
35799         (supports_delete_on_close): New function.
35800         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
35801
35802 2007-02-14  Bruno Haible  <bruno@clisp.org>
35803
35804         * modules/mbspcasecmp-tests: New file.
35805         * tests/test-mbspcasecmp.sh: New file.
35806         * tests/test-mbspcasecmp.c: New file.
35807
35808         New module mbspcasecmp.
35809         * modules/mbspcasecmp: New file.
35810         * lib/mbspcasecmp.c: New file.
35811         * lib/string_.h (strncasecmp): Change warning message.
35812         (mbspcasecmp): New declaration.
35813         * m4/mbspcasecmp.m4: New file.
35814         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35815         GNULIB_MBSPCASECMP.
35816         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
35817         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
35818
35819 2007-02-14  Bruno Haible  <bruno@clisp.org>
35820
35821         * modules/mbsncasecmp-tests: New file.
35822         * tests/test-mbsncasecmp.sh: New file.
35823         * tests/test-mbsncasecmp.c: New file.
35824
35825         New module mbsncasecmp.
35826         * modules/mbsncasecmp: New file.
35827         * lib/mbsncasecmp.c: New file.
35828         * lib/string_.h (mbsncasecmp): New declaration.
35829         * m4/mbsncasecmp.m4: New file.
35830         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35831         GNULIB_MBSNCASECMP.
35832         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
35833         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
35834
35835 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35836
35837         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
35838         Verify that it doesn't overlap with our flags.
35839         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
35840         do not have the desired effect in multibyte locales; instead, use
35841         mbscasecmp.
35842         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
35843         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
35844         we don't require GNU fnmatch ourselves (if our users require it, they
35845         should do so explicitly).
35846
35847         Fix regex code so it doesn't rely on strcasecmp.
35848         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
35849         Otherwise, include gnulib's langinfo.h.
35850         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
35851         undesirable behavior in non-C locales.  Instead, rely on localecharset.
35852         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
35853         * modules/regex (FILES): Remove m4/codeset.m4.
35854         (Depends-on): Add localcharset.  Remove strcase.
35855
35856 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35857
35858         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
35859         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
35860
35861 2007-02-13  Bruno Haible  <bruno@clisp.org>
35862
35863         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
35864         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35865
35866 2007-02-12  Bruno Haible  <bruno@clisp.org>
35867
35868         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
35869         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
35870         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
35871         time warning rather than a link error.
35872
35873 2007-02-12  Bruno Haible  <bruno@clisp.org>
35874
35875         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
35876         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
35877         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35878
35879 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
35880
35881         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
35882         args, not 2.
35883
35884 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
35885
35886         New module 'time', so that apps can include <time.h> as per
35887         POSIX and GNU instead of separate include files like time_r.h
35888         and timegm.h.  This implementation tries out a simpler approach
35889         for replacing decls in standard include files (as compared to
35890         the string module), somewhat as an experiment.
35891
35892         * config/srclist.txt: Comment out mktime.c for now.
35893         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
35894         since it doesn't apply any more.  Use generic wording instead.
35895         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
35896         'time'.
35897         * lib/time_.h, m4/time_h.m4, modules/time: New files.
35898         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
35899         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
35900         Don't include <sys/types.h>; no longer needed since we assume C89.
35901         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
35902         * lib/strftime.c: Likewise.
35903         * lib/time_r.c: Likewise.
35904         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
35905         * lib/nanosleep.c: Include <time.h> first, to check interface.
35906         * lib/strptime.c: Likewise.
35907         * lib/time_r.c: Likewise.
35908         * lib/timegm.c: Likewise.
35909         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
35910         needed.
35911         * lib/timegm.c: Don't include timegm.h; no longer needed.
35912         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
35913         time.h now handles any problems in that area.
35914         (struct timespec, nanosleep): Remove; time.h now arranges for these.
35915         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
35916         that time.h defines struct timespec.
35917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
35918         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
35919         handles that.
35920         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
35921         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
35922         needed.  Set REPLACE_LOCALTIME.
35923         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
35924         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
35925         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
35926         nanosleep; time_h.m4 now does that.  Don't require
35927         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
35928         module handles this now.
35929         * modules/getdate (Depends-on): Remove timespec.  Add time.
35930         * modules/nanosleep (Depends-on): Likewise.
35931         * modules/stat-time (Depends-on): Likewise.
35932         * modules/nanosleep (Include): Include time.h, not timespec.h.
35933         * modules/strptime (Files): Remove lib/strptime.h.
35934         (Depends-on): Add extensions, time.
35935         (Include): Include time.h, not strptime.h.
35936         * modules/time_r (Files): Remove lib/time_r.h.
35937         (Depends-on): Add time.
35938         (Include): Include time.h, not time_r.h.
35939         * modules/timegm: Likewise.
35940         * modules/timespec (Description): Now does timespec-related decls
35941         of our own, instead of struct timespec itself.
35942         (Depends-on): Add time; remove extensions.
35943         (Maintainer): Add self.
35944         * modules/utimecmp (Depends-on): Add time; remove timespec.
35945         * modules/utimens (Depends-on): Likewise.
35946         * modules/xnanosleep (Depends-on): Likewise.
35947
35948 2007-02-11  Bruno Haible  <bruno@clisp.org>
35949
35950         * lib/c-strstr.c: Include allocsa.h.
35951         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35952         * lib/c-strcasestr.c: Include allocsa.h.
35953         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35954         * lib/strcasestr.c: Include allocsa.h.
35955         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
35956         * lib/mbsstr.c: Include allocsa.h.
35957         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
35958         allocsa/freesa instead of malloc/free.
35959         * lib/mbscasestr.c: Include allocsa.h.
35960         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
35961         allocsa/freesa instead of malloc/free.
35962         * modules/c-strstr (Depends-on): Add allocsa.
35963         * modules/c-strcasestr (Depends-on): Likewise.
35964         * modules/strcasestr (Depends-on): Likewise.
35965         * modules/mbsstr (Depends-on): Likewise.
35966         * modules/mbscasestr (Depends-on): Likewise.
35967
35968 2007-02-11  Bruno Haible  <bruno@clisp.org>
35969
35970         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
35971
35972         * modules/mbsspn-tests: New file.
35973         * tests/test-mbsspn.sh: New file.
35974         * tests/test-mbsspn.c: New file.
35975
35976 2007-02-11  Bruno Haible  <bruno@clisp.org>
35977
35978         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
35979
35980         * modules/mbspbrk-tests: New file.
35981         * tests/test-mbspbrk.sh: New file.
35982         * tests/test-mbspbrk.c: New file.
35983
35984 2007-02-11  Bruno Haible  <bruno@clisp.org>
35985
35986         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
35987         unneeded cast.
35988
35989         * modules/mbscspn-tests: New file.
35990         * tests/test-mbscspn.sh: New file.
35991         * tests/test-mbscspn.c: New file.
35992
35993 2007-02-11  Bruno Haible  <bruno@clisp.org>
35994
35995         * modules/mbscasecmp-tests: New file.
35996         * tests/test-mbscasecmp.sh: New file.
35997         * tests/test-mbscasecmp.c: New file.
35998
35999 2007-02-11  Bruno Haible  <bruno@clisp.org>
36000
36001         Ensure O(n) worst-case complexity of mbscasestr.
36002         * lib/mbscasestr.c: Include stdbool.h.
36003         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36004         functions.
36005         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
36006         the bookkeeping indicates that it's worth it.
36007         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
36008
36009         * modules/mbscasestr-tests: New file.
36010         * tests/test-mbscasestr1.c: New file.
36011         * tests/test-mbscasestr2.sh: New file.
36012         * tests/test-mbscasestr2.c: New file.
36013         * tests/test-mbscasestr3.sh: New file.
36014         * tests/test-mbscasestr3.c: New file.
36015         * tests/test-mbscasestr4.sh: New file.
36016         * tests/test-mbscasestr4.c: New file.
36017         * m4/locale-tr.m4: New file.
36018
36019 2007-02-11  Bruno Haible  <bruno@clisp.org>
36020
36021         Ensure O(n) worst-case complexity of mbsstr.
36022         * lib/mbsstr.c: Include stdbool.h.
36023         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36024         functions.
36025         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
36026         bookkeeping indicates that it's worth it.
36027         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
36028
36029         * modules/mbsstr-tests: New file.
36030         * tests/test-mbsstr1.c: New file.
36031         * tests/test-mbsstr2.sh: New file.
36032         * tests/test-mbsstr2.c: New file.
36033         * tests/test-mbsstr3.sh: New file.
36034         * tests/test-mbsstr3.c: New file.
36035         * m4/locale-fr.m4: New file.
36036
36037 2007-02-11  Bruno Haible  <bruno@clisp.org>
36038
36039         * lib/mbsrchr.c (mbsrchr): Fix bug.
36040
36041         * modules/mbsrchr-tests: New file.
36042         * tests/test-mbsrchr.sh: New file.
36043         * tests/test-mbsrchr.c: New file.
36044
36045 2007-02-11  Bruno Haible  <bruno@clisp.org>
36046
36047         * lib/mbschr.c (mbschr): Fix bug.
36048
36049         * modules/mbschr-tests: New file.
36050         * tests/test-mbschr.sh: New file.
36051         * tests/test-mbschr.c: New file.
36052         * m4/locale-zh.m4: New file.
36053
36054 2007-02-11  Bruno Haible  <bruno@clisp.org>
36055
36056         Support for copying multibyte string iterators.
36057         * lib/mbiter.h: Include <string.h>.
36058         (mbiter_multi_copy): New function.
36059         (mbi_copy): New macro.
36060         * lib/mbuiter.h: Include <string.h>.
36061         (mbuiter_multi_copy): New function.
36062         (mbui_copy): New macro.
36063
36064 2007-02-11  Bruno Haible  <bruno@clisp.org>
36065
36066         New module mbslen.
36067         * modules/mbslen: New file.
36068         * lib/mbslen.c: New file.
36069         * lib/string_.h (mbslen): New declaration.
36070         * m4/mbslen.m4: New file.
36071         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36072         GNULIB_MBSLEN.
36073         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
36074         * MODULES.html.sh (Internationalization functions): Add mbslen.
36075
36076 2007-02-11  Bruno Haible  <bruno@clisp.org>
36077
36078         Ensure O(n) worst-case complexity of strcasestr substitute.
36079         * lib/strcasestr.c: Include stdbool.h.
36080         (knuth_morris_pratt): New function.
36081         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36082         bookkeeping indicates that it's worth it.
36083         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
36084
36085         * modules/strcasestr-tests: New file.
36086         * tests/test-strcasestr.c: New file.
36087
36088 2007-02-11  Bruno Haible  <bruno@clisp.org>
36089
36090         Ensure O(n) worst-case complexity of c_strcasestr.
36091         * lib/c-strcasestr.c: Include stdbool.h, string.h.
36092         (knuth_morris_pratt): New function.
36093         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
36094         the bookkeeping indicates that it's worth it.
36095         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
36096
36097         * modules/c-strcasestr-tests: New file.
36098         * tests/test-c-strcasestr.c: New file.
36099
36100 2007-02-11  Bruno Haible  <bruno@clisp.org>
36101
36102         Ensure O(n) worst-case complexity of c_strstr.
36103         * lib/c-strstr.c: Include stdbool.h, string.h.
36104         (knuth_morris_pratt): New function.
36105         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36106         bookkeeping indicates that it's worth it.
36107         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
36108
36109         * lib/c-strstr.c: Complete rewrite for maintainability.
36110
36111         * modules/c-strstr-tests: New file.
36112         * tests/test-c-strstr.c: New file.
36113
36114 2007-02-11  Bruno Haible  <bruno@clisp.org>
36115
36116         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
36117         5.2.1 and earlier, whereby \055 was treated just like the range
36118         delimiter '-'.
36119         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36120
36121 2007-02-08  Bruno Haible  <bruno@clisp.org>
36122
36123         * modules/regex (Depends-on): Add stdbool.
36124         Reported by Dalibor Topic <robilad@kaffe.org>.
36125
36126 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36127
36128         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
36129         Prefer returning from main to exiting from it.
36130         Remove unnecessary parens after sizeof.
36131
36132 2007-02-05  Bruno Haible  <bruno@clisp.org>
36133
36134         New module mbssep.
36135         * modules/mbssep: New file.
36136         * lib/mbssep.c: New file.
36137         * lib/string_.h (strsep): Add a conditional link warning.
36138         (mbssep): New declaration.
36139         * m4/mbssep.m4: New file.
36140         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36141         GNULIB_MBSSEP.
36142         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
36143         * MODULES.html.sh (Internationalization functions): Add mbssep.
36144
36145 2007-02-05  Bruno Haible  <bruno@clisp.org>
36146
36147         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
36148         Optimize search in case of 1 delimiter.
36149
36150 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36151
36152         * lib/acl.h: Include sys/types.h before sys/acl.h.
36153
36154 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36155
36156         Merge upstream fix for glibc bugzilla #3957:
36157
36158         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
36159
36160         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
36161         bit for RE_HAT_LISTS_NOT_NEWLINE.
36162         (build_charclass_op): Remove bogus comment.
36163
36164 2007-02-05  Simon Josefsson  <simon@josefsson.org>
36165
36166         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
36167
36168 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36169
36170         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
36171         * lib/memmem.c [!defined _LIBC]: Include config.h.
36172
36173 2007-02-04  Bruno Haible  <bruno@clisp.org>
36174
36175         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
36176         warning message.
36177
36178 2007-02-04  Bruno Haible  <bruno@clisp.org>
36179
36180         New module mbstok_r.
36181         * modules/mbstok_r: New file.
36182         * lib/mbstok_r.c: New file.
36183         * lib/string_.h (strtok_r): Change argument names to match the
36184         comments. Add a conditional link warning.
36185         (mbstok_r): New declaration.
36186         * m4/mbstok_r.m4: New file.
36187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36188         GNULIB_MBSTOK_R.
36189         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
36190         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
36191
36192 2007-02-04  Bruno Haible  <bruno@clisp.org>
36193
36194         New module mbsspn.
36195         * modules/mbsspn: New file.
36196         * lib/mbsspn.c: New file.
36197         * lib/string_.h (strspn): Add a conditional link warning.
36198         (mbsspn): New declaration.
36199         * m4/mbsspn.m4: New file.
36200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36201         GNULIB_MBSSPN.
36202         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
36203         * MODULES.html.sh (Internationalization functions): Add mbsspn.
36204
36205 2007-02-04  Bruno Haible  <bruno@clisp.org>
36206
36207         New module mbspbrk.
36208         * modules/mbspbrk: New file.
36209         * lib/mbspbrk.c: New file.
36210         * lib/string_.h (strpbrk): Add a conditional link warning.
36211         (mbspbrk): New declaration.
36212         * m4/mbspbrk.m4: New file.
36213         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36214         GNULIB_MBSPBRK.
36215         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
36216         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
36217
36218 2007-02-04  Bruno Haible  <bruno@clisp.org>
36219
36220         New module mbscspn.
36221         * modules/mbscspn: New file.
36222         * lib/mbscspn.c: New file.
36223         * lib/string_.h (strcspn): Add a conditional link warning.
36224         (mbscspn): New declaration.
36225         * m4/mbscspn.m4: New file.
36226         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36227         GNULIB_MBSCSPN.
36228         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
36229         * MODULES.html.sh (Internationalization functions): Add mbscspn.
36230
36231 2007-02-04  Bruno Haible  <bruno@clisp.org>
36232
36233         New module mbscasestr, reduced goal of strcasestr.
36234         * modules/mbscasestr: New file.
36235         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
36236         (mbscasestr): Renamed from strcasestr.
36237         * lib/strcasestr.c: Don't include mbuiter.h.
36238         (strcasestr): Remove support for multibyte locales.
36239         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
36240         Change the conditional link warning.
36241         (mbscasestr): New declaration.
36242         * m4/mbscasestr.m4: New file.
36243         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
36244         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
36245         REPLACE_STRCASESTR.
36246         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
36247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36248         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36249         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
36250         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
36251         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36252         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
36253         (Depends-on): Remove mbuiter.
36254         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
36255
36256 2007-02-04  Bruno Haible  <bruno@clisp.org>
36257
36258         Simplify handling of strncasecmp.
36259         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
36260         the conditional link warning.
36261         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36262         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
36263         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
36264         * modules/strcase (configure.ac): Don't invoke
36265         gl_STRING_MODULE_INDICATOR.
36266         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
36267
36268 2007-02-04  Bruno Haible  <bruno@clisp.org>
36269
36270         New module mbscasecmp, reduced goal of strcasecmp.
36271         * modules/mbscasecmp: New file.
36272         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
36273         (mbscasecmp): Renamed from strcasecmp.
36274         * lib/strcasecmp.c: Don't include mbuiter.h.
36275         (strcasecmp): Remove support for multibyte locales.
36276         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
36277         Change the conditional link warning.
36278         (mbscasecmp): New declaration.
36279         * m4/mbscasecmp.m4: New file.
36280         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
36281         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
36282         REPLACE_STRCASECMP.
36283         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
36284         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36285         GNULIB_MBSCASECMP.
36286         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
36287         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
36288         * modules/strcase (Files): Remove m4/mbrtowc.m4.
36289         (Depends-on): Remove mbuiter.
36290         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
36291
36292 2007-02-04  Bruno Haible  <bruno@clisp.org>
36293
36294         New module mbsstr. Remove module strstr.
36295         * modules/mbsstr: New file.
36296         * modules/strstr: Remove file.
36297         * lib/mbsstr.c: Renamed from lib/strstr.c.
36298         (mbsstr): Renamed from strstr.
36299         * lib/string_.h (strstr): Remove declaration. Change the conditional
36300         link warning.
36301         (mbsstr): New declaration.
36302         * m4/mbsstr.m4: New file.
36303         * m4/strstr.m4: Remove file.
36304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
36305         REPLACE_STRSTR.
36306         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
36307         Don't initialize GNULIB_STRSTR.
36308         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
36309         substitute GNULIB_STRSTR and REPLACE_STRSTR.
36310         * MODULES.html.sh (Internationalization functions): Add mbsstr.
36311         (Support for systems lacking ANSI C 89): Remove strstr.
36312
36313 2007-02-04  Bruno Haible  <bruno@clisp.org>
36314
36315         New module mbsrchr.
36316         * modules/mbsrchr: New file.
36317         * lib/mbsrchr.c: New file.
36318         * lib/string_.h (strrchr): Add a conditional link warning.
36319         (mbsrchr): New declaration.
36320         * m4/mbsrchr.m4: New file.
36321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36322         GNULIB_MBSRCHR.
36323         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
36324         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
36325
36326 2007-02-04  Bruno Haible  <bruno@clisp.org>
36327
36328         New module mbschr.
36329         * modules/mbschr: New file.
36330         * lib/mbschr.c: New file.
36331         * lib/string_.h (strchr): Add a conditional link warning.
36332         (mbschr): New declaration.
36333         * m4/mbschr.m4: New file.
36334         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36335         GNULIB_MBSCHR.
36336         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
36337         * MODULES.html.sh (Internationalization functions): Add mbschr.
36338
36339 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36340
36341         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
36342
36343         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
36344
36345 2007-02-04  Bruno Haible  <bruno@clisp.org>
36346
36347         New module description section 'configure.ac-early'.
36348         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
36349         (func_get_autoconf_early_snippet): New function.
36350         (func_import, func_create_testdir): Use it. Remove special cases for
36351         modules 'extensions' and 'lock'.
36352         * modules/extensions (configure.ac-early): Require
36353         gl_USE_SYSTEM_EXTENSIONS.
36354         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
36355
36356 2007-02-04  Bruno Haible  <bruno@clisp.org>
36357
36358         Make use of gcj-4.3's -fsource and -ftarget option.
36359         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
36360         and if so try the options -fsource and -ftarget.
36361         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
36362         source_version, ftarget_option, target_version arguments.
36363         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
36364         (is_envjavac_oldgcj_14_14_usable): Renamed from
36365         is_envjavac_gcj_14_14_usable.
36366         (is_envjavac_oldgcj_14_13_usable): Renamed from
36367         is_envjavac_gcj_14_13_usable.
36368         (is_gcj_present): Update.
36369         (is_gcj_43, is_gcj43_usable): New functions.
36370         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
36371         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
36372         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
36373         try the options -fsource and -ftarget.
36374
36375 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36376
36377         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
36378         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
36379         larger value.
36380
36381 2007-02-03  Jim Meyering  <jim@meyering.net>
36382
36383         Give tools a better chance to allocate space for very large buffers.
36384         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
36385
36386         Make pwd and readlink work also when run with an unreadable parent dir
36387         on systems with openat support.
36388         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
36389         provided getcwd function, even when we have openat support.
36390         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
36391
36392 2007-02-02  Bruno Haible  <bruno@clisp.org>
36393
36394         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36395         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
36396         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
36397         portability problems if one of these functions is only used on specific
36398         platforms.
36399         Reported by Paul Eggert.
36400
36401 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36402
36403         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
36404         is causing more trouble than it's curing.
36405         * lib/regex_internal.h (__mempcpy): Remove.
36406         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
36407         (and make the code a tad smaller to boot).
36408         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
36409
36410 2007-02-02  Jim Meyering  <jim@meyering.net>
36411
36412         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
36413         section, not in the Makefile.am: one.
36414
36415 2007-02-02  Eric Blake  <ebb9@byu.net>
36416
36417         * lib/strchrnul.c: Always include config.h first.
36418
36419         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
36420         gnulib strstr is not necessary here.
36421
36422 2007-02-02  Simon Josefsson  <simon@josefsson.org>
36423
36424         * m4/socklen.m4: Fix typo.
36425
36426 2007-02-02  Eric Blake  <ebb9@byu.net>
36427
36428         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
36429         * modules/netinet_in (Makefile.am): Likewise.
36430
36431 2007-02-01  Bruno Haible  <bruno@clisp.org>
36432
36433         * lib/string_.h (GL_LINK_WARNING): New macro.
36434         (strcasecmp, strstr, strcasestr): If provided by the system,
36435         conditionally define as a macro that leads to a warning instead of to
36436         an error.
36437         (strncasecmp): Conditionally define as a macro that leads to a warning.
36438
36439 2007-02-01  Karl Berry  <karl@gnu.org>
36440
36441         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
36442
36443 2007-02-01  Bruno Haible  <bruno@clisp.org>
36444
36445         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
36446         renamings.
36447
36448 2007-02-01  Eric Blake  <ebb9@byu.net>
36449
36450         * modules/regex (Depends-on): Revert dependence on mempcpy.
36451         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
36452         module's definition of mempcpy.
36453         Reported by Paul Eggert.
36454
36455 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
36456
36457         * lib/string_.h: If the gnulib module XYZ is not present, undefine
36458         the symbol XYZ before redefining it.  This fixes a problem with
36459         programs that don't use XYZ, when compiled on systems that define
36460         XYZ to something else.
36461
36462 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36463
36464         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
36465         occurs when "mkdir -m foo" creates a setgid directory that is (1)
36466         writeable to group or other and (2) is intended to have a special
36467         mode bit that is set or cleared.  In such a case, the directory
36468         should be neither group- nor other-writeable until the special
36469         mode bits are right.
36470
36471 2007-01-31  Eric Blake  <ebb9@byu.net>
36472
36473         * modules/mountlist (Depends-on): Add strstr.
36474
36475         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
36476         bug.
36477         * modules/string (Makefile.am): Remove redundant replacement.
36478         * modules/regex (Depends-on): Add mempcpy.
36479
36480 2007-01-31  Bruno Haible  <bruno@clisp.org>
36481
36482         New module description field 'Link'.
36483         * gnulib-tool (func_usage): Document --extract-link-directive.
36484         (sed_extract_prog): Recognize 'Link' directive.
36485         (func_get_link_directive): New function.
36486         (func_import): Show summary of link directives.
36487         Handle --extract-link-directive option.
36488         * modules/acl (Link): New section.
36489         * modules/clock-time (Link): New section.
36490         * modules/euidaccess (Link): New section.
36491         * modules/gettext (Link): New section.
36492         * modules/iconv (Link): New section.
36493         * modules/lock (Link): New section.
36494         * modules/nanosleep (Link): New section.
36495         * modules/readline (Link): New section.
36496
36497 2007-01-27  Bruno Haible  <bruno@clisp.org>
36498
36499         Enforce the use of gnulib modules for unportable <string.h> functions.
36500         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
36501         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
36502         (gl_HEADER_STRING_H_BODY): Require it.
36503         * lib/string_.h: If the gnulib module XYZ is not present, redefine
36504         the symbol XYZ to one that gives a link error.
36505         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
36506         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
36507         * modules/mempcpy (configure.ac): Likewise.
36508         * modules/memrchr (configure.ac): Likewise.
36509         * modules/stpcpy (configure.ac): Likewise.
36510         * modules/stpncpy (configure.ac): Likewise.
36511         * modules/strcase (configure.ac): Likewise.
36512         * modules/strcasestr (configure.ac): Likewise.
36513         * modules/strchrnul (configure.ac): Likewise.
36514         * modules/strdup (configure.ac): Likewise.
36515         * modules/strndup (configure.ac): Likewise.
36516         * modules/strnlen (configure.ac): Likewise.
36517         * modules/strpbrk (configure.ac): Likewise.
36518         * modules/strsep (configure.ac): Likewise.
36519         * modules/strstr (configure.ac): Likewise.
36520         * modules/strtok_r (configure.ac): Likewise.
36521
36522 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
36523
36524         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
36525
36526 2007-01-30  Jim Meyering  <jim@meyering.net>
36527
36528         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
36529
36530 2007-01-29  Bruno Haible  <bruno@clisp.org>
36531
36532         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
36533         * lib/execute.c: Likewise.
36534         * lib/pipe.c: Likewise.
36535         * lib/printf-args.h: Likewise.
36536         * lib/printf-args.c: Likewise.
36537         * lib/printf-parse.c: Likewise.
36538         * lib/vasnprintf.c: Likewise.
36539
36540 2007-01-29  Eric Blake  <ebb9@byu.net>
36541
36542         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
36543         declaration.
36544
36545 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36546
36547         * lib/strptime.h (strptime): Use 'restrict' for args where
36548         POSIX requires this.
36549         * lib/strptime.c (strptime): Likewise.
36550         Change license notice from LGPL to GPL, since gnulib-tool will
36551         change this as needed.
36552         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
36553         defined.
36554         Include "strptime.h" first, to check interface.
36555         Do not #undef _LIBC and _NL_CURRENT.
36556         Do not include <stdlib.h>; no longer needed.
36557         Include "time_r.h" and declare ptime_locale_status
36558         only if _LIBC is not defined.
36559         (__P): Remove unused macro.
36560         (match_string): Bring back glibc version, but use it only if _LIBC
36561         is defined.
36562         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
36563         Remove unnecessary assertion and abort() call.
36564         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
36565         * m4/strptime.m4: Fix serial number comment.
36566         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
36567         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
36568         (Depends-on): Add time_r.
36569
36570 2007-01-29  Bruno Haible  <bruno@clisp.org>
36571
36572         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36573         strptime.
36574         * modules/strptime (Depends-on): Add stdbool.
36575         * lib/strptime.h: Include <time.h> always. Add comments.
36576
36577 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36578
36579         * modules/strptime: New file.
36580         * lib/strptime.h: New file.
36581         * lib/strptime.c: New file.
36582         * m4/strptime.m4: New file.
36583
36584 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
36585
36586         * MODULES.html.sh: New module mpsort.
36587         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
36588
36589         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
36590         a circularity problem with HP-UX ia64 reported by Bob Proulx in
36591         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
36592         All uses changed.
36593         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
36594         All uses changed.
36595         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
36596         to _Restrict_.
36597         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
36598         the parameter matches the prototype.
36599
36600 2007-01-28  Jim Meyering  <jim@meyering.net>
36601
36602         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
36603         sys/time.h here, reverting that part of the previous patch:
36604         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
36605
36606 2007-01-28  Bruno Haible  <bruno@clisp.org>
36607
36608         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
36609         value of $(SYS_TIME_H).
36610         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
36611         remove it conditionally, too. [added by Jim Meyering]
36612         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
36613         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
36614         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
36615         GETTIMEOFDAY_REPLACEMENT to 1.
36616
36617 2007-01-28  Bruno Haible  <bruno@clisp.org>
36618
36619         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
36620         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
36621         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
36622         Set UNISTD_H instead of UNISTD_H2.
36623         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
36624
36625 2007-01-28  Bruno Haible  <bruno@clisp.org>
36626
36627         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
36628         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
36629
36630 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36631
36632         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
36633         (func_create_testdir): Ensure C locale for `grep' and `tr'
36634         character ranges.
36635         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
36636         ACLOCAL_AMFLAGS parsing state machine.
36637
36638 2007-01-27  Bruno Haible  <bruno@clisp.org>
36639
36640         * modules/unistr/base: Update.
36641
36642 2007-01-27  Bruno Haible  <bruno@clisp.org>
36643
36644         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
36645         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
36646         * modules/unistr/u32-mbtouc-unsafe: Renamed from
36647         modules/unistr/u32-mbtouc.
36648         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
36649         * lib/unistr.h: Update.
36650         * lib/linebreak.c: Update.
36651         * modules/unistr/u32-mbtouc: Renamed from
36652         modules/unistr/u32-mbtouc-safe.
36653         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
36654         * lib/unistr.h: Update.
36655         * lib/unistr/u32-to-u8.c: Update.
36656         * lib/unistr/u32-to-u16.c: Update.
36657
36658 2007-01-27  Bruno Haible  <bruno@clisp.org>
36659
36660         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
36661         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
36662         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
36663         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
36664         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
36665         * modules/unistr/u16-mbtouc-unsafe: Renamed from
36666         modules/unistr/u16-mbtouc.
36667         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
36668         * lib/unistr.h: Update.
36669         * lib/linebreak.c: Update.
36670         * modules/linebreak: Update.
36671         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
36672         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
36673         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
36674         * modules/unistr/u16-mbtouc: Renamed from
36675         modules/unistr/u16-mbtouc-safe.
36676         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
36677         * lib/unistr.h: Update.
36678         * lib/unistr/u16-to-u8.c: Update.
36679         * modules/unistr/u16-to-u8: Update.
36680         * lib/unistr/u16-to-u32.c: Update.
36681         * modules/unistr/u16-to-u32: Update.
36682
36683 2007-01-27  Bruno Haible  <bruno@clisp.org>
36684
36685         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
36686         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
36687         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
36688         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
36689         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
36690         * modules/unistr/u8-mbtouc-unsafe: Renamed from
36691         modules/unistr/u8-mbtouc.
36692         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
36693         * lib/unistr.h: Update.
36694         * lib/striconveh.c: Update.
36695         * modules/striconveh: Update.
36696         * lib/linebreak.c: Update.
36697         * modules/linebreak: Update.
36698         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
36699         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
36700         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
36701         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
36702         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
36703         * lib/unistr.h: Update.
36704         * lib/striconveh.c: Update.
36705         * modules/striconveh: Update.
36706         * lib/unistr/u8-to-u16.c: Update.
36707         * modules/unistr/u8-to-u16: Update.
36708         * lib/unistr/u8-to-u32.c: Update.
36709         * modules/unistr/u8-to-u32: Update.
36710
36711 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36712
36713         Sync from Libtool.
36714         * lib/argz.c: Do not include strings.h nor memory.h, include
36715         string.h unconditionally.  Patch by Simon Josefsson.
36716
36717 2007-01-27  Bruno Haible  <bruno@clisp.org>
36718
36719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
36720         from gl_HEADER_STRING_H_BODY.
36721         (gl_HEADER_STRING_H_BODY): Require it.
36722         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
36723         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
36724         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
36725         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
36726         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36727         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
36728         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36729         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
36730         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
36731         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36732         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
36733         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
36734         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
36735         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36736         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36737
36738 2007-01-27  Bruno Haible  <bruno@clisp.org>
36739
36740         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
36741         check_PROGRAMS into noinst_PROGRAMS.
36742         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
36743         check_PROGRAMS in this case.
36744         (func_import): Set for_test to false.
36745         (func_create_testdir): Set for_test to true.
36746
36747 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
36748             Bruno Haible  <bruno@clisp.org>
36749
36750         * modules/strcasestr (Files): Remove lib/strcasestr.h.
36751         (Depends-on): Add string.
36752         (Includes): Use <string.h> instead of strcasestr.h.
36753         * modules/string (Makefile.am): Also substitute the value of
36754         REPLACE_STRCASESTR.
36755         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
36756         assume strcasestr is declared in <string.h> not <strings.h>. Also
36757         set REPLACE_STRCASESTR.
36758         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
36759         REPLACE_STRCASESTR.
36760         * lib/strcasestr.h: Remove file.
36761         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
36762         * lib/string_.h (strcasestr): New declaration.
36763
36764 2007-01-27  Bruno Haible  <bruno@clisp.org>
36765
36766         * lib/string_.h: Use 'extern'.
36767
36768 2007-01-27  Jim Meyering  <jim@meyering.net>
36769
36770         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
36771         of set-but-not-used local, "q".
36772
36773         * lib/mempcpy.c: Include <config.h> before <string.h>.
36774         This fixes a compilation error on HP-UX, due to the system's
36775         "restrict"-using mempcpy prototype.
36776
36777 2007-01-26  Bruno Haible  <bruno@clisp.org>
36778
36779         Small optimization.
36780         * lib/javacomp.c: Include c-strstr.h.
36781          (is_envjavac_gcj): Use c_strstr instead of strstr.
36782         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
36783
36784 2007-01-26  Bruno Haible  <bruno@clisp.org>
36785
36786         * MODULES.html.sh (Unicode string functions): Add the new modules.
36787
36788         * modules/uniconv/u32-strconv-to-locale: New file.
36789         * lib/uniconv/u32-strconv-to-locale.c: New file.
36790
36791         * modules/uniconv/u16-strconv-to-locale: New file.
36792         * lib/uniconv/u16-strconv-to-locale.c: New file.
36793
36794         * modules/uniconv/u8-strconv-to-locale: New file.
36795         * lib/uniconv/u8-strconv-to-locale.c: New file.
36796
36797         * modules/uniconv/u32-strconv-from-locale: New file.
36798         * lib/uniconv/u32-strconv-from-locale.c: New file.
36799
36800         * modules/uniconv/u16-strconv-from-locale: New file.
36801         * lib/uniconv/u16-strconv-from-locale.c: New file.
36802
36803         * modules/uniconv/u8-strconv-from-locale: New file.
36804         * lib/uniconv/u8-strconv-from-locale.c: New file.
36805
36806         * modules/uniconv/u32-strconv-to-enc: New file.
36807         * lib/uniconv/u32-strconv-to-enc.c: New file.
36808         * modules/uniconv/u32-strconv-to-enc-tests: New file.
36809         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
36810
36811         * modules/uniconv/u16-strconv-to-enc: New file.
36812         * lib/uniconv/u16-strconv-to-enc.c: New file.
36813         * lib/uniconv/u-strconv-to-enc.h: New file.
36814         * modules/uniconv/u16-strconv-to-enc-tests: New file.
36815         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
36816
36817         * modules/uniconv/u8-strconv-to-enc: New file.
36818         * lib/uniconv/u8-strconv-to-enc.c: New file.
36819         * modules/uniconv/u8-strconv-to-enc-tests: New file.
36820         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
36821
36822         * modules/uniconv/u32-strconv-from-enc: New file.
36823         * lib/uniconv/u32-strconv-from-enc.c: New file.
36824         * modules/uniconv/u32-strconv-from-enc-tests: New file.
36825         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
36826
36827         * modules/uniconv/u16-strconv-from-enc: New file.
36828         * lib/uniconv/u16-strconv-from-enc.c: New file.
36829         * modules/uniconv/u16-strconv-from-enc-tests: New file.
36830         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
36831
36832         * modules/uniconv/u8-strconv-from-enc: New file.
36833         * lib/uniconv/u8-strconv-from-enc.c: New file.
36834         * lib/uniconv/u-strconv-from-enc.h: New file.
36835         * modules/uniconv/u8-strconv-from-enc-tests: New file.
36836         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
36837
36838         * modules/uniconv/u32-conv-from-enc: New file.
36839         * lib/uniconv/u32-conv-from-enc.c: New file.
36840         * modules/uniconv/u32-conv-from-enc-tests: New file.
36841         * tests/uniconv/test-u32-conv-from-enc.c: New file.
36842
36843         * modules/uniconv/u16-conv-from-enc: New file.
36844         * lib/uniconv/u16-conv-from-enc.c: New file.
36845         * lib/uniconv/u-conv-from-enc.h: New file.
36846         * modules/uniconv/u16-conv-from-enc-tests: New file.
36847         * tests/uniconv/test-u16-conv-from-enc.c: New file.
36848
36849         * modules/uniconv/u8-conv-from-enc: New file.
36850         * lib/uniconv/u8-conv-from-enc.c: New file.
36851         * modules/uniconv/u8-conv-from-enc-tests: New file.
36852         * tests/uniconv/test-u8-conv-from-enc.c: New file.
36853
36854         * modules/uniconv/base: New file.
36855         * lib/uniconv.h: New file.
36856
36857 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
36858
36859         * doc/gnulib-tool.texi (Initial import): Update to match current
36860         behavior with strdup module.
36861         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
36862         * lib/memmem.h: Remove; all uses removed.  This is now done
36863         by <string.h>.
36864         * lib/mempcpy.h: Likewise.
36865         * lib/memrchr.h: Likewise.
36866         * lib/stpcpy.h: Likewise.
36867         * lib/stpncpy.h: Likewise.
36868         * lib/strcase.h: Likewise.
36869         * lib/strchrnul.h: Likewise.
36870         * lib/strdup.h: Likewise.
36871         * lib/strndup.h: Likewise.
36872         * lib/strnlen.h: Likewise.
36873         * lib/strpbrk.h: Likewise.
36874         * lib/strsep.h: Likewise.
36875         * lib/strstr.h: Likewise.
36876         * lib/strtok_r.h: Likewise.
36877         * lib/string_.h: New file.
36878         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
36879         Rely on <string.h> instead.
36880         * lib/canon-host.c: Likewise.
36881         * lib/chdir-long.c: Likewise.
36882         * lib/concatpath.c: Likewise.
36883         * lib/exclude.c: Likewise.
36884         * lib/fchdir.c: Likewise.
36885         * lib/getaddrinfo.c: Likewise.
36886         * lib/getcwd.c: Likewise.
36887         * lib/getsubopt.c: Likewise.
36888         * lib/glob.c: Likewise.
36889         * lib/hard-locale.c: Likewise.
36890         * lib/iconvme.c: Likewise.
36891         * lib/javacomp.c: Likewise.
36892         * lib/mempcpy.c: Likewise.
36893         * lib/memrchr.c: Likewise.
36894         * lib/regex_internal.h: Likewise.
36895         * lib/stpncpy.c: Likewise.
36896         * lib/strcasecmp.c: Likewise.
36897         * lib/strchrnul.c: Likewise.
36898         * lib/strdup.c: Likewise.
36899         * lib/striconv.c: Likewise.
36900         * lib/striconveh.c: Likewise.
36901         * lib/striconveha.c: Likewise.
36902         * lib/strncasecmp.c: Likewise.
36903         * lib/strndup.c: Likewise.
36904         * lib/strnlen.c: Likewise.
36905         * lib/strsep.c: Likewise.
36906         * lib/strstr.c: Likewise.
36907         * lib/strtok_r.c: Likewise.
36908         * lib/userspec.c: Likewise.
36909         * lib/w32spawn.h: Likewise.
36910         * lib/xstrndup.c: Likewise.
36911         * lib/mountlist.c (strstr): Remove decl.
36912         * m4/string_h.m4: New file.
36913         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
36914         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
36915         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
36916         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
36917         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
36918         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
36919         Set REPLACE_STRCASECMP if necessary.
36920         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
36921         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
36922         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
36923         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
36924         HAVE_DECL_STRDUP if necessary.
36925         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
36926         since gl_FUNC_STRNDUP does that now.
36927         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
36928         Check for decl here...
36929         (gl_PREREQ_STRNLEN): ... not here.
36930         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
36931         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
36932         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
36933         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
36934         necessary.
36935         * modules/string: New file.
36936         * modules/memmem (Files): Remove special-purpose include file.
36937         (Depends-on): Add string.
36938         (Include): Include <string.h>, not the removed file.
36939         * modules/mempcpy: Likewise.
36940         * modules/memrchr: Likewise.
36941         * modules/stpcpy: Likewise.
36942         * modules/stpncpy: Likewise.
36943         * modules/strcase: Likewise.
36944         * modules/strchrnul: Likewise.
36945         * modules/strdup: Likewise.
36946         * modules/strndup: Likewise.
36947         * modules/strnlen: Likewise.
36948         * modules/strpbrk: Likewise.
36949         * modules/strsep: Likewise.
36950         * modules/strstr: Likewise.
36951         * modules/strtok_r: Likewise.
36952         * tests/test-dirname.c: Don't include "strdup.h", since
36953         <string.h> now suffices.
36954         * tests/test-memmem.c: Don't include "memmem.h", since
36955         <string.h> now suffices.
36956
36957 2007-01-25  Bruno Haible  <bruno@clisp.org>
36958
36959         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
36960         *resultp is 0.
36961
36962         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
36963         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
36964         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
36965         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
36966
36967         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
36968         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
36969         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
36970         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
36971         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
36972         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
36973
36974 2007-01-24  Bruno Haible  <bruno@clisp.org>
36975
36976         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
36977         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
36978         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
36979         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
36980         gl_FUNC_FTS_CORE.
36981         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
36982         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
36983         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36984         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
36985         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
36986         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
36987         gl_FUNC_FCHOWNAT.
36988         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
36989         gl_FUNC_STRFTIME.
36990         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
36991         Reported by Ralf Wildenhues.
36992
36993 2007-01-24  Bruno Haible  <bruno@clisp.org>
36994
36995         Drop AC_REQUIRE calls that are redundant with the module dependencies.
36996         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
36997         gl_GETADDRINFO.
36998         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
36999         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
37000         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
37001
37002 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
37003
37004         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
37005         Don't use 'exit'; just return from 'main'.
37006         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
37007
37008         * lib/fnmatch_.h: Readjust white space and comments to match
37009         glibc, to avoid spurious diffs.
37010
37011 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37012
37013         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
37014         2004-12-01 change by Jakub Jelinek, since this code won't compile
37015         if !LIBC.  Problem reported by Bob Proulx.
37016
37017 2007-01-23  Bruno Haible  <bruno@clisp.org>
37018
37019         * lib/striconveh.c: Include c-strcaseeq.h.
37020         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
37021         * modules/striconveh (Depends-on): Add c-strcaseeq.
37022
37023 2007-01-23  Bruno Haible  <bruno@clisp.org>
37024
37025         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
37026
37027         * modules/c-strcaseeq: New file.
37028         * lib/c-strcaseeq.h: New file.
37029
37030         * modules/streq: New file.
37031         * lib/streq.h: New file.
37032
37033 2007-01-23  Bruno Haible  <bruno@clisp.org>
37034
37035         * modules/striconveha-tests: New file.
37036         * tests/test-striconveha.c: New file.
37037
37038         * lib/striconveha.h: Include <stdbool.h>.
37039         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
37040         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
37041         (mem_iconveha_notranslit): Renamed from mem_iconveha.
37042         (mem_iconveha): New function.
37043         (str_iconveha_notranslit): Renamed from str_iconveha.
37044         (str_iconveha): New function.
37045         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
37046         c-strcase.
37047
37048 2007-01-23  Bruno Haible  <bruno@clisp.org>
37049
37050         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
37051         encodings without forgiving before trying any encoding with handler.
37052         (str_iconveha): Try all encodings without forgiving before trying any
37053         encoding with handler.
37054
37055 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37056
37057         Import the following changes from libc.
37058
37059         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37060
37061         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
37062
37063         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
37064
37065         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
37066         normal_bracket label.
37067
37068         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37069
37070         [BZ #361]
37071         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
37072         to normal_bracket after fetching the next character.
37073
37074 2007-01-22  Bruno Haible  <bruno@clisp.org>
37075
37076         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
37077         argument.
37078         * lib/striconveh.c (iconv_carefully_1): New function.
37079         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
37080         argument.
37081         (str_cd_iconveh): Update.
37082         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
37083         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
37084         * tests/test-striconveh.c (MAGIC): New macro.
37085         (new_offsets): New function.
37086         (main): Test call with and without offsets.
37087
37088 2007-01-22  Bruno Haible  <bruno@clisp.org>
37089
37090         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
37091         * modules/sys_select (Makefile.am): Likewise.
37092         * modules/sys_socket (Makefile.am): Likewise.
37093         * modules/sys_time (Makefile.am): Likewise.
37094
37095 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37096
37097         * modules/gettimeofday (License): Change from GPL to LGPL, since
37098         gettimeofday is a library function.
37099
37100 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37101
37102         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
37103
37104 2007-01-21  Bruno Haible  <bruno@clisp.org>
37105
37106         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
37107
37108 2007-01-21  Bruno Haible  <bruno@clisp.org>
37109
37110         * modules/striconveha: New file.
37111         * lib/striconveha.h: New file.
37112         * lib/striconveha.c: New file.
37113         * MODULES.html.sh (Internationalization functions): Add striconveha.
37114         * lib/striconv.c (str_iconv): Optimize the case of an empty input
37115         string.
37116         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
37117
37118 2007-01-21  Bruno Haible  <bruno@clisp.org>
37119
37120         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
37121         * lib/striconveh.c (str_iconveh): Likewise.
37122
37123 2007-01-21  Bruno Haible  <bruno@clisp.org>
37124
37125         * lib/striconveh.h (mem_iconveh): New declaration.
37126         * lib/striconveh.c (mem_iconveh): New function.
37127         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
37128
37129 2007-01-21  Bruno Haible  <bruno@clisp.org>
37130
37131         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
37132
37133         * lib/striconveh.h (mem_cd_iconveh): Change specification.
37134         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
37135         original result buffer.
37136         (str_cd_iconveh): Update.
37137         * tests/test-striconveh.c (main): Update.
37138
37139         * lib/striconv.h (mem_cd_iconv): Change specification.
37140         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
37141         result buffer.
37142         (str_cd_iconv): Update.
37143         * tests/test-striconv.c (main): Update.
37144
37145 2007-01-21  Bruno Haible  <bruno@clisp.org>
37146
37147         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
37148
37149 2007-01-20  Jim Meyering  <jim@meyering.net>
37150
37151         * lib/userspec.c (parse_with_separator): If a user or group string
37152         starts with "+", skip the corresponding name-to-ID look-up, since
37153         such a look-up must fail: user and group names may not include "+".
37154
37155 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
37156
37157         * lib/poll.c: Include sys/time.h and time.h unconditionally,
37158         since we now assume the sys_time module.
37159         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
37160         check for sys/time.h; no longer needed.
37161         * modules/poll (Depends-on): Depend on sys_time.
37162
37163 2007-01-18  Bruno Haible  <bruno@clisp.org>
37164
37165         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
37166         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37167
37168         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
37169         gettimeofday.
37170
37171         * tests/test-gettimeofday.c: Include <time.h>.
37172         (dummy): Remove variable.
37173
37174         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
37175         gl_HEADER_SYS_TIME_H.
37176         (gl_HEADER_SYS_TIME_H): New macro.
37177
37178         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
37179         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37180         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37181         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
37182         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37183         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
37184         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
37185         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37186         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
37187         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
37188         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37189
37190         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
37191         last change; it caused a compilation error when cross-compiling to
37192         Cygwin.
37193
37194 2007-01-18  Jim Meyering  <jim@meyering.net>
37195
37196         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
37197         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
37198         than the race-prone "test -d sys || mkdir sys".
37199         (configure.ac): Use AC_PROG_MKDIR_P.
37200         * modules/sys_select: Likewise.
37201         * modules/sys_socket: Likewise.
37202         * modules/sys_time: Likewise.
37203
37204 2007-01-18  Eric Blake  <ebb9@byu.net>
37205
37206         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
37207         replace gettimeofday.
37208         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
37209         name, to avoid infinite recursion.
37210
37211 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37212
37213         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
37214         module sys_time.
37215         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
37216         assume timespec.h defines struct timeval.
37217         * lib/settime.c: Likewise.
37218         * lib/utimens.c: Likewise.
37219         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
37220         since we now assume the gettimeofday module.
37221         * lib/tempname.c (__gen_tempname): Likewise.
37222         * lib/gettimeofday.h: Remove.
37223         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
37224         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
37225         Include <time.h>, for 'time()'.
37226         (localtime_buffer_addr): Also use this workaround if
37227         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
37228         to simplify the uses.  All uses changed.
37229         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
37230         that #undef is inside {}, and 'const' follows type name consistently.
37231         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
37232         (gettimeofday): Do not use the maximum possible value for
37233         tv->tv_usec, since that might break usages other than ls.c.
37234         Instead, we'll leave ls.c alone.  This undoes today's patch
37235         by Bruno.  Add a compile-time warning for 1s-clock resolution;
37236         we've never observed the problem but might as well keep the
37237         canary.
37238         * lib/nanosleep.c: Include timespec.h first, for interface check.
37239         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
37240         now assume the sys_time module.
37241         * lib/tempname.c: Likewise.
37242         * lib/timespec.h: Likewise.
37243         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
37244         needed.
37245         * lib/strftime.c: Likewise.
37246         * lib/timespec.h: Likewise.
37247         * lib/posixtm.c: Include posixtm.h first, for interface check.
37248         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
37249         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
37250         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
37251         * lib/sys_time_.h: New file.
37252         * lib/timespec.h (struct timespec): Use long int, not long.
37253         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37254         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
37255         Remove obsolescent call to AC_HEADER_TIME.
37256         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
37257         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37258         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37259         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
37260         Likewise.
37261         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
37262         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
37263         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
37264         into the sys_time module.  Check for gettimeofday just once.
37265         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
37266         for gettimeofday signature to just check the signature.  Merely
37267         compile it, since linking doesn't test signature.  Improve test for
37268         whether gettimeofday.o is actually needed.
37269         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
37270         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
37271         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
37272         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37273         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
37274         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
37275         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
37276         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
37277         than worrying about sys/time.h.
37278         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
37279         Don't bother worrying about TIME_WITH_SYS_TIME.
37280         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37281         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
37282         * m4/sys_time_h.m4: New file.
37283         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
37284         Don't include sys/time.h.  Return from main rather than exiting.
37285         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
37286         all uses changed.
37287         * modules/gethrxtime (Depends-on): Add sys_time.
37288         * modules/gettime (Depends-on): Likewise.
37289         * modules/gettimeofday (Depends-on): Likewise.
37290         * modules/nanosleep (Depends-on): Likewise.
37291         * modules/settime (Depends-on): Likewise.
37292         * modules/tempname (Depends-on): Likewise.
37293         * modules/utimens (Depends-on): Likewise.
37294         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
37295         (Include:) Change back to <sys/time.h>.
37296         (Maintainer:) Add self.
37297         * modules/sys_time: New file.
37298         * modules/tempname (Depends-on): Add gettimeofday.
37299         * tests/test-gettimeofday.c: Include <sys/time.h>
37300         rather than gettimeofday.h.
37301
37302 2007-01-17  Bruno Haible  <bruno@clisp.org>
37303
37304         * gnulib-tool (func_get_license): Revert last patch. Instead, let
37305         the license default to GPL.
37306         (func_create_testdir): Don't complain if a module is LGPL and its
37307         tests module depends on GPLed modules.
37308
37309 2007-01-17  Bruno Haible  <bruno@clisp.org>
37310
37311         * lib/gettimeofday.c (gettimeofday): Add code for the case
37312         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
37313         maximum possible value for tv->tv_usec, rather than the minimum one.
37314
37315 2005-10-08  Martin Lambers  <marlam@marlam.de>
37316 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37317 2007-01-16  Bruno Haible  <bruno@clisp.org>
37318
37319         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
37320         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
37321         gl_FUNC_GETTIMEOFDAY.
37322         (Include): Add gettimeofday.h.
37323         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
37324         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
37325         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
37326         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
37327         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
37328         * lib/gettimeofday.h: New file.
37329         * lib/gettimeofday.c: Include <sys/timeb.h>.
37330         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
37331         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37332         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
37333         fall back on time().
37334
37335         * tests/test-gettimeofday.c: New file.
37336         * modules/gettimeofday-tests: New file.
37337
37338 2007-01-16  Eric Blake  <ebb9@byu.net>
37339
37340         * modules/fnmatch (Depends-on): Depend on wchar.
37341         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
37342         * m4/fnmatch.m4: Likewise.
37343         * modules/mbchar (Makefile.am): Assume <wchar.h>.
37344         * m4/mbchar.m4: Likewise.
37345         * modules/mbswidth (Depends-on): Depend on wchar.
37346         * lib/mbswidth.c: Assume <wchar.h>.
37347         * m4/mbswidth.m4: Likewise.
37348         * modules/quotearg (Depends-on): Depend on wchar.
37349         * lib/quotearg.c: Assume <wchar.h>.
37350         * m4/quotearg.m4: Likewise.
37351         * modules/regex (Depends-on): Depend on wchar.
37352         * lib/regex_internal.h: Assume <wchar.h>.
37353         * m4/regex.m4: Likewise.
37354         * modules/stdint (Depends-on): Depend on wchar.
37355         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
37356         * m4/stdint.m4: Likewise.
37357         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
37358         * modules/strftime (Depends-on): Depend on wchar.
37359         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
37360         * modules/strtol (Depends-on): Depend on wchar.
37361         * lib/strtol.c: Assume <wchar.h>.
37362         * modules/wcwidth (Depends-on): Depend on wchar.
37363         * lib/wcwidth.h: Assume <wchar.h>.
37364         * m4/wcwidth.m4: Likewise.
37365
37366 2007-01-16  Bruno Haible  <bruno@clisp.org>
37367
37368         * modules/csharpexec-script: New, created from...
37369         * modules/csharpexec: ... this.
37370
37371 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
37372
37373         * modules/javaexec-script: New, created from...
37374         * modules/javaexec: ... this.
37375
37376 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37377
37378         * modules/poll (Dependencies): Add sys_select.
37379
37380 2007-01-15  Jim Meyering  <jim@meyering.net>
37381
37382         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
37383         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
37384         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
37385         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
37386
37387 2007-01-15  Bruno Haible  <bruno@clisp.org>
37388
37389         * modules/striconveh: New file.
37390         * lib/striconveh.h: New file.
37391         * lib/striconveh.c: New file.
37392         * MODULES.html.sh (Internationalization functions): Add striconveh.
37393
37394         * modules/striconveh-tests: New file.
37395         * tests/test-striconveh.c: New file.
37396
37397 2007-01-15  Bruno Haible  <bruno@clisp.org>
37398
37399         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
37400         not from GNU libiconv or GNU libc.
37401
37402 2007-01-15  Bruno Haible  <bruno@clisp.org>
37403
37404         * doc/gnulib-intro.texi (Copyright): Explain the different license
37405         terms for module descriptions, autoconf macros, tests, documentation.
37406
37407 2007-01-14  Bruno Haible  <bruno@clisp.org>
37408
37409         * modules/striconv-tests: New file.
37410         * tests/test-striconv.c: New file.
37411
37412 2007-01-14  Bruno Haible  <bruno@clisp.org>
37413
37414         * modules/iconv-tests: New file.
37415         * tests/test-iconv.c: New file.
37416
37417 2007-01-14  Bruno Haible  <bruno@clisp.org>
37418
37419         * gnulib-tool (func_get_license): For test modules, use the license of
37420         the main module.
37421
37422 2007-01-14  Bruno Haible  <bruno@clisp.org>
37423
37424         * modules/iconv (Include): Clarify that <iconv.h> can only be included
37425         if iconv is found to exist.
37426
37427 2007-01-14  Bruno Haible  <bruno@clisp.org>
37428
37429         * modules/c-ctype-tests: New file.
37430         * tests/test-c-ctype.c: New file.
37431
37432 2007-01-14  Bruno Haible  <bruno@clisp.org>
37433
37434         * modules/binary-io-tests: New file.
37435         * tests/test-binary-io.sh: New file.
37436         * tests/test-binary-io.c: New file.
37437
37438 2007-01-14  Bruno Haible  <bruno@clisp.org>
37439
37440         * modules/array-oset-tests: New file.
37441         * tests/test-array_oset.c: New file.
37442
37443 2007-01-14  Bruno Haible  <bruno@clisp.org>
37444
37445         * modules/array-list-tests: New file.
37446         * tests/test-array_list.c: New file.
37447
37448 2007-01-14  Bruno Haible  <bruno@clisp.org>
37449
37450         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
37451         and make.
37452         Reported by Simon Josefsson in
37453         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
37454
37455 2007-01-14  Bruno Haible  <bruno@clisp.org>
37456
37457         * modules/allocsa-tests: New file.
37458         * tests/test-allocsa.c: New file.
37459
37460 2007-01-14  Bruno Haible  <bruno@clisp.org>
37461
37462         * modules/fchdir (Depends-on): Add absolute-header.
37463         * modules/unistd (Depends-on): Likewise.
37464
37465 2006-12-30  Bruno Haible  <bruno@clisp.org>
37466
37467         * modules/fchdir: New file.
37468         * modules/unistd (Files): Add lib/unistd_.h.
37469         (Makefile.am): Generate unistd.h from unistd_.h.
37470         * lib/fchdir.c: New file.
37471         * lib/dirent_.h: New file.
37472         * lib/unistd_.h: New file.
37473         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
37474         * m4/fchdir.m4: New file.
37475         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
37476         (gl_HEADER_UNISTD): Invoke it.
37477         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
37478         function.
37479         * lib/backupfile.c (opendir, closedir): Undefine.
37480         * lib/chown.c (open, close): Undefine.
37481         * lib/clean-temp.c (open, close): Undefine.
37482         * lib/copy-file.c (open, close): Undefine.
37483         * lib/execute.c (open, close): Undefine.
37484         * lib/fsusage.c (open, close): Undefine.
37485         * lib/gc-gnulib.c (open, close): Undefine.
37486         * lib/getcwd.c (opendir, closedir): Undefine.
37487         * lib/glob.c (opendir, closedir): Undefine.
37488         * lib/javacomp.c (open, close): Undefine.
37489         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
37490         * lib/openat-proc.c (open, close): Undefine.
37491         * lib/pagealign_alloc.c (open, close): Undefine.
37492         * lib/pipe.c (open, close): Undefine.
37493         * lib/progreloc.c (open, close): Undefine.
37494         * lib/savedir.c (opendir, closedir): Undefine.
37495         * lib/utime.c (open, close): Undefine.
37496         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
37497
37498 2007-01-10  Bruno Haible  <bruno@clisp.org>
37499
37500         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
37501
37502 2007-01-12  Eric Blake  <ebb9@byu.net>
37503
37504         Provide a robust <wchar.h>.  Further simplifications are now
37505         possible in other modules, but not included here.
37506         * modules/wchar: New module.
37507         * m4/wchar.m4: New file.
37508         * lib/wchar_.h: Likewise.
37509         * modules/mbchar (Depends-on): Depend on wchar, as the first use
37510         of the new module.
37511         * MODULES.html.sh (Extended multibyte and wide character utilities):
37512         New section.
37513
37514 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
37515
37516         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
37517         to a reasonable default for memory allocation.
37518         (xreadlink): Don't allocate a huge buffer, to work around a buggy
37519         file system that reports garbage st_size values for symlinks.
37520         Problem reported by Liyang Hu.
37521
37522 2007-01-11  Simon Josefsson  <simon@josefsson.org>
37523
37524         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
37525         Emacs .#* auto-save files).
37526
37527 2007-01-11  Bruno Haible  <bruno@clisp.org>
37528
37529         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
37530         directory.
37531
37532 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
37533
37534         Use @...@ consistently in lib/wctype_.h.
37535         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
37536         on it being set to 1 or 0.
37537         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
37538         go back to AC_SUBSTing it.
37539         * modules/wctype (Makefile.am): Undo previous change.
37540
37541 2007-01-10  Eric Blake  <ebb9@byu.net>
37542
37543         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
37544         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
37545         * modules/wctype (Makefile.am): Likewise.
37546         Reported by Chris McGuire.
37547
37548 2007-01-10  Jim Meyering  <jim@meyering.net>
37549
37550         fts.c: a small readability/maintainability improvement
37551         * lib/fts.c (fts_read): Make this code slightly more readable and
37552         maintainable by hoisting the "sp->fts_cur = p" assignments to
37553         immediately follow the statements that set P.  Derived from
37554         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
37555
37556 2007-01-10  Eric Blake  <ebb9@byu.net>
37557
37558         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
37559         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
37560         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
37561         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37562         Reported by Chris McGuire.
37563
37564 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37565
37566         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
37567         in sed script.
37568
37569 2007-01-09  Bruno Haible  <bruno@clisp.org>
37570
37571         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
37572         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
37573         variables.
37574         (func_module): Use them.
37575
37576 2007-01-09  Bruno Haible  <bruno@clisp.org>
37577
37578         * modules/unistr/base: New file.
37579         * lib/unistr.h: New file.
37580
37581         * modules/unistr/u8-to-u16: New file.
37582         * lib/unistr/u8-to-u16.c: New file.
37583
37584         * modules/unistr/u8-to-u32: New file.
37585         * lib/unistr/u8-to-u32.c: New file.
37586
37587         * modules/unistr/u16-to-u8: New file.
37588         * lib/unistr/u16-to-u8.c: New file.
37589
37590         * modules/unistr/u16-to-u32: New file.
37591         * lib/unistr/u16-to-u32.c: New file.
37592
37593         * modules/unistr/u32-to-u8: New file.
37594         * lib/unistr/u32-to-u8.c: New file.
37595
37596         * modules/unistr/u32-to-u16: New file.
37597         * lib/unistr/u32-to-u16.c: New file.
37598
37599         * modules/unistr/u8-check: New file.
37600         * modules/unistr/u16-check: New file.
37601         * modules/unistr/u32-check: New file.
37602         * lib/unistr/u8-check.c: New file.
37603         * lib/unistr/u16-check.c: New file.
37604         * lib/unistr/u32-check.c: New file.
37605
37606         * modules/unistr/u8-chr: New file.
37607         * modules/unistr/u16-chr: New file.
37608         * modules/unistr/u32-chr: New file.
37609         * lib/unistr/u8-chr.c: New file.
37610         * lib/unistr/u16-chr.c: New file.
37611         * lib/unistr/u32-chr.c: New file.
37612
37613         * modules/unistr/u8-cmp: New file.
37614         * modules/unistr/u16-cmp: New file.
37615         * modules/unistr/u32-cmp: New file.
37616         * lib/unistr/u8-cmp.c: New file.
37617         * lib/unistr/u16-cmp.c: New file.
37618         * lib/unistr/u32-cmp.c: New file.
37619
37620         * modules/unistr/u8-cpy: New file.
37621         * modules/unistr/u16-cpy: New file.
37622         * modules/unistr/u32-cpy: New file.
37623         * lib/unistr/u8-cpy.c: New file.
37624         * lib/unistr/u16-cpy.c: New file.
37625         * lib/unistr/u32-cpy.c: New file.
37626         * lib/unistr/u-cpy.h: New file.
37627
37628         * modules/unistr/u8-cpy-alloc: New file.
37629         * modules/unistr/u16-cpy-alloc: New file.
37630         * modules/unistr/u32-cpy-alloc: New file.
37631         * lib/unistr/u8-cpy-alloc.c: New file.
37632         * lib/unistr/u16-cpy-alloc.c: New file.
37633         * lib/unistr/u32-cpy-alloc.c: New file.
37634         * lib/unistr/u-cpy-alloc.h: New file.
37635
37636         * modules/unistr/u8-endswith: New file.
37637         * modules/unistr/u16-endswith: New file.
37638         * modules/unistr/u32-endswith: New file.
37639         * lib/unistr/u8-endswith.c: New file.
37640         * lib/unistr/u16-endswith.c: New file.
37641         * lib/unistr/u32-endswith.c: New file.
37642         * lib/unistr/u-endswith.h: New file.
37643
37644         * modules/unistr/u8-mblen: New file.
37645         * modules/unistr/u16-mblen: New file.
37646         * modules/unistr/u32-mblen: New file.
37647         * lib/unistr/u8-mblen.c: New file.
37648         * lib/unistr/u16-mblen.c: New file.
37649         * lib/unistr/u32-mblen.c: New file.
37650
37651         * modules/unistr/u8-mbtouc: New file.
37652         * modules/unistr/u16-mbtouc: New file.
37653         * modules/unistr/u32-mbtouc: New file.
37654         * lib/unistr/u8-mbtouc.c: New file.
37655         * lib/unistr/u16-mbtouc.c: New file.
37656         * lib/unistr/u32-mbtouc.c: New file.
37657
37658         * modules/unistr/u8-mbtouc-safe: New file.
37659         * modules/unistr/u16-mbtouc-safe: New file.
37660         * modules/unistr/u32-mbtouc-safe: New file.
37661         * lib/unistr/u8-mbtouc-safe.c: New file.
37662         * lib/unistr/u16-mbtouc-safe.c: New file.
37663         * lib/unistr/u32-mbtouc-safe.c: New file.
37664
37665         * modules/unistr/u8-move: New file.
37666         * modules/unistr/u16-move: New file.
37667         * modules/unistr/u32-move: New file.
37668         * lib/unistr/u8-move.c: New file.
37669         * lib/unistr/u16-move.c: New file.
37670         * lib/unistr/u32-move.c: New file.
37671         * lib/unistr/u-move.h: New file.
37672
37673         * modules/unistr/u8-next: New file.
37674         * modules/unistr/u16-next: New file.
37675         * modules/unistr/u32-next: New file.
37676         * lib/unistr/u8-next.c: New file.
37677         * lib/unistr/u16-next.c: New file.
37678         * lib/unistr/u32-next.c: New file.
37679
37680         * modules/unistr/u8-prev: New file.
37681         * modules/unistr/u16-prev: New file.
37682         * modules/unistr/u32-prev: New file.
37683         * lib/unistr/u8-prev.c: New file.
37684         * lib/unistr/u16-prev.c: New file.
37685         * lib/unistr/u32-prev.c: New file.
37686
37687         * modules/unistr/u8-set: New file.
37688         * modules/unistr/u16-set: New file.
37689         * modules/unistr/u32-set: New file.
37690         * lib/unistr/u8-set.c: New file.
37691         * lib/unistr/u16-set.c: New file.
37692         * lib/unistr/u32-set.c: New file.
37693         * lib/unistr/u-set.h: New file.
37694
37695         * modules/unistr/u8-startswith: New file.
37696         * modules/unistr/u16-startswith: New file.
37697         * modules/unistr/u32-startswith: New file.
37698         * lib/unistr/u8-startswith.c: New file.
37699         * lib/unistr/u16-startswith.c: New file.
37700         * lib/unistr/u32-startswith.c: New file.
37701         * lib/unistr/u-startswith.h: New file.
37702
37703         * modules/unistr/u8-stpcpy: New file.
37704         * modules/unistr/u16-stpcpy: New file.
37705         * modules/unistr/u32-stpcpy: New file.
37706         * lib/unistr/u8-stpcpy.c: New file.
37707         * lib/unistr/u16-stpcpy.c: New file.
37708         * lib/unistr/u32-stpcpy.c: New file.
37709         * lib/unistr/u-stpcpy.h: New file.
37710
37711         * modules/unistr/u8-stpncpy: New file.
37712         * modules/unistr/u16-stpncpy: New file.
37713         * modules/unistr/u32-stpncpy: New file.
37714         * lib/unistr/u8-stpncpy.c: New file.
37715         * lib/unistr/u16-stpncpy.c: New file.
37716         * lib/unistr/u32-stpncpy.c: New file.
37717         * lib/unistr/u-stpncpy.h: New file.
37718
37719         * modules/unistr/u8-strcat: New file.
37720         * modules/unistr/u16-strcat: New file.
37721         * modules/unistr/u32-strcat: New file.
37722         * lib/unistr/u8-strcat.c: New file.
37723         * lib/unistr/u16-strcat.c: New file.
37724         * lib/unistr/u32-strcat.c: New file.
37725         * lib/unistr/u-strcat.h: New file.
37726
37727         * modules/unistr/u8-strchr: New file.
37728         * modules/unistr/u16-strchr: New file.
37729         * modules/unistr/u32-strchr: New file.
37730         * lib/unistr/u8-strchr.c: New file.
37731         * lib/unistr/u16-strchr.c: New file.
37732         * lib/unistr/u32-strchr.c: New file.
37733
37734         * modules/unistr/u8-strcmp: New file.
37735         * modules/unistr/u16-strcmp: New file.
37736         * modules/unistr/u32-strcmp: New file.
37737         * lib/unistr/u8-strcmp.c: New file.
37738         * lib/unistr/u16-strcmp.c: New file.
37739         * lib/unistr/u32-strcmp.c: New file.
37740
37741         * modules/unistr/u8-strcpy: New file.
37742         * modules/unistr/u16-strcpy: New file.
37743         * modules/unistr/u32-strcpy: New file.
37744         * lib/unistr/u8-strcpy.c: New file.
37745         * lib/unistr/u16-strcpy.c: New file.
37746         * lib/unistr/u32-strcpy.c: New file.
37747         * lib/unistr/u-strcpy.h: New file.
37748
37749         * modules/unistr/u8-strcspn: New file.
37750         * modules/unistr/u16-strcspn: New file.
37751         * modules/unistr/u32-strcspn: New file.
37752         * lib/unistr/u8-strcspn.c: New file.
37753         * lib/unistr/u16-strcspn.c: New file.
37754         * lib/unistr/u32-strcspn.c: New file.
37755         * lib/unistr/u-strcspn.h: New file.
37756
37757         * modules/unistr/u8-strdup: New file.
37758         * modules/unistr/u16-strdup: New file.
37759         * modules/unistr/u32-strdup: New file.
37760         * lib/unistr/u8-strdup.c: New file.
37761         * lib/unistr/u16-strdup.c: New file.
37762         * lib/unistr/u32-strdup.c: New file.
37763         * lib/unistr/u-strdup.h: New file.
37764
37765         * modules/unistr/u8-strlen: New file.
37766         * modules/unistr/u16-strlen: New file.
37767         * modules/unistr/u32-strlen: New file.
37768         * lib/unistr/u8-strlen.c: New file.
37769         * lib/unistr/u16-strlen.c: New file.
37770         * lib/unistr/u32-strlen.c: New file.
37771         * lib/unistr/u-strlen.h: New file.
37772
37773         * modules/unistr/u8-strmblen: New file.
37774         * modules/unistr/u16-strmblen: New file.
37775         * modules/unistr/u32-strmblen: New file.
37776         * lib/unistr/u8-strmblen.c: New file.
37777         * lib/unistr/u16-strmblen.c: New file.
37778         * lib/unistr/u32-strmblen.c: New file.
37779
37780         * modules/unistr/u8-strmbtouc: New file.
37781         * modules/unistr/u16-strmbtouc: New file.
37782         * modules/unistr/u32-strmbtouc: New file.
37783         * lib/unistr/u8-strmbtouc.c: New file.
37784         * lib/unistr/u16-strmbtouc.c: New file.
37785         * lib/unistr/u32-strmbtouc.c: New file.
37786
37787         * modules/unistr/u8-strncat: New file.
37788         * modules/unistr/u16-strncat: New file.
37789         * modules/unistr/u32-strncat: New file.
37790         * lib/unistr/u8-strncat.c: New file.
37791         * lib/unistr/u16-strncat.c: New file.
37792         * lib/unistr/u32-strncat.c: New file.
37793         * lib/unistr/u-strncat.h: New file.
37794
37795         * modules/unistr/u8-strncmp: New file.
37796         * modules/unistr/u16-strncmp: New file.
37797         * modules/unistr/u32-strncmp: New file.
37798         * lib/unistr/u8-strncmp.c: New file.
37799         * lib/unistr/u16-strncmp.c: New file.
37800         * lib/unistr/u32-strncmp.c: New file.
37801
37802         * modules/unistr/u8-strncpy: New file.
37803         * modules/unistr/u16-strncpy: New file.
37804         * modules/unistr/u32-strncpy: New file.
37805         * lib/unistr/u8-strncpy.c: New file.
37806         * lib/unistr/u16-strncpy.c: New file.
37807         * lib/unistr/u32-strncpy.c: New file.
37808         * lib/unistr/u-strncpy.h: New file.
37809
37810         * modules/unistr/u8-strnlen: New file.
37811         * modules/unistr/u16-strnlen: New file.
37812         * modules/unistr/u32-strnlen: New file.
37813         * lib/unistr/u8-strnlen.c: New file.
37814         * lib/unistr/u16-strnlen.c: New file.
37815         * lib/unistr/u32-strnlen.c: New file.
37816         * lib/unistr/u-strnlen.h: New file.
37817
37818         * modules/unistr/u8-strpbrk: New file.
37819         * modules/unistr/u16-strpbrk: New file.
37820         * modules/unistr/u32-strpbrk: New file.
37821         * lib/unistr/u8-strpbrk.c: New file.
37822         * lib/unistr/u16-strpbrk.c: New file.
37823         * lib/unistr/u32-strpbrk.c: New file.
37824         * lib/unistr/u-strpbrk.h: New file.
37825
37826         * modules/unistr/u8-strrchr: New file.
37827         * modules/unistr/u16-strrchr: New file.
37828         * modules/unistr/u32-strrchr: New file.
37829         * lib/unistr/u8-strrchr.c: New file.
37830         * lib/unistr/u16-strrchr.c: New file.
37831         * lib/unistr/u32-strrchr.c: New file.
37832
37833         * modules/unistr/u8-strspn: New file.
37834         * modules/unistr/u16-strspn: New file.
37835         * modules/unistr/u32-strspn: New file.
37836         * lib/unistr/u8-strspn.c: New file.
37837         * lib/unistr/u16-strspn.c: New file.
37838         * lib/unistr/u32-strspn.c: New file.
37839         * lib/unistr/u-strspn.h: New file.
37840
37841         * modules/unistr/u8-strstr: New file.
37842         * modules/unistr/u16-strstr: New file.
37843         * modules/unistr/u32-strstr: New file.
37844         * lib/unistr/u8-strstr.c: New file.
37845         * lib/unistr/u16-strstr.c: New file.
37846         * lib/unistr/u32-strstr.c: New file.
37847         * lib/unistr/u-strstr.h: New file.
37848
37849         * modules/unistr/u8-strtok: New file.
37850         * modules/unistr/u16-strtok: New file.
37851         * modules/unistr/u32-strtok: New file.
37852         * lib/unistr/u8-strtok.c: New file.
37853         * lib/unistr/u16-strtok.c: New file.
37854         * lib/unistr/u32-strtok.c: New file.
37855         * lib/unistr/u-strtok.h: New file.
37856
37857         * modules/unistr/u8-uctomb: New file.
37858         * modules/unistr/u16-uctomb: New file.
37859         * modules/unistr/u32-uctomb: New file.
37860         * lib/unistr/u8-uctomb.c: New file.
37861         * lib/unistr/u16-uctomb.c: New file.
37862         * lib/unistr/u32-uctomb.c: New file.
37863
37864         * MODULES.html.sh (Unicode string functions): Add the new modules.
37865
37866 2007-01-08  Bruno Haible  <bruno@clisp.org>
37867
37868         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
37869         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
37870         subdirectories.
37871
37872 2007-01-08  Karl Berry  <karl@gnu.org>
37873
37874         * doc/error.texi: mention that main() fns must set program_name
37875         when progname is used.
37876
37877 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
37878
37879         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
37880         WCTYPE_H is empty, for the benefit of builds from non-distclean
37881         directories.  Problem reported by Eric Blake in
37882         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
37883
37884 2007-01-08  Bruno Haible  <bruno@clisp.org>
37885
37886         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
37887         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
37888         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
37889         PROVIDE_CANONICALIZE_FILENAME_MODE.
37890         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
37891
37892 2007-01-08  Bruno Haible  <bruno@clisp.org>
37893
37894         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
37895         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
37896         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
37897         * lib/fts.c: Likewise.
37898         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
37899
37900 2006-12-25  Bruno Haible  <bruno@clisp.org>
37901
37902         * modules/utf8-ucs4-safe: New file.
37903         * lib/utf8-ucs4-safe.h: New file.
37904         * lib/unistr/utf8-ucs4-safe.c: New file.
37905
37906         * modules/utf16-ucs4-safe: New file.
37907         * lib/utf16-ucs4-safe.h: New file.
37908         * lib/unistr/utf16-ucs4-safe.c: New file.
37909
37910         * MODULES.html.sh (Unicode string functions): Add the new modules.
37911
37912 2007-01-08  Bruno Haible  <bruno@clisp.org>
37913
37914         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
37915         (Depends-on): Add unitypes.
37916         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
37917         (u8_mbtouc_aux): Move out to separate file.
37918         (u8_mbtouc): Use ucs4_t, uint8_t types.
37919         * lib/unistr/utf8-ucs4.c: New file.
37920
37921         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
37922         (Depends-on): Add unitypes.
37923         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
37924         (u16_mbtouc_aux): Move out to separate file.
37925         (u16_mbtouc): Use ucs4_t, uint16_t types.
37926         * lib/unistr/utf16-ucs4.c: New file.
37927
37928         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
37929         (Depends-on): Add unitypes.
37930         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
37931         (u8_uctomb_aux): Move out to separate file.
37932         (u8_uctomb): Use ucs4_t, uint8_t types.
37933         * lib/unistr/ucs4-utf8.c: New file.
37934
37935         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
37936         (Depends-on): Add unitypes.
37937         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
37938         (u16_uctomb_aux): Move out to separate file.
37939         (u16_uctomb): Use ucs4_t, uint16_t types.
37940         * lib/unistr/ucs4-utf16.c: New file.
37941
37942 2006-12-25  Bruno Haible  <bruno@clisp.org>
37943
37944         * modules/unitypes: New file.
37945         * lib/unitypes.h: New file.
37946         * MODULES.html.sh (func_all_modules): New section "Unicode string
37947         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
37948         this section. Add unitypes.
37949
37950 2007-01-08  Bruno Haible  <bruno@clisp.org>
37951
37952         Avoid variable names that conflict with those from libtool.
37953         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
37954         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
37955         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
37956         library_names_spec to acl_library_names_spec, hardcode_* to
37957         acl_hardcode_*.
37958         Reported by Ralf Wildenhues.
37959
37960 2007-01-08  Bruno Haible  <bruno@clisp.org>
37961
37962         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
37963         definition.
37964         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
37965         definition.
37966         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
37967         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
37968         definition.
37969         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
37970         definition.
37971         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
37972         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
37973         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
37974         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
37975         definition.
37976         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
37977         definition.
37978         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
37979         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
37980         GC_USE_<algorithm>.
37981         * lib/gc-libgcrypt.c: Likewise.
37982         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
37983         * modules/gc-arctwo (configure.ac): Likewise.
37984         * modules/gc-des (configure.ac): Likewise.
37985         * modules/gc-hmac-md5 (configure.ac): Likewise.
37986         * modules/gc-hmac-sha1 (configure.ac): Likewise.
37987         * modules/gc-md2 (configure.ac): Likewise.
37988         * modules/gc-md4 (configure.ac): Likewise.
37989         * modules/gc-md5 (configure.ac): Likewise.
37990         * modules/gc-random (configure.ac): Likewise.
37991         * modules/gc-rijndael (configure.ac): Likewise.
37992         * modules/gc-sha1 (configure.ac): Likewise.
37993
37994 2007-01-08  Bruno Haible  <bruno@clisp.org>
37995
37996         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
37997         macro definition.
37998         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
37999         definition.
38000         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
38001         definition.
38002         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
38003         * modules/fcntl-safer (configure.ac): Likewise.
38004         * modules/fopen-safer (configure.ac): Likewise.
38005         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
38006         GNULIB_FWRITEERROR macro definition.
38007
38008 2007-01-08  Bruno Haible  <bruno@clisp.org>
38009
38010         * m4/gnulib-common.m4: New file.
38011         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
38012         (func_get_filelist): Add m4/gnulib-common.m4.
38013
38014 2007-01-08  Bruno Haible  <bruno@clisp.org>
38015
38016         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
38017         command.
38018
38019 2007-01-08  Jim Meyering  <jim@meyering.net>
38020
38021         Use a more robust test for a "can't happen" condition.
38022         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
38023         narrowed the st_size value.  Presuming the "can't happen" condition
38024         is true, that narrowing could conceivably convert an invalid st_size
38025         value into a valid one.  Instead, use a change based on Matthew
38026         Woehlke's original patch.
38027
38028         Slight readability improvement: use an assert-like macro
38029         in place of literal "abort ()" uses.
38030         * lib/fts.c (fts_assert): Define.
38031         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
38032         Use this macro instead of a bare 'abort'.
38033
38034 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
38035
38036         Don't worry about using IRIX 5.3's wctype.h broken definitions;
38037         simply work around them.
38038         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
38039         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
38040         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
38041         declaring.
38042         Don't bother to define as macros, since the standard doesn't require it.
38043         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
38044         longer worry about IRIX 5.3.
38045         (HAVE_WCTYPE_CTMP_BUG): Remove.
38046
38047 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38048
38049         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
38050         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
38051         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38052         Problems reported by Georg Schwarz for IRIX 5.3.
38053
38054         * gnulib-tool (autoconf_minversion): Take the maximum version number
38055         found, not the minimum.  Problem reported by James Youngman.
38056
38057 2007-01-03  Karl Berry  <karl@gnu.org>
38058
38059         * doc/error.texi: new file, explaining interaction with progname.
38060         * doc/gnulib.texi: include it.  Update copyright.
38061
38062 2007-01-03  Simon Josefsson  <simon@josefsson.org>
38063
38064         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
38065         AC_CANONICAL_HOST, to improve autobuild outputs.
38066
38067 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
38068             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
38069
38070         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
38071         sockets, server sockets, and other file descriptors.  Count errors
38072         to compute the return value.  Reorder the code a bit to be easier
38073         to follow.  Don't set event bits that were not requested (except
38074         POLLERR and POLLHUP).
38075
38076 2007-01-01  Bruno Haible  <bruno@clisp.org>
38077
38078         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
38079
38080 2007-01-03  Jim Meyering  <jim@meyering.net>
38081
38082         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
38083
38084 2007-01-02  Bruno Haible  <bruno@clisp.org>
38085
38086         * modules/settime (Include): Require timespec.h.
38087         * modules/nanosleep (Include): Likewise.
38088
38089 2007-01-01  Bruno Haible  <bruno@clisp.org>
38090
38091         * gnulib-tool (func_emit_copyright_notice): Bump year.
38092         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
38093
38094 2007-01-01  Bruno Haible  <bruno@clisp.org>
38095
38096         Improve support for OpenBSD.
38097         * build-aux/config.rpath (libname_spec): Export.
38098         (library_names_spec): New variable. Export.
38099         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
38100         library_names_spec from the config.rpath output. Locate shared library
38101         through the name pattern in library_names_spec.
38102
38103 2007-01-01  Eric Blake  <ebb9@byu.net>
38104
38105         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
38106
38107 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38108
38109         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
38110         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
38111         assume the C locale, and avoid an "eval" that could cause trouble.
38112         Problem with SORT reported by Bob Proulx.
38113
38114         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
38115         Define.  Trivial patch from Henning Nielsen Lund, originally
38116         sent to bug-grep@gnu.org today.
38117
38118 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38119
38120         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
38121         struct stat.  Problem reported by Henning Nielsen Lund.
38122         * lib/acl.c: Include acl.h first, to check interface.  Don't
38123         bother to include sys/types.h and sys/stat.h again.
38124
38125 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
38126
38127         Import the following change from libc; problem reported by
38128         Sven Verdoolaege.
38129
38130         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
38131
38132         [BZ #1373]
38133         * lib/argp.h: Remove __NTH for __argp_usage inline function.
38134
38135 2006-12-28  Jim Meyering  <jim@meyering.net>
38136
38137         * build-aux/announce-gen: Do not assume that the package
38138         builds any of tar.gz, tar.bz2, and .xdelta files.
38139         Suggestion from Simon Josefsson.
38140
38141 2006-12-28  Simon Josefsson  <simon@josefsson.org>
38142
38143         * modules/announce-gen: New file.
38144
38145 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
38146
38147         * lib/mbchar.h: Just include <wctype.h>; the wctype module
38148         handles its gotchas now.
38149         * lib/mbswidth.c: Likewise.
38150         * lib/wcwidth.h: Likewise.
38151         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
38152         and iswcntrl; the wctype module does this stuff now.
38153         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38155         * modules/mbchar (Depends-on): Add wctype.
38156         * modules/mbswidth (Depends-on): Likewise.
38157         * modules/wcwidth (Depends-on): Likewise.
38158
38159 2006-12-27  Eric Blake  <ebb9@byu.net>
38160
38161         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
38162         module uses more than what <wctype.h> is required to provide.
38163
38164 2006-12-26  Eric Blake  <ebb9@byu.net>
38165
38166         * gnulib-tool (sed_extract_prog): Avoid space-tab.
38167
38168 2006-12-26  Eric Blake  <ebb9@byu.net>
38169
38170         * modules/absolute-header: New module.
38171         * modules/fcntl (Depends-on): Depend on it.
38172         * modules/inttypes (Depends-on): Likewise.
38173         * modules/stdint (Depends-on): Likewise.
38174         * modules/sys_stat (Depends-on): Likewise.
38175         * modules/wctype (Depends-on): Likewise.
38176         * MODULES.html.sh (Support for building libraries and
38177         executables): Document it.
38178
38179 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38180
38181         * gnulib-tool (SED): Remove, undoing previous change.
38182         The problem was that it broke coreutils on Solaris, because
38183         "sed --posix" leaked into a makefile.
38184         (sed): New alias, if 'alias' and GNU sed.
38185
38186 2006-12-24  Jim Meyering  <jim@meyering.net>
38187
38188         Work around an fchownat bug in glibc-2.4:
38189         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
38190         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
38191         in spite of the -P option.
38192         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
38193         New macros.
38194         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
38195         * modules/openat (Files): Add lib/fchownat.c.
38196         * lib/openat.c (fchownat): Don't define here.  Move to...
38197         * lib/fchownat.c: ...this new file.
38198
38199 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
38200
38201         Fix bug reported by Bruno Haible in
38202         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
38203         where quotearg.c didn't compile on Mac OS X 10.2 because it
38204         lacks <wchar.h> and wint_t.
38205         * lib/wctype_.h (__wctype_wint_t): New type.
38206         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
38207         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
38208         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
38209         Arg is now of type __wctype_wint_t, not wint_t.
38210         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
38211         substitute HAVE_WINT_T.
38212         * modules/wctype (Files): Add m4/wint_t.m4.
38213         (wctype.h): Substitute HAVE_WINT_T.
38214
38215 2006-12-23  Bruno Haible  <bruno@clisp.org>
38216
38217         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
38218
38219 2006-12-23  Bruno Haible  <bruno@clisp.org>
38220
38221         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
38222         S_ISLNK.
38223         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
38224         mingw.
38225
38226 2006-12-22  Bruno Haible  <bruno@clisp.org>
38227
38228         * lib/copy-file.c: Include acl.h.
38229         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
38230         Close the file descriptors only after being done with copy_acl.
38231         * modules/copy-file (Depends-on): Add acl.
38232
38233 2006-12-22  Bruno Haible  <bruno@clisp.org>
38234
38235         * gnulib-tool (SED): New variable.
38236         Use $SED instead of sed everywhere.
38237
38238 2006-12-22  Bruno Haible  <bruno@clisp.org>
38239
38240         * modules/no-c++: New file.
38241         * m4/no-c++.m4: New file.
38242         * MODULES.html.sh (Support for building libraries and executables):
38243         Add no-c++.
38244
38245 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
38246
38247         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38248         Include <limits.h>, and use its INT_MAX to rewrite the
38249         j loop so that it does not overflow 'int'.  Problem reported by
38250         Ralf Wildenhues in
38251         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
38252         Play it safe by shifting left by 1 rather than multiplying by 2,
38253         as GCC is less likely to optimize this away when the value
38254         is signed (when it assumes overflow leads to undefined behavior).
38255         Also, don't assume time_t uses two's complement.
38256
38257 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
38258
38259         * MODULES.html.sh: New module wctype.
38260         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
38261         * lib/fnmatch.c: Don't bother to include <wchar.h> before
38262         <wctype.h>, since the new wctype module should fix this.
38263         * lib/quotearg.c: Include <wctype.h> unconditionally, since
38264         the wctype module should arrange for it.
38265         * lib/regex_internal.h: Likewise.
38266         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
38267         since the wctype module should handle this now.
38268         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
38269         * modules/fnmatch (Depends-on): Add wctype.
38270         * modules/quotearg (Depends-on): Likewise.
38271         * modules/regex (Depends-on): Likewise.
38272
38273 2006-12-19  Bruno Haible  <bruno@clisp.org>
38274
38275         * lib/strdup.h [C++]: Wrap definitions in extern "C".
38276         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
38277
38278 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38279
38280         * modules/savewd (Depends-on): Fix dependency on fcntl.
38281
38282 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38283
38284         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
38285         conforms to C99, rather than relying on the user's environment
38286         setting of STDINT_H.
38287
38288 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38289         and Eric Blake  <ebb9@byu.net>
38290
38291         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
38292         This is more consistent with the other defines here.
38293         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
38294         Port to z/OS.  Problem reported by Paul Gilmartin.
38295         Change local vars to use gl_ prefix rather than ac_.
38296         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
38297         with other defines.
38298         * modules/double-slash-root: New module.
38299         * modules/dirname (Files): Remove m4/double-slash-root.m4.
38300         (Depends-on): Add double-slash-root.
38301         * MODULES.html.sh (File system functions): Mention new module.
38302
38303 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
38304
38305         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
38306         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
38307         This is for the benefit of gzip, which doesn't do i18n.
38308
38309 2006-12-12  Jim Meyering  <jim@meyering.net>
38310
38311         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
38312         Reported by Andreas Schwab <schwab@suse.de>.
38313
38314 2006-12-12  Bruno Haible  <bruno@clisp.org>
38315
38316         Merge these changes.
38317         2006-09-05  Bruno Haible  <bruno@clisp.org>
38318         * lib/iconvme.c (iconv_string): No need to save and restore errno when
38319         iconv_alloc succeeded.
38320         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
38321         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
38322         test for " && dest " at the end - dest is always != NULL there. Call
38323         iconv with 4xNULL arguments initially, to reset the state. Call iconv
38324         with 2xNULL arguments, also to flush the state storage. Handle the
38325         IRIX iconv behaviour. Realloc the final result, to throw away unused
38326         memory.
38327
38328 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
38329
38330         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
38331         and fchmodat unconditionally, since glibc 2.4 has them.
38332         Problem reported by Arkadiusz Miskiewicz.
38333
38334 2006-12-10  Bruno Haible  <bruno@clisp.org>
38335
38336         * gnulib-tool (func_import): Show the include files only for those
38337         modules that are copied and specified.
38338         Reported by Karl Berry.
38339
38340 2006-12-08  Jim Meyering  <jim@meyering.net>
38341
38342         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
38343         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
38344
38345         * build-aux/announce-gen: Add two new options, both optional:
38346         --bootstrap-tools=TOOL_LIST
38347               a comma-separated list of tools, e.g.,
38348               autoconf,automake,bison,gnulib
38349         --gnulib-snapshot-date=DATE
38350               if gnulib is in the bootstrap tool list,
38351               then report this as the snapshot date.
38352               If not specified, use the current date/time.
38353               If you specify a date here, be sure it's UTC.
38354
38355 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38356
38357         * tests/test-argp-2.sh: Fix test to match actual output.
38358         (func_compare): Fix sed script to be portable.
38359
38360 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
38361
38362         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
38363         workaround for this case.  It is not autoconfigured now; offhand
38364         it's hard to see how to autoconfigure it.
38365
38366 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38367
38368         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
38369         a directory that is about to be chowned.  Such a directory's
38370         initial file permissions should permit the owner only and this
38371         should not be changed until after the chown, since the group and
38372         other bits would be incorrect if they granted permission before
38373         the chown.
38374
38375         Fix porting problem for iswctype reported by Georg Schwarz in:
38376         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
38377         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
38378         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
38379         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
38380         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38381
38382 2006-12-03  Jim Meyering  <jim@meyering.net>
38383
38384         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
38385         p->fts_statp may not yet be defined.
38386         (fts_read): Instead, set it in the caller, once p->fts_statp is
38387         sure to be defined, and corresponds to a top-level directory.
38388         This bug made du -x fail.  Here's the coreutils test case:
38389         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
38390         Reported by Mike Frysinger.
38391
38392 2006-12-01  Jim Meyering  <jim@meyering.net>
38393
38394         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
38395         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
38396         Reported by Simon Josefsson.
38397
38398 2006-11-30  Jim Meyering  <jim@meyering.net>
38399
38400         * m4/warning.m4: Use the all-permissive copyright notice
38401         recommended by RMS (rather than LGPL).
38402         * m4/vararrays.m4: Likewise.
38403         * m4/flexmember.m4: Likewise.
38404
38405 2006-11-29  Bruno Haible  <bruno@clisp.org>
38406
38407         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38408         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
38409         using +=.
38410         Reported by Simon Josefsson <simon@josefsson.org>.
38411
38412 2006-11-28  James Youngman <jay@gnu.org>
38413
38414         * README: Advise users that they might find the bug-gnulib@gnu.org
38415         and autotools-announce@gnu.org mailing lists useful.
38416
38417 2006-11-28  Bruno Haible  <bruno@clisp.org>
38418
38419         * m4/ptrdiff_max.m4: Remove file.
38420
38421 2006-11-21  Bruno Haible  <bruno@clisp.org>
38422
38423         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
38424         _AC_COMPUTE_INT.
38425         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38426         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
38427         _AC_COMPUTE_INT.
38428         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38429         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
38430         _AC_COMPUTE_INT.
38431         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38432
38433 2006-11-28  Jim Meyering  <jim@meyering.net>
38434
38435         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
38436         warning from "gcc -Wshadow" about shadowing the builtin.
38437
38438 2006-11-27  Bruno Haible  <bruno@clisp.org>
38439
38440         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
38441         _AC_COMPUTE_INT.
38442         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38443
38444 2006-11-27  Bruno Haible  <bruno@clisp.org>
38445             Paul Eggert  <eggert@cs.ucla.edu>
38446
38447         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
38448
38449 2006-11-26  Bruno Haible  <bruno@clisp.org>
38450
38451         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38452         noinst_LTLIBRARIES.
38453
38454 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
38455             Bruno Haible  <bruno@clisp.org>
38456
38457         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
38458         if compiling with "gcc -ansi".
38459
38460 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
38461
38462         Fix some incompatibilities with gcc -ansi -pedantic.
38463         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
38464         if compiling pedantically with GCC, unless it's C99 or later.
38465         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
38466         it mishandles gcc -ansi -pedantic as well.
38467         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
38468         if gcc -pedantic.
38469         * lib/regexec.c (check_node_accept_bytes): Don't use auto
38470         initializers for struct if -pedantic, unless it's C99 or later.
38471
38472 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
38473
38474         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
38475         Don't close an fd more than once. Identical atimes indicate
38476         success, not failure.
38477
38478 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
38479
38480         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
38481
38482 2006-11-23  Jim Meyering  <jim@meyering.net>
38483
38484         * build-aux/announce-gen: New file.  From coreutils.
38485
38486 2006-11-22  Jim Meyering  <jim@meyering.net>
38487
38488         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
38489         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
38490         (fts_read): Use a temporary to narrow the overused st_size member
38491         before using it in a switch statement.  Reported by Matthew Woehlke.
38492
38493         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
38494         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38495
38496 2006-11-20  Bruno Haible  <bruno@clisp.org>
38497
38498         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
38499         changequote instead of pairs of brackets.
38500         Reported by Andreas Schwab <schwab@suse.de>.
38501
38502 2006-11-21  Jim Meyering  <jim@meyering.net>
38503
38504         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
38505         so as to remain compatible with older compilers.
38506         Patch from Michael Deutschmann.
38507
38508 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38509
38510         * MODULES.html.sh (File system functions): Add openat.
38511
38512         * lib/openat.h (rpl_fstatat): New macro, if
38513         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
38514         (fstatat): Define to rpl_fstatat under the same conditions,
38515         unless COMPILING_FSTATAT.
38516         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
38517         seems to have the bug.
38518         * lib/fstatat.c: New file.
38519         * modules/openat (Files): Add it.
38520
38521 2006-11-20  Bruno Haible  <bruno@clisp.org>
38522
38523         * Makefile: New file.
38524
38525 2006-11-20  Jim Meyering  <jim@meyering.net>
38526
38527         The beginnings of syntax-related checks for gnulib.
38528         * lib/Makefile: New file.
38529         * lib/t-idcache: New script.  Ensure that the two halves of
38530         idcache.c stay in sync.
38531
38532         * lib/idcache.c: Adjust comments in user- and group- portions to
38533         be more accurate, and to be consistent with one another.
38534
38535 2006-11-20  Jim Meyering  <jim@meyering.net>
38536
38537         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
38538         continue using the flexible array member (thus, this module performs
38539         half as many malloc calls), with the addition that...
38540         (getgroup, getuser): Consistently record a non-match via an empty
38541         "name" string, and map an empty string match to a NULL return value.
38542         * modules/idcache (Depends-on): Re-add flexmember.
38543
38544         * lib/idcache.c (getuser): Remove all uses of the register keyword.
38545         (getuidbyname, getgroup, getgidbyname): Likewise.
38546
38547         Use cleaner syntax: NULL rather than 0.
38548         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
38549
38550 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
38551
38552         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
38553         It mishandled the case where the group was missing.
38554         Problem reported by Greg Schafer.
38555         * modules/idcache: Likewise.
38556
38557 2006-11-18  Jim Meyering  <jim@meyering.net>
38558
38559         * check-module (%exempt_header): Add exception for some
38560         conditionally-included headers.
38561
38562         * modules/i-ring (Depends-on): Add verify.
38563         (License): Change to LGPL.
38564
38565 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
38566
38567         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
38568         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
38569         and inttostr.h.  Use snprintf rather than uinttostr, so that
38570         LGPLed code doesn't depend on GPLed.
38571
38572 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
38573
38574         * modules/inline (License): Change from GPL to LGPL.
38575
38576 2006-11-17  Jim Meyering  <jim@meyering.net>
38577
38578         * modules/d-type (License): Switch to LGPL.
38579
38580 2006-11-15  Bruno Haible  <bruno@clisp.org>
38581
38582         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
38583
38584 2006-11-15  Eric Blake  <ebb9@byu.net>
38585
38586         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
38587         the module dependency.
38588
38589 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38590             Bruno Haible  <bruno@clisp.org>
38591
38592         * gnulib-tool (func_create_testdir): Add license consistency check.
38593
38594 2006-11-15  Eric Blake  <ebb9@byu.net>
38595
38596         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
38597         random "(cached)" in configure output.
38598
38599 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38600
38601         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
38602         test for conforming inttypes.h is both announced and cached.
38603
38604         * MODULES.html.sh (seen_modules, seen_files): New variables.
38605         (func_module): Rewrite to use a few less gnulib-tool and sed
38606         invocations.  Avoid a couple of quadratic algorithms for ...
38607         (missed_modules, missed_files): ... these, with ...
38608         (func_append, func_tmpdir): ... these new functions, from
38609         gnulib-tool.  Analogously, install traps for cleanup.
38610
38611         * tests/test-gc.c (main): Remove unused variables.
38612         * tests/test-read-file.c: Include stdlib.h, for 'free'.
38613
38614 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
38615
38616         * modules/inttostr (License): Change to LGPL.
38617
38618 2006-11-14  Eric Blake  <ebb9@byu.net>
38619
38620         * modules/tempname (License): Change to LGPL.
38621
38622 2006-11-14  Eric Blake  <ebb9@byu.net>
38623
38624         * doc/functions.texi (Function Portability): *printf functions on
38625         Cygwin now understand all POSIX size specifiers.
38626
38627 2006-11-14  Bruno Haible  <bruno@clisp.org>
38628
38629         * modules/c-ctype (License): Change to LGPL.
38630
38631 2006-11-12  Bruno Haible  <bruno@clisp.org>
38632
38633         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
38634         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
38635         for GNOME libraries, for which the include files are installed in
38636         subdirectories of $prefix/include.
38637
38638 2006-11-12  Bruno Haible  <bruno@clisp.org>
38639
38640         * m4/lib-link.m4: Require at least autoconf-2.54.
38641         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
38642         name to underscores for the --with option.
38643
38644 2006-11-13  Bruno Haible  <bruno@clisp.org>
38645
38646         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
38647         the tests directory.
38648         Reported by Ralf Wildenhues.
38649
38650 2006-11-13  Bruno Haible  <bruno@clisp.org>
38651
38652         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
38653         (func_emit_initmacro_end): Undo the override here.
38654         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
38655         Works around the famous automake error in coreutils.
38656
38657 2006-11-13  Eric Blake  <ebb9@byu.net>
38658
38659         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
38660         element, not its node.
38661
38662 2006-11-12  Bruno Haible  <bruno@clisp.org>
38663
38664         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
38665         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
38666
38667 2006-11-12  Bruno Haible  <bruno@clisp.org>
38668
38669         * gnulib-tool: New option --local-symlink.
38670         (func_usage): Document it.
38671         (lsymbolic): New variable.
38672         (func_import, func_create_testdir): If --symlink was not specified,
38673         test whether --local-symlink was specified and the file comes from
38674         the local_gnulib_dir.
38675
38676 2006-11-12  Bruno Haible  <bruno@clisp.org>
38677
38678         * gnulib-tool (func_ln): New function.
38679         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
38680
38681 2006-11-12  Bruno Haible  <bruno@clisp.org>
38682
38683         Finish support for source files in subdirectories.
38684         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
38685         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
38686         AUTOMAKE_OPTIONS.
38687         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
38688
38689 2006-11-12  Bruno Haible  <bruno@clisp.org>
38690
38691         * gnulib-tool (func_get_automake_snippet): Synthesize also an
38692         EXTRA_lib_SOURCES augmentation.
38693         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
38694
38695 2006-11-12  Jim Meyering  <jim@meyering.net>
38696
38697         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
38698         file descriptors.  This also averts a failure on systems with
38699         native openat support when a traversed directory lacks "x" access.
38700         * lib/fts_.h: Include "i-ring.h"
38701         (struct FTS) [fts_fd_ring]: New member.
38702         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
38703         (FCHDIR): Add parentheses.
38704         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
38705         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
38706         When descending, rather than simply closing the previous
38707         fts_cwd_fd value, push that file descriptor onto the ring.
38708         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
38709         (fts_open): Initialize the new fd_ring member.
38710         (fts_close): Clear the ring.
38711         (fts_safe_changedir): When possible, use our new fd_ring to skip
38712         the diropen and fstat and dev/ino comparison that would normally
38713         accompany a virtual `chdir ("..")'.
38714
38715         * modules/fts (Depends-on): Add i-ring.
38716         * modules/i-ring: New module.
38717         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
38718         * m4/i-ring.m4: New file.
38719
38720 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38721
38722         * gnulib-tool (func_create_testdir): Fix replacement of
38723         `build-aux' in configure.ac.  Run autotools in gltests
38724         subdirectory.
38725         (func_create_testdir, func_create_megatestdir, test): There is
38726         no need for '--force' in most autotool invocations in a new
38727         tree.  Actually fail the whole test if any of the tools, or the
38728         configure or make stages fail.
38729
38730         Sync from Automake.
38731         * build-aux/gnupload: Revert last change.  Add pointer to upload
38732         instructions of the GNU Maintenance Instructions.
38733         Suggestion by Karl Berry.
38734
38735 2006-11-10  Jim Meyering  <jim@meyering.net>
38736
38737         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
38738
38739 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
38740
38741         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
38742         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
38743         (bind_textdomain_codeset) [! ENABLE_NLS]:
38744         Evaluate all the arguments.  That way, callers get compatible behavior
38745         if the arguments have side effects.  Also, it avoids some GCC
38746         diagnostics in some cases; Joel E. Denny reported problems when Bison
38747         was configured with --enable-gcc-warnigs.
38748
38749 2006-11-10  Jim Meyering  <jim@meyering.net>
38750
38751         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
38752         relevant options in CFLAGS (like -O, -fno-inline) are taken into
38753         account.
38754
38755 2006-11-10  Jim Meyering  <jim@meyering.net>
38756
38757         * modules/inline: New file/module.
38758         * modules/xalloc (Files): Remove m4/inline.m4.
38759         (Depends-on): Add inline, instead.
38760         * modules/oset: Likewise.
38761         * modules/list: Likewise.
38762
38763 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
38764
38765         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
38766         Problem reported by Matthew Woehlke.
38767
38768 2006-11-09  Bruno Haible  <bruno@clisp.org>
38769
38770         * lib/tempname.c (gen_tempname): Remove variant that invokes
38771         __gen_tempname.
38772         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
38773         __gen_tempname.
38774
38775 2006-11-08  Bruno Haible  <bruno@clisp.org>
38776
38777         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
38778         to 'yes' instead of 'cross-compiling'.
38779
38780 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
38781
38782         * lib/quotearg.h (quotearg_free): New decl.
38783         * lib/quotearg.c (quotearg_free): New function.
38784         (slot0, nslots, slotvec0, slotvec):
38785         Now file-scope so that quotearg_free can get at them.
38786
38787 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38788
38789         Sync from Automake.
38790         * build-aux/gnupload: Add missing 'gnu' to example URL.
38791         Report by Karl Berry.
38792
38793 2006-11-08  Bruno Haible  <bruno@clisp.org>
38794
38795         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
38796         Suggested by Paul Eggert.
38797
38798 2006-11-08  Jim Meyering  <jim@meyering.net>
38799
38800         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
38801         It's already included if !_LIBC.
38802         (fts_safe_changedir): Add a comment.
38803
38804 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
38805
38806         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
38807         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
38808         Matthew Woehlke.
38809
38810         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
38811         definitions up, to avoid colliding with change below.
38812         (static_inline) [HAVE_INLINE]: New macro.
38813         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
38814         Provide extern decls when !HAVE_INLINE.  Do not define unless
38815         static_inline is defined, either by us or by xmalloc.c.  Use
38816         static_inline rather than static inline.
38817         (XCALLOC): Optimize sizeof(T) = 1 case.
38818         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
38819
38820 2006-11-07  Bruno Haible  <bruno@clisp.org>
38821
38822         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
38823         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
38824         AC_C_INLINE.
38825         * modules/xalloc (Files): Add m4/inline.m4.
38826
38827 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38828
38829         * README: Fix typo.
38830         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
38831         (Miscellanous Notes): ...from this.
38832
38833 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
38834
38835         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
38836         Mention that offsetof should be used instead of sizeof.
38837         From Bruno Haible.
38838
38839 2006-11-07  Bruno Haible  <bruno@clisp.org>
38840
38841         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
38842
38843 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38844
38845         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
38846         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
38847         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
38848         (gl_tree_add_before, gl_tree_add_after):
38849         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
38850         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
38851         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
38852         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
38853         (gl_linked_add_after, gl_linked_add_at): Likewise.
38854         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
38855         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
38856         (gl_tree_add_before, gl_tree_add_after): Likewise.
38857         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
38858         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
38859         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38860
38861 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38862
38863         * lib/gl_oset.h: Use C comment style, not C++ comment style.
38864
38865 2006-11-06  Bruno Haible  <bruno@clisp.org>
38866
38867         * m4/inline.m4: New file.
38868         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
38869         * modules/list (Files): Add m4/inline.m4.
38870         * modules/oset (Files): Likewise.
38871
38872 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
38873
38874         * lib/idcache.c: Include <stddef.h>, for offsetof.
38875         (struct userid.name): Change from char * to a flexible array member.
38876         All uses changed.
38877         * modules/idcache (Depends-on): Add flexmember.
38878
38879         * MODULES.html.sh (Core language properties): New module flexmember.
38880         * modules/flexmember, m4/flexmember.m4: New files.
38881
38882         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
38883         inline functions that are identical with the old xnmalloc_inline,
38884         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
38885         that we can avoid some unnecessary integer multiplications and
38886         divisions in the common case where the element size is known at
38887         compile time.
38888         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
38889         needed.
38890         (xnboundedmalloc): Remove.
38891         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
38892         arguments, for consistency with rest of this header.
38893         (xcharalloc): Rewrite using XNMALLOC.
38894         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
38895         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
38896         versions have been moved to lib/xalloc.h and renamed to be the
38897         non-*_inline versions.
38898         (xmalloc, xrealloc): Implement without reference to the xnmalloc
38899         and xnrealloc functions, since those functions are now inline and
38900         now call us.
38901         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
38902         renaming described above.
38903         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
38904         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
38905         captures the dependency in AC_C_INLINE.
38906
38907         New module canonicalize-lgpl, proposed by Charles Wilson in
38908         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
38909         with a few small changes afterwards.
38910         * MODULES.html.sh (File system functions): New module
38911         canonicalize-lgpl.
38912         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
38913         and canonicalize_file_name.
38914         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
38915         * modules/canonicalize-lgpl: New files.
38916
38917 2006-11-05  Bruno Haible  <bruno@clisp.org>
38918
38919         * gnulib-tool (func_import, func_create_testdir): Create directories
38920         also for files in subdirectories of lib/.
38921
38922 2006-11-05  Bruno Haible  <bruno@clisp.org>
38923
38924         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
38925         ANSI C compliant.
38926
38927 2006-11-03  Bruno Haible  <bruno@clisp.org>
38928
38929         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
38930         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
38931         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
38932         (xnboundedmalloc): New inline function.
38933         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
38934         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
38935         xmalloc.
38936         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
38937         xmalloc.
38938         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
38939         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
38940         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
38941         xmalloc.
38942         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
38943         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
38944         xmalloc.
38945         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
38946         gl_tree_add_after): Use XMALLOC instead of xmalloc.
38947         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
38948         xmalloc.
38949         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
38950         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
38951         gl_tree_add_after): Use XMALLOC instead of xmalloc.
38952         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
38953         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
38954         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
38955         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
38956
38957 2006-11-03  Bruno Haible  <bruno@clisp.org>
38958
38959         * lib/c-ctype.h [C++]: Define functions without name mangling.
38960         * lib/fwriteerror.h [C++]: Likewise.
38961         * lib/gcd.h [C++]: Likewise.
38962         * lib/linebreak.h [C++]: Likewise.
38963
38964 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
38965
38966         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
38967         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
38968         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
38969         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
38970         Check for functions and headers just once.
38971         Check for declaration of canonicalize_file_name.
38972         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
38973
38974 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
38975
38976         * gnulib-tool (func_import): Fix typo in actioncmd.
38977
38978 2006-11-02  Bruno Haible  <bruno@clisp.org>
38979
38980         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
38981         newline sequence in the Makefile.am snippet as a space, like "make"
38982         does.
38983         Reported by Roger Persson <perrog@gmail.com>.
38984
38985 2006-11-01  Bruno Haible  <bruno@clisp.org>
38986
38987         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
38988         already declared in <string.h>.
38989         * lib/strcase.h (strncasecmp): Don't declare it if yes.
38990
38991 2006-11-01  Bruno Haible  <bruno@clisp.org>
38992
38993         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
38994         * lib/strcase.h: Include <string.h>.
38995         (strcasecmp): Define to rpl_strcasecmp here.
38996
38997 2006-11-01  Bruno Haible  <bruno@clisp.org>
38998
38999         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
39000
39001 2006-11-01  Eric Blake  <ebb9@byu.net>
39002
39003         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
39004
39005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
39006
39007 2006-10-29  Bruno Haible  <bruno@clisp.org>
39008
39009         Make it compile in C++ mode.
39010         * lib/full-write.c (full_rw): Add a cast.
39011
39012 2006-11-01  Bruno Haible  <bruno@clisp.org>
39013
39014         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
39015         be POSIX compliant.
39016         Reported by Roger Persson <perrog@gmail.com>.
39017
39018 2006-11-01  Eric Blake  <ebb9@byu.net>
39019
39020         * lib/getopt_.h: Fix comments.
39021
39022 2006-10-31  Eric Blake  <ebb9@byu.net>
39023
39024         * modules/tmpdir (Depends-on): Add sys_stat.
39025         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
39026         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
39027         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
39028         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
39029         tempname.
39030
39031 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
39032
39033         Avoid some C++ diagnostics reported by Bruno Haible.
39034         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
39035         xmalloc.
39036         (quotearg_alloc): Use xcharalloc rather than xmalloc.
39037         (struct slotvec): Move to top level.
39038         (quotearg_n_options): Rewrite to avoid xmalloc.
39039         * lib/xalloc.h (xcharalloc): New function.
39040         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
39041         [defined __cplusplus]: Add function template that provides result
39042         type propagation.  This part of the change is from Bruno Haible.
39043
39044 2006-10-29  Bruno Haible  <bruno@clisp.org>
39045
39046         Make it compile in C++ mode.
39047         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
39048         * lib/strnlen1.c (strnlen1): Cast memchr result.
39049         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
39050         * lib/clean-temp.c (string_equals, string_hash): Add casts.
39051         (create_temp_dir): Rename local variable 'template'.
39052         (compile_csharp_using_sscli): Add cast.
39053         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
39054         * lib/findprog.c (find_in_path): Likewise.
39055         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
39056         * lib/wait-process.c (register_slave_subprocess): Likewise.
39057
39058 2006-10-22  Bruno Haible  <bruno@clisp.org>
39059
39060         * modules/tsearch: New file.
39061         * lib/tsearch.h: New file.
39062         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
39063         * m4/tsearch.m4: New file.
39064         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
39065
39066 2006-10-29  Eric Blake  <ebb9@byu.net>
39067
39068         * lib/arcfour.c: Assume config.h.
39069         * lib/arctwo.c: Likewise.
39070         * lib/base64.c: Likewise.
39071         * lib/check-version.c: Likewise.
39072         * lib/crc.c: Likewise.
39073         * lib/des.c: Likewise.
39074         * lib/gc-gnulib.c: Likewise.
39075         * lib/gc-libgcrypt.c: Likewise.
39076         * lib/gc-pbkdf2-sha1.c: Likewise.
39077         * lib/getaddrinfo.c: Likewise.
39078         * lib/getdelim.c: Likewise.
39079         * lib/getline.c: Likewise.
39080         * lib/hmac-md5.c: Likewise.
39081         * lib/hmac-sha1.c: Likewise.
39082         * lib/iconvme.c: Likewise.
39083         * lib/md2.c: Likewise.
39084         * lib/md4.c: Likewise.
39085         * lib/memxor.c: Likewise.
39086         * lib/read-file.c: Likewise.
39087         * lib/readline.c: Likewise.
39088         * lib/rijndael-alg-fst.c: Likewise.
39089         * lib/rijndael-api-fst.c: Likewise.
39090         * lib/xgetdomainname.c: Likewise.
39091
39092 2006-10-28  Eric Blake  <ebb9@byu.net>
39093
39094         * lib/xstrndup.c: Assume config.h.
39095
39096 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39097
39098         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
39099         stat-macros.h is now for our own macros, whereas stat_h is for
39100         macros in the <sys/stat.h> name space.
39101         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
39102         (STAT_MACROS_H): Remove.
39103         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39104         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
39105         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
39106         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
39107         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
39108         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
39109         Move these macros to ...
39110         * lib/stat_.h: here.  Don't include stat-macros.h.
39111         * lib/canonicalize.c: Don't include stat-macros.h.
39112         * lib/chown.c: Likewise.
39113         * lib/euidaccess.c: Likewise.
39114         * lib/file-type.c: Likewise.
39115         * lib/filemode.c: Likewise.
39116         * lib/glob.c: Likewise.
39117         * lib/isapipe.c: Likewise.
39118         * lib/lchown.c: Likewise.
39119         * lib/lstat.c: Likewise.
39120         * lib/mkdir-p.c: Likewise.
39121         * lib/rmdir.c: Likewise.
39122         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
39123         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
39124         unless mkdir isn't declared, to speed up 'configure'.
39125         Always create sys/stat.h, since it's unlikely any real sys/stat.h
39126         would define all the S_* symbols.
39127         * modules/canonicalize (Depends-on):
39128         Depend on sys_stat, not stat-macros.
39129         * modules/chown: Likewise.
39130         * modules/euidaccess: Likewise.
39131         * modules/filemode: Likewise.
39132         * modules/file-type: Likewise.
39133         * modules/glob: Likewise.
39134         * modules/isapipe: Likewise.
39135         * modules/lchown: Likewise.
39136         * modules/lstat: Likewise.
39137         * modules/mkancesdirs: Likewise.
39138         * modules/rmdir: Likewise.
39139         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
39140         * modules/modechange: Likewise.
39141         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
39142         (configure.ac): Remove gl_STAT_MACROS.
39143         * modules/sys_stat (Depends-on): Remove stat-macros.
39144
39145 2006-10-27  Bruno Haible  <bruno@clisp.org>
39146
39147         * m4/signed.m4: Remove file.
39148         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
39149         invocation.
39150         * modules/vasnprintf (Files): Remove m4/signed.m4.
39151
39152 2006-10-27  Bruno Haible  <bruno@clisp.org>
39153
39154         Update to GNU gettext 0.16.
39155         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
39156         m4/inttypes-h.m4, m4/signed.m4.
39157         * m4/gettext.m4: Update to GNU gettext 0.16.
39158         * m4/intl.m4: New file, from GNU gettext.
39159         * m4/intldir.m4: New file, from GNU gettext.
39160         * config/srclist.txt: Update
39161
39162 2006-10-27  Eric Blake  <ebb9@byu.net>
39163
39164         * MODULES.html.sh: Document tempname.
39165         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
39166         dependencies.
39167         (Files): Move lib/tempname.c...
39168         * modules/tempname: ...to this new module.
39169         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
39170         (gl_PREREQ_TEMPNAME): Move...
39171         * m4/tempname.m4: ...to this new file.
39172         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
39173         * modules/sys_stat (Depends-on): Add stat-macros.
39174         * lib/stat_.h (includes): Pick up stat macros.
39175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
39176         if stat macros are broken.
39177         * lib/tempname.c (includes): No need to include "stat-macros.h".
39178         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
39179         (direxists, __path_search) [!_LIBC]: Don't compile these in
39180         gnulib; the tmpdir module covers that.
39181         * lib/tempname.h: New file.
39182
39183 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
39184
39185         * COPYING: Explain how gnulib-tool converts licence headers.
39186         Almost all wording by Eric Blake.
39187
39188 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39189
39190         * lib/mbchar.h (is_basic_table): Make read-only.
39191         * lib/mbchar.c (is_basic_table): Likewise.
39192         Reported by John Darrington.
39193
39194 2006-10-25  Bruno Haible  <bruno@clisp.org>
39195
39196         * lib/progname.h (set_program_name): Undefine before defining.
39197
39198 2006-10-25  Bruno Haible  <bruno@clisp.org>
39199
39200         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
39201         false for non-gcc C++ compilers.
39202         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39203
39204 2006-10-24  Bruno Haible  <bruno@clisp.org>
39205
39206         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
39207         iconv implementations like Irix iconv.
39208
39209 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39210
39211         * modules/vararrays: New file.
39212         * m4/vararrays.m4: New file, taken from diffutils.
39213         * MODULES.html.sh: New module vararrays.
39214
39215 2006-10-24  Karl Berry  <karl@gnu.org>
39216
39217         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
39218         Don't call GNU Unix.
39219
39220 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39221
39222         * users.txt: Add Libtool.
39223
39224         Sync from Libtool:
39225
39226         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39227
39228         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
39229         to gnulib's policy of including config.h unconditionally.
39230
39231 2006-10-24  Bruno Haible  <bruno@clisp.org>
39232
39233         * modules/wcwidth (Files): Add m4/wint_t.m4.
39234         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
39235         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
39236
39237 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39238
39239         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
39240         to pacify GCC with some -W flags enabled.  Problem reported by
39241         Bruno Haible.
39242
39243 2006-10-24  Jim Meyering  <jim@meyering.net>
39244
39245         * MODULES.html.sh: Remove uinttostr.  It's not a module.
39246         Reported by Karl Berry.
39247
39248 2006-10-23  Bruno Haible  <bruno@clisp.org>
39249
39250         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
39251
39252 2006-10-24  Bruno Haible  <bruno@clisp.org>
39253
39254         * lib/gl_list.h: Use C comment style, not C++ comment style.
39255
39256 2006-10-23  Eric Blake  <ebb9@byu.net>
39257
39258         * lib/getaddrinfo.c (includes): Add missing include.
39259
39260 2006-10-23  Bruno Haible  <bruno@clisp.org>
39261             Paul Eggert  <eggert@cs.ucla.edu>
39262
39263         Ability to rename obstack_free.
39264         * lib/obstack.h (__obstack_free): New macro. Declare instead of
39265         obstack_free.
39266         (obstack_free): Invoke the __obstack_free macro.
39267         * lib/obstack.c (obstack_free): Use __obstack_free macro.
39268
39269 2006-10-23  Bruno Haible  <bruno@clisp.org>
39270             Paul Eggert  <eggert@cs.ucla.edu>
39271
39272         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
39273         __argc, __argv from the declaration. (They are defined as macros on
39274         mingw.)
39275
39276 2006-10-22  Bruno Haible  <bruno@clisp.org>
39277
39278         * doc/gnulib-intro.texi: New file.
39279         * doc/gnulib.texi: Include it.
39280
39281 2006-10-21  Bruno Haible  <bruno@clisp.org>
39282
39283         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
39284         "Introduction", "Miscellanous Notes", "Particular Modules".
39285
39286 2006-10-21  Bruno Haible  <bruno@clisp.org>
39287
39288         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39289         Change mostlyclean-local rule to avoid sh syntax error from bash
39290         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
39291
39292 2006-10-23  Jim Meyering  <jim@meyering.net>
39293
39294         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
39295         in place of snprintf.
39296
39297         * modules/inttostr (Files): Add lib/uinttostr.c.
39298         * lib/uinttostr.c (inttostr): New file/function.
39299         * lib/inttostr.h (uinttostr): Declare.
39300         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
39301         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39302         Add uinttostr.
39303         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
39304
39305 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39306
39307         * lib/canonicalize.c (ELOOP): Define if not already defined.
39308         Problem reported by Bruno Haible in
39309         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
39310
39311 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39312
39313         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
39314         Problem reported by Perry Smith and Ville Laurikari.
39315
39316         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
39317         uses.
39318
39319 2006-10-19  Bruno Haible  <bruno@clisp.org>
39320
39321         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
39322         for mingw.
39323
39324 2006-10-19  Bruno Haible  <bruno@clisp.org>
39325
39326         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
39327         Needed for mingw.
39328
39329 2006-10-19  Bruno Haible  <bruno@clisp.org>
39330
39331         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
39332
39333 2006-10-19  Bruno Haible  <bruno@clisp.org>
39334
39335         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
39336         it.
39337
39338 2006-10-19  Bruno Haible  <bruno@clisp.org>
39339
39340         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
39341         invocation.
39342
39343 2006-10-19  Bruno Haible  <bruno@clisp.org>
39344
39345         * gnulib-tool (func_create_testdir): Don't include ftruncate and
39346         mountlist by default.
39347
39348 2006-10-16  Bruno Haible  <bruno@clisp.org>
39349
39350         * lib/c-strstr.c: Include c-strstr.h.
39351
39352 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39353
39354         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
39355         in a slash.
39356
39357 2006-10-18  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/lock.h [C++]: Wrap definitions in extern "C".
39360
39361 2006-10-18  Bruno Haible  <bruno@clisp.org>
39362
39363         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
39364         gl_LIBOBJS list.
39365
39366 2006-10-18  Bruno Haible  <bruno@clisp.org>
39367
39368         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
39369
39370 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
39371
39372         * lib/xstrtol.h: Include gettext.h.
39373         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
39374         Problem reported by Eric Blake.
39375         * modules/xstrtol (Depends-on): Add gettext-h.
39376
39377 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
39378
39379         * lib/strftime.c (advance): New macro.
39380         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
39381         incomplete type, so you can't add 0 to it.  Problem and patch
39382         reported by Eelco Dolstra for dietlibc.
39383
39384 2006-10-18  Jim Meyering  <jim@meyering.net>
39385
39386         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
39387         type for a local, and rename it: s/up/user_proc/.
39388
39389 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39390
39391         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
39392         READ_UTMP_USER_PROCESS.
39393         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
39394
39395 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
39396
39397         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
39398         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
39399
39400 2006-10-17  Eric Blake  <ebb9@byu.net>
39401
39402         * lib/sigprocmask.c (sigprocmask): Fix typo.
39403
39404         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
39405
39406         * modules/clean-temp (Makefile.am): Don't add to make output...
39407         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
39408         config.h.
39409
39410 2006-10-17  Bruno Haible  <bruno@clisp.org>
39411
39412         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
39413         differently if DEFAULT_TEXT_DOMAIN is set.
39414
39415 2006-10-16  Bruno Haible  <bruno@clisp.org>
39416
39417         * lib/clean-temp.c: Include fwriteerror.h.
39418
39419 2006-10-16  Bruno Haible  <bruno@clisp.org>
39420
39421         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
39422
39423 2006-10-16  Bruno Haible  <bruno@clisp.org>
39424
39425         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
39426         * lib/sigprocmask.h: Include <sys/types.h>.
39427         (sigset_t): Use the system's definition if present.
39428
39429 2006-10-17  Eric Blake  <ebb9@byu.net>
39430
39431         * lib/xvasprintf.c (includes): Assume config.h.
39432         * lib/xasprintf.c (includes): Likewise.
39433
39434 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39435
39436         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
39437         at least as wide as intmax_t.
39438
39439 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
39440
39441         (Imported from Automake.)
39442         * build-aux/gnupload: Update to version 1.1 of directive file.
39443
39444 2006-10-16  Eric Blake  <ebb9@byu.net>
39445
39446         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
39447         match Automake 1.10a.
39448
39449 2006-10-14  Bruno Haible  <bruno@clisp.org>
39450
39451         * modules/sigprocmask: New file.
39452         * lib/sigprocmask.h: New file.
39453         * lib/sigprocmask.c: New file.
39454         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
39455         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
39456         request sigprocmask.o.
39457         (gl_PREREQ_SIGPROCMASK): New macro.
39458         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
39459         (Depends-on): Add sigprocmask.
39460         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
39461         gt_SIGNALBLOCKING. Test for 'raise' only once.
39462         * lib/fatal-signal.c: Include sigprocmask.h.
39463         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
39464         unblock_fatal_signals): Define always.
39465         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39466         sigprocmask.
39467
39468 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39469
39470         Sync from Automake.
39471         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
39472         which incorrectly sets the mode of an existing destination
39473         directory.  In some cases the unpatched install-sh could do the
39474         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
39475         system.  We hope this is rare in practice, but it's clearly worth
39476         fixing.  Problem reported by Alex Unleashed in
39477         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
39478         Also, don't bother to check for -m bugs unless we're using -m;
39479         suggested by Stepan Kasal.
39480
39481 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39482
39483         Sync from Automake.
39484         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
39485         `-c' flag, so they appear at the same position as in %FASTDEP%
39486         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
39487         which ignores unknown options only after the first non-option.
39488         Bug report against M4 by Nelson H. F. Beebe.
39489
39490 2006-10-13  Jim Meyering  <jim@meyering.net>
39491
39492         Fix a bug in yesterday's change.
39493         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
39494         p->fts_statp->st_dev would be used uninitialized.
39495         Ensures that we always call fts_stat on the very first entry.
39496         Miklos Szeredi reported that find -xdev stopped working.
39497
39498 2006-10-12  Bruno Haible  <bruno@clisp.org>
39499
39500         * gnulib-tool (func_get_automake_snippet): Append an automatically
39501         computed EXTRA_DIST augmentation.
39502         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
39503         * modules/alloca-opt (Makefile.am): Likewise.
39504         * modules/allocsa (Makefile.am): Likewise.
39505         * modules/arcfour (Makefile.am): Likewise.
39506         * modules/arctwo (Makefile.am): Likewise.
39507         * modules/argmatch (Makefile.am): Likewise.
39508         * modules/argz (Makefile.am): Likewise.
39509         * modules/atexit (Makefile.am): Likewise.
39510         * modules/backupfile (Makefile.am): Likewise.
39511         * modules/byteswap (Makefile.am): Likewise.
39512         * modules/c-strtod (Makefile.am): Likewise.
39513         * modules/c-strtold (Makefile.am): Likewise.
39514         * modules/calloc (Makefile.am): Likewise.
39515         * modules/canon-host (Makefile.am): Likewise.
39516         * modules/canonicalize (Makefile.am): Likewise.
39517         * modules/chdir-long (Makefile.am): Likewise.
39518         * modules/chdir-safer (Makefile.am): Likewise.
39519         * modules/check-version (Makefile.am): Likewise.
39520         * modules/chown (Makefile.am): Likewise.
39521         * modules/cloexec (Makefile.am): Likewise.
39522         * modules/close-stream (Makefile.am): Likewise.
39523         * modules/closeout (Makefile.am): Likewise.
39524         * modules/crc (Makefile.am): Likewise.
39525         * modules/csharpexec (Makefile.am): Likewise.
39526         * modules/cycle-check (Makefile.am): Likewise.
39527         * modules/des (Makefile.am): Likewise.
39528         * modules/dev-ino (Makefile.am): Likewise.
39529         * modules/dirfd (Makefile.am): Likewise.
39530         * modules/dirname (Makefile.am): Likewise.
39531         * modules/dup2 (Makefile.am): Likewise.
39532         * modules/eealloc (Makefile.am): Likewise.
39533         * modules/error (Makefile.am): Likewise.
39534         * modules/euidaccess (Makefile.am): Likewise.
39535         * modules/exclude (Makefile.am): Likewise.
39536         * modules/exitfail (Makefile.am): Likewise.
39537         * modules/fcntl-safer (Makefile.am): Likewise.
39538         * modules/fcntl (Makefile.am): Likewise.
39539         * modules/file-type (Makefile.am): Likewise.
39540         * modules/fileblocks (Makefile.am): Likewise.
39541         * modules/filemode (Makefile.am): Likewise.
39542         * modules/filenamecat (Makefile.am): Likewise.
39543         * modules/fnmatch (Makefile.am): Likewise.
39544         * modules/fopen-safer (Makefile.am): Likewise.
39545         * modules/fpending (Makefile.am): Likewise.
39546         * modules/fprintftime (Makefile.am): Likewise.
39547         * modules/free (Makefile.am): Likewise.
39548         * modules/fsusage (Makefile.am): Likewise.
39549         * modules/ftruncate (Makefile.am): Likewise.
39550         * modules/fts (Makefile.am): Likewise.
39551         * modules/gc-arcfour (Makefile.am): Likewise.
39552         * modules/gc-des (Makefile.am): Likewise.
39553         * modules/gc-hmac-md5 (Makefile.am): Likewise.
39554         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
39555         * modules/gc-md4 (Makefile.am): Likewise.
39556         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
39557         * modules/gc-sha1 (Makefile.am): Likewise.
39558         * modules/gc (Makefile.am): Likewise.
39559         * modules/getaddrinfo (Makefile.am): Likewise.
39560         * modules/getcwd (Makefile.am): Likewise.
39561         * modules/getdelim (Makefile.am): Likewise.
39562         * modules/getdomainname (Makefile.am): Likewise.
39563         * modules/getgroups (Makefile.am): Likewise.
39564         * modules/gethostname (Makefile.am): Likewise.
39565         * modules/gethrxtime (Makefile.am): Likewise.
39566         * modules/getline (Makefile.am): Likewise.
39567         * modules/getloadavg (Makefile.am): Likewise.
39568         * modules/getlogin_r (Makefile.am): Likewise.
39569         * modules/getndelim2 (Makefile.am): Likewise.
39570         * modules/getopt (Makefile.am): Likewise.
39571         * modules/getpagesize (Makefile.am): Likewise.
39572         * modules/getpass-gnu (Makefile.am): Likewise.
39573         * modules/getpass (Makefile.am): Likewise.
39574         * modules/getsubopt (Makefile.am): Likewise.
39575         * modules/gettime (Makefile.am): Likewise.
39576         * modules/gettimeofday (Makefile.am): Likewise.
39577         * modules/getugroups (Makefile.am): Likewise.
39578         * modules/getusershell (Makefile.am): Likewise.
39579         * modules/glob (Makefile.am): Likewise.
39580         * modules/group-member (Makefile.am): Likewise.
39581         * modules/hard-locale (Makefile.am): Likewise.
39582         * modules/hash (Makefile.am): Likewise.
39583         * modules/hmac-md5 (Makefile.am): Likewise.
39584         * modules/hmac-sha1 (Makefile.am): Likewise.
39585         * modules/human (Makefile.am): Likewise.
39586         * modules/idcache (Makefile.am): Likewise.
39587         * modules/imaxabs (Makefile.am): Likewise.
39588         * modules/imaxdiv (Makefile.am): Likewise.
39589         * modules/inet_ntop (Makefile.am): Likewise.
39590         * modules/inet_pton (Makefile.am): Likewise.
39591         * modules/intprops (Makefile.am): Likewise.
39592         * modules/inttostr (Makefile.am): Likewise.
39593         * modules/inttypes (Makefile.am): Likewise.
39594         * modules/isapipe (Makefile.am): Likewise.
39595         * modules/javaversion (Makefile.am): Likewise.
39596         * modules/lchmod (Makefile.am): Likewise.
39597         * modules/lchown (Makefile.am): Likewise.
39598         * modules/localcharset (Makefile.am): Likewise.
39599         * modules/long-options (Makefile.am): Likewise.
39600         * modules/lstat (Makefile.am): Likewise.
39601         * modules/malloc (Makefile.am): Likewise.
39602         * modules/mathl (Makefile.am): Likewise.
39603         * modules/mbchar (Makefile.am): Likewise.
39604         * modules/md2 (Makefile.am): Likewise.
39605         * modules/md4 (Makefile.am): Likewise.
39606         * modules/md5 (Makefile.am): Likewise.
39607         * modules/memcasecmp (Makefile.am): Likewise.
39608         * modules/memchr (Makefile.am): Likewise.
39609         * modules/memcmp (Makefile.am): Likewise.
39610         * modules/memcoll (Makefile.am): Likewise.
39611         * modules/memcpy (Makefile.am): Likewise.
39612         * modules/memmem (Makefile.am): Likewise.
39613         * modules/memmove (Makefile.am): Likewise.
39614         * modules/mempcpy (Makefile.am): Likewise.
39615         * modules/memrchr (Makefile.am): Likewise.
39616         * modules/memset (Makefile.am): Likewise.
39617         * modules/memxor (Makefile.am): Likewise.
39618         * modules/mkancesdirs (Makefile.am): Likewise.
39619         * modules/mkdir-p (Makefile.am): Likewise.
39620         * modules/mkdir (Makefile.am): Likewise.
39621         * modules/mkdtemp (Makefile.am): Likewise.
39622         * modules/mkstemp (Makefile.am): Likewise.
39623         * modules/mktime (Makefile.am): Likewise.
39624         * modules/modechange (Makefile.am): Likewise.
39625         * modules/mountlist (Makefile.am): Likewise.
39626         * modules/nanosleep (Makefile.am): Likewise.
39627         * modules/obstack (Makefile.am): Likewise.
39628         * modules/openat (Makefile.am): Likewise.
39629         * modules/pagealign_alloc (Makefile.am): Likewise.
39630         * modules/pathmax (Makefile.am): Likewise.
39631         * modules/physmem (Makefile.am): Likewise.
39632         * modules/poll (Makefile.am): Likewise.
39633         * modules/posixtm (Makefile.am): Likewise.
39634         * modules/posixver (Makefile.am): Likewise.
39635         * modules/putenv (Makefile.am): Likewise.
39636         * modules/quote (Makefile.am): Likewise.
39637         * modules/quotearg (Makefile.am): Likewise.
39638         * modules/raise (Makefile.am): Likewise.
39639         * modules/read-file (Makefile.am): Likewise.
39640         * modules/readline (Makefile.am): Likewise.
39641         * modules/readlink (Makefile.am): Likewise.
39642         * modules/readtokens (Makefile.am): Likewise.
39643         * modules/readutmp (Makefile.am): Likewise.
39644         * modules/realloc (Makefile.am): Likewise.
39645         * modules/regex (Makefile.am): Likewise.
39646         * modules/rename-dest-slash (Makefile.am): Likewise.
39647         * modules/rename (Makefile.am): Likewise.
39648         * modules/rijndael (Makefile.am): Likewise.
39649         * modules/rmdir (Makefile.am): Likewise.
39650         * modules/rpmatch (Makefile.am): Likewise.
39651         * modules/safe-read (Makefile.am): Likewise.
39652         * modules/safe-write (Makefile.am): Likewise.
39653         * modules/same-inode (Makefile.am): Likewise.
39654         * modules/same (Makefile.am): Likewise.
39655         * modules/save-cwd (Makefile.am): Likewise.
39656         * modules/savedir (Makefile.am): Likewise.
39657         * modules/setenv (Makefile.am): Likewise.
39658         * modules/settime (Makefile.am): Likewise.
39659         * modules/sha1 (Makefile.am): Likewise.
39660         * modules/sig2str (Makefile.am): Likewise.
39661         * modules/snprintf (Makefile.am): Likewise.
39662         * modules/stat-macros (Makefile.am): Likewise.
39663         * modules/stat-time (Makefile.am): Likewise.
39664         * modules/stdbool (Makefile.am): Likewise.
39665         * modules/stdint (Makefile.am): Likewise.
39666         * modules/stdlib-safer (Makefile.am): Likewise.
39667         * modules/stpcpy (Makefile.am): Likewise.
39668         * modules/stpncpy (Makefile.am): Likewise.
39669         * modules/strcase (Makefile.am): Likewise.
39670         * modules/strcasestr (Makefile.am): Likewise.
39671         * modules/strchrnul (Makefile.am): Likewise.
39672         * modules/strcspn (Makefile.am): Likewise.
39673         * modules/strdup (Makefile.am): Likewise.
39674         * modules/strerror (Makefile.am): Likewise.
39675         * modules/strftime (Makefile.am): Likewise.
39676         * modules/strndup (Makefile.am): Likewise.
39677         * modules/strnlen (Makefile.am): Likewise.
39678         * modules/strpbrk (Makefile.am): Likewise.
39679         * modules/strsep (Makefile.am): Likewise.
39680         * modules/strstr (Makefile.am): Likewise.
39681         * modules/strtod (Makefile.am): Likewise.
39682         * modules/strtoimax (Makefile.am): Likewise.
39683         * modules/strtok_r (Makefile.am): Likewise.
39684         * modules/strtol (Makefile.am): Likewise.
39685         * modules/strtoll (Makefile.am): Likewise.
39686         * modules/strtoul (Makefile.am): Likewise.
39687         * modules/strtoull (Makefile.am): Likewise.
39688         * modules/strtoumax (Makefile.am): Likewise.
39689         * modules/strverscmp (Makefile.am): Likewise.
39690         * modules/sys_socket (Makefile.am): Likewise.
39691         * modules/sys_stat (Makefile.am): Likewise.
39692         * modules/sysexits (Makefile.am): Likewise.
39693         * modules/time_r (Makefile.am): Likewise.
39694         * modules/timegm (Makefile.am): Likewise.
39695         * modules/timespec (Makefile.am): Likewise.
39696         * modules/tmpfile-safer (Makefile.am): Likewise.
39697         * modules/trim (Makefile.am): Likewise.
39698         * modules/unistd-safer (Makefile.am): Likewise.
39699         * modules/unlinkdir (Makefile.am): Likewise.
39700         * modules/unlocked-io (Makefile.am): Likewise.
39701         * modules/userspec (Makefile.am): Likewise.
39702         * modules/utime (Makefile.am): Likewise.
39703         * modules/utimecmp (Makefile.am): Likewise.
39704         * modules/utimens (Makefile.am): Likewise.
39705         * modules/vasnprintf (Makefile.am): Likewise.
39706         * modules/vasprintf (Makefile.am): Likewise.
39707         * modules/vsnprintf (Makefile.am): Likewise.
39708         * modules/xalloc (Makefile.am): Likewise.
39709         * modules/xgetcwd (Makefile.am): Likewise.
39710         * modules/xnanosleep (Makefile.am): Likewise.
39711         * modules/xreadlink (Makefile.am): Likewise.
39712         * modules/xstrtod (Makefile.am): Likewise.
39713         * modules/xstrtol (Makefile.am): Likewise.
39714         * modules/xstrtold (Makefile.am): Likewise.
39715         * modules/yesno (Makefile.am): Likewise.
39716         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
39717
39718 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
39719
39720         * modules/error (Makefile.am): Distribute files through
39721         EXTRA_DIST, not lib_SOURCES.
39722
39723 2006-10-12  Eric Blake  <ebb9@byu.net>
39724
39725         * modules/error (Makefile.am): Distribute files in /lib.
39726         * modules/obstack (Makefile.am): Likewise.
39727
39728 2006-10-12  Bruno Haible  <bruno@clisp.org>
39729
39730         * modules/acl (Makefile.am): Distribute all files in lib/ through
39731         EXTRA_DIST.
39732         * modules/arcfour (Makefile.am): Likewise.
39733         * modules/arctwo (Makefile.am): Likewise.
39734         * modules/argmatch (Makefile.am): Likewise.
39735         * modules/argz (Makefile.am): Likewise.
39736         * modules/atexit (Makefile.am): Likewise.
39737         * modules/backupfile (Makefile.am): Likewise.
39738         * modules/c-strtod (Makefile.am): Likewise.
39739         * modules/c-strtold (Makefile.am): Likewise.
39740         * modules/calloc (Makefile.am): Likewise.
39741         * modules/canon-host (Makefile.am): Likewise.
39742         * modules/canonicalize (Makefile.am): Likewise.
39743         * modules/chdir-long (Makefile.am): Likewise.
39744         * modules/chdir-safer (Makefile.am): Likewise.
39745         * modules/check-version (Makefile.am): Likewise.
39746         * modules/chown (Makefile.am): Likewise.
39747         * modules/cloexec (Makefile.am): Likewise.
39748         * modules/close-stream (Makefile.am): Likewise.
39749         * modules/closeout (Makefile.am): Likewise.
39750         * modules/crc (Makefile.am): Likewise.
39751         * modules/cycle-check (Makefile.am): Likewise.
39752         * modules/des (Makefile.am): Likewise.
39753         * modules/dirfd (Makefile.am): Likewise.
39754         * modules/dirname (Makefile.am): Likewise.
39755         * modules/dup2 (Makefile.am): Likewise.
39756         * modules/euidaccess (Makefile.am): Likewise.
39757         * modules/exclude (Makefile.am): Likewise.
39758         * modules/exitfail (Makefile.am): Likewise.
39759         * modules/fcntl-safer (Makefile.am): Likewise.
39760         * modules/file-type (Makefile.am): Likewise.
39761         * modules/fileblocks (Makefile.am): Likewise.
39762         * modules/filemode (Makefile.am): Likewise.
39763         * modules/filenamecat (Makefile.am): Likewise.
39764         * modules/fnmatch (Makefile.am): Likewise.
39765         * modules/fopen-safer (Makefile.am): Likewise.
39766         * modules/fpending (Makefile.am): Likewise.
39767         * modules/fprintftime (Makefile.am): Likewise.
39768         * modules/free (Makefile.am): Likewise.
39769         * modules/fsusage (Makefile.am): Likewise.
39770         * modules/ftruncate (Makefile.am): Likewise.
39771         * modules/fts (Makefile.am): Likewise.
39772         * modules/gc (Makefile.am): Likewise.
39773         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
39774         * modules/getaddrinfo (Makefile.am): Likewise.
39775         * modules/getcwd (Makefile.am): Likewise.
39776         * modules/getdelim (Makefile.am): Likewise.
39777         * modules/getdomainname (Makefile.am): Likewise.
39778         * modules/getgroups (Makefile.am): Likewise.
39779         * modules/gethostname (Makefile.am): Likewise.
39780         * modules/gethrxtime (Makefile.am): Likewise.
39781         * modules/getline (Makefile.am): Likewise.
39782         * modules/getloadavg (Makefile.am): Likewise.
39783         * modules/getlogin_r (Makefile.am): Likewise.
39784         * modules/getopt (Makefile.am): Likewise.
39785         * modules/getpass (Makefile.am): Likewise.
39786         * modules/getpass-gnu (Makefile.am): Likewise.
39787         * modules/getsubopt (Makefile.am): Likewise.
39788         * modules/gettime (Makefile.am): Likewise.
39789         * modules/gettimeofday (Makefile.am): Likewise.
39790         * modules/getugroups (Makefile.am): Likewise.
39791         * modules/getusershell (Makefile.am): Likewise.
39792         * modules/glob (Makefile.am): Likewise.
39793         * modules/group-member (Makefile.am): Likewise.
39794         * modules/hard-locale (Makefile.am): Likewise.
39795         * modules/hash (Makefile.am): Likewise.
39796         * modules/hmac-md5 (Makefile.am): Likewise.
39797         * modules/hmac-sha1 (Makefile.am): Likewise.
39798         * modules/human (Makefile.am): Likewise.
39799         * modules/idcache (Makefile.am): Likewise.
39800         * modules/imaxabs (Makefile.am): Likewise.
39801         * modules/imaxdiv (Makefile.am): Likewise.
39802         * modules/inet_ntop (Makefile.am): Likewise.
39803         * modules/inet_pton (Makefile.am): Likewise.
39804         * modules/inttostr (Makefile.am): Likewise.
39805         * modules/isapipe (Makefile.am): Likewise.
39806         * modules/lchown (Makefile.am): Likewise.
39807         * modules/long-options (Makefile.am): Likewise.
39808         * modules/lstat (Makefile.am): Likewise.
39809         * modules/malloc (Makefile.am): Likewise.
39810         * modules/mathl (Makefile.am): Likewise.
39811         * modules/mbchar (Makefile.am): Likewise.
39812         * modules/md2 (Makefile.am): Likewise.
39813         * modules/md4 (Makefile.am): Likewise.
39814         * modules/md5 (Makefile.am): Likewise.
39815         * modules/memcasecmp (Makefile.am): Likewise.
39816         * modules/memchr (Makefile.am): Likewise.
39817         * modules/memcmp (Makefile.am): Likewise.
39818         * modules/memcoll (Makefile.am): Likewise.
39819         * modules/memcpy (Makefile.am): Likewise.
39820         * modules/memmem (Makefile.am): Likewise.
39821         * modules/memmove (Makefile.am): Likewise.
39822         * modules/mempcpy (Makefile.am): Likewise.
39823         * modules/memrchr (Makefile.am): Likewise.
39824         * modules/memset (Makefile.am): Likewise.
39825         * modules/memxor (Makefile.am): Likewise.
39826         * modules/mkancesdirs (Makefile.am): Likewise.
39827         * modules/mkdir (Makefile.am): Likewise.
39828         * modules/mkdir-p (Makefile.am): Likewise.
39829         * modules/mkdtemp (Makefile.am): Likewise.
39830         * modules/mkstemp (Makefile.am): Likewise.
39831         * modules/mktime (Makefile.am): Likewise.
39832         * modules/modechange (Makefile.am): Likewise.
39833         * modules/mountlist (Makefile.am): Likewise.
39834         * modules/nanosleep (Makefile.am): Likewise.
39835         * modules/openat (Makefile.am): Likewise.
39836         * modules/pagealign_alloc (Makefile.am): Likewise.
39837         * modules/physmem (Makefile.am): Likewise.
39838         * modules/poll (Makefile.am): Likewise.
39839         * modules/posixtm (Makefile.am): Likewise.
39840         * modules/posixver (Makefile.am): Likewise.
39841         * modules/putenv (Makefile.am): Likewise.
39842         * modules/quote (Makefile.am): Likewise.
39843         * modules/quotearg (Makefile.am): Likewise.
39844         * modules/raise (Makefile.am): Likewise.
39845         * modules/read-file (Makefile.am): Likewise.
39846         * modules/readline (Makefile.am): Likewise.
39847         * modules/readlink (Makefile.am): Likewise.
39848         * modules/readtokens (Makefile.am): Likewise.
39849         * modules/readutmp (Makefile.am): Likewise.
39850         * modules/realloc (Makefile.am): Likewise.
39851         * modules/regex (Makefile.am): Likewise.
39852         * modules/rename (Makefile.am): Likewise.
39853         * modules/rename-dest-slash (Makefile.am): Likewise.
39854         * modules/rijndael (Makefile.am): Likewise.
39855         * modules/rmdir (Makefile.am): Likewise.
39856         * modules/rpmatch (Makefile.am): Likewise.
39857         * modules/safe-read (Makefile.am): Likewise.
39858         * modules/safe-write (Makefile.am): Likewise.
39859         * modules/same (Makefile.am): Likewise.
39860         * modules/save-cwd (Makefile.am): Likewise.
39861         * modules/savedir (Makefile.am): Likewise.
39862         * modules/setenv (Makefile.am): Likewise.
39863         * modules/settime (Makefile.am): Likewise.
39864         * modules/sha1 (Makefile.am): Likewise.
39865         * modules/sig2str (Makefile.am): Likewise.
39866         * modules/snprintf (Makefile.am): Likewise.
39867         * modules/stdlib-safer (Makefile.am): Likewise.
39868         * modules/stpcpy (Makefile.am): Likewise.
39869         * modules/stpncpy (Makefile.am): Likewise.
39870         * modules/strcase (Makefile.am): Likewise.
39871         * modules/strcasestr (Makefile.am): Likewise.
39872         * modules/strchrnul (Makefile.am): Likewise.
39873         * modules/strcspn (Makefile.am): Likewise.
39874         * modules/strdup (Makefile.am): Likewise.
39875         * modules/strerror (Makefile.am): Likewise.
39876         * modules/strftime (Makefile.am): Likewise.
39877         * modules/strndup (Makefile.am): Likewise.
39878         * modules/strnlen (Makefile.am): Likewise.
39879         * modules/strpbrk (Makefile.am): Likewise.
39880         * modules/strsep (Makefile.am): Likewise.
39881         * modules/strstr (Makefile.am): Likewise.
39882         * modules/strtod (Makefile.am): Likewise.
39883         * modules/strtoimax (Makefile.am): Likewise.
39884         * modules/strtok_r (Makefile.am): Likewise.
39885         * modules/strtol (Makefile.am): Likewise.
39886         * modules/strtoll (Makefile.am): Likewise.
39887         * modules/strtoul (Makefile.am): Likewise.
39888         * modules/strtoull (Makefile.am): Likewise.
39889         * modules/strtoumax (Makefile.am): Likewise.
39890         * modules/strverscmp (Makefile.am): Likewise.
39891         * modules/time_r (Makefile.am): Likewise.
39892         * modules/timegm (Makefile.am): Likewise.
39893         * modules/tmpfile-safer (Makefile.am): Likewise.
39894         * modules/unistd-safer (Makefile.am): Likewise.
39895         * modules/unlinkdir (Makefile.am): Likewise.
39896         * modules/userspec (Makefile.am): Likewise.
39897         * modules/utime (Makefile.am): Likewise.
39898         * modules/utimecmp (Makefile.am): Likewise.
39899         * modules/utimens (Makefile.am): Likewise.
39900         * modules/vasnprintf (Makefile.am): Likewise.
39901         * modules/vasprintf (Makefile.am): Likewise.
39902         * modules/vsnprintf (Makefile.am): Likewise.
39903         * modules/xalloc (Makefile.am): Likewise.
39904         * modules/xgetcwd (Makefile.am): Likewise.
39905         * modules/xnanosleep (Makefile.am): Likewise.
39906         * modules/xreadlink (Makefile.am): Likewise.
39907         * modules/xstrtod (Makefile.am): Likewise.
39908         * modules/xstrtol (Makefile.am): Likewise.
39909         * modules/xstrtold (Makefile.am): Likewise.
39910         * modules/yesno (Makefile.am): Likewise.
39911
39912 2006-10-12  Jim Meyering  <jim@meyering.net>
39913
39914         * m4/getloadavg.m4: Revert the change below.
39915
39916         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
39917         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
39918         fail with a symlink, which is what coreutils' ./bootstrap now
39919         creates by default.
39920
39921 2006-10-12  Bruno Haible  <bruno@clisp.org>
39922
39923         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
39924         mingw.
39925         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
39926         MSVC and mingw explicitly.
39927
39928 2006-10-11  Simon Josefsson  <jas@extundo.com>
39929             Bruno Haible  <bruno@clisp.org>
39930
39931         Add support for multiple gnulib-tool invocations in the scope of a
39932         single configure.ac file.
39933         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
39934         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
39935         with the same contents as the _LIBADD variable.
39936         (func_emit_initmacro_start, func_emit_initmacro_end,
39937         func_emit_initmacro_done): New functions.
39938         (func_import, func_create_testdir): Invoke them. Allow the identifiers
39939         gl_LIBOBJS and gl_LTLIBOBJS.
39940
39941 2006-10-11  Bruno Haible  <bruno@clisp.org>
39942
39943         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
39944         (func_create_testdir): Don't create po/Makefile.am, don't invoke
39945         autoreconf. Instead, invoke autopoint explicitly but move back the
39946         *.m4 files from gnulib.
39947
39948 2006-10-11  Bruno Haible  <bruno@clisp.org>
39949
39950         * gnulib-tool (func_usage): Make module names after --create-testdir
39951         optional.
39952         (func_create_testdir): If no module was specified, use nearly all
39953         modules.
39954
39955 2006-10-12  Jim Meyering  <jim@meyering.net>
39956
39957         Big performance improvement for fts-based tools that use FTS_NOSTAT.
39958         Avoid spurious inode-mismatch problems on non-POSIX file systems.
39959         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
39960         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
39961         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
39962         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
39963         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
39964         (fts_set_stat_required): New function.
39965         (fts_open): Defer the calls to fts_stat, if possible or requested.
39966         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
39967         into fts_stat itself.
39968         (fts_read): Perform any required (deferred) fts_stat call.
39969         (fts_build): Likewise, for the directory we're about to open and read.
39970         In the readdir loop, carefully decide whether each entry will require
39971         an eventual call to fts_stat, using dirent.d_type info if available.
39972         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
39973         a command line argument into this function.  Update all callers.
39974         Map a return value of FTS_DOT to FTS_D for a command line argument.
39975         * modules/fts (Depends-on): Add d-type.  Alphabetize.
39976         Thanks to Miklos Szeredi for his tenacity and for the initial
39977         bug report about "find" failing on a FUSE-based file system.
39978
39979         * lib/fts.c (fts_open): Use consistent indentation.
39980
39981 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
39982
39983         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
39984         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
39985         reported by Jim Meyering.  All uses of cache variables renamed
39986         to match Autoconf's.
39987         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
39988         the other one.
39989
39990         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39991         Fix misspelling in diagnostic.
39992
39993 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
39994
39995         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
39996         defined.  Problem reported by Matthew Woehlke.
39997
39998         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
39999         Add support for Tandem NonStop R series.
40000         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
40001         Use new macro.
40002
40003         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
40004         (has_trailing_slash): Omit size arg; all callers changed.
40005         Omit 'inline', since it doesn't help performance and we'd
40006         need to configure it.
40007         Don't count //, ///, etc. as having a trailing slash.
40008         As a side effect, this removes a C99ism reported by Matthew Woehlke.
40009         (rpl_rename_dest_slash): On failure, use rename's errno rather
40010         than (in some cases) an incorrect or junk errno.
40011         Simplify code by removing need to compute length; this does
40012         cause it to make two passes instead of one over the file name,
40013         but it's worth it.
40014
40015         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
40016         change, since Autoconf's version may no longer be appropriate now
40017         that we are using CVS Autoconf's version.  Add support for Tandem.
40018
40019 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40020             Bruno Haible  <bruno@clisp.org>
40021
40022         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
40023         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
40024         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
40025         gl_AC_TYPE_LONG_LONG.
40026
40027         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
40028         instead of HAVE_LONG_LONG.
40029         * lib/printf-args.c (printf_fetchargs): Likewise.
40030         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
40031         * lib/vasnprintf.c (VASNPRINTF): Likewise.
40032         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
40033         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
40034         gl_AC_TYPE_LONG_LONG.
40035
40036 2006-10-11  Bruno Haible  <bruno@clisp.org>
40037
40038         * m4/longlong.m4: Add comments.
40039         * m4/ulonglong.m4: Likewise.
40040
40041 2006-10-10  Bruno Haible  <bruno@clisp.org>
40042
40043         Make it possible to #define stpcpy, strdup to aliases.
40044         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
40045         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
40046
40047 2006-10-10  Bruno Haible  <bruno@clisp.org>
40048
40049         Make it possible to #define gcd to an alias.
40050         * lib/gcd.c: Include config.h.
40051
40052 2006-10-10  Bruno Haible  <bruno@clisp.org>
40053
40054         Make it possible to #define c_isascii to an alias.
40055         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
40056         defined. Undefine the macros before defining them, to avoid gcc
40057         warnings.
40058         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
40059         define NO_C_CTYPE_MACROS early.
40060
40061 2006-10-10  Bruno Haible  <bruno@clisp.org>
40062
40063         Make it possible to #define set_program_name to an alias.
40064         * lib/progname.c: Don't undefine set_program_name; instead, undefine
40065         ENABLE_RELOCATABLE early.
40066
40067 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40068
40069         Port to Tandem NSK OSS, which has 64-bit signed int but at most
40070         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
40071         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
40072         More generally, don't assume that 64-bit signed int is available
40073         if unsigned int is, and vice versa.
40074         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
40075         unsigned symbols, not on their signed counterparts.
40076         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
40077         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
40078         (UINT64_C, UINTMAX_C):
40079         Likewise.
40080         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
40081         unsigned counterparts.
40082         (Have_long_long, Unsigned): New macros.
40083         (Int): Renamed from INT.
40084         (strtoimax): Use the new macros.
40085         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
40086         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
40087         * modules/inttypes (inttypes.h): Substitute
40088         HAVE_UNSIGNED_LONG_LONG_INT.
40089         * modules/stdint (stdint.h): Likewise.
40090         (Files): Add m4/ulonglong.m4.
40091
40092 2006-10-10  Bruno Haible  <bruno@clisp.org>
40093
40094         Fix a gcc -Wshadow warning.
40095         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
40096         to 'bucket'.
40097         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
40098         gl_linked_indexof_from_to): Likewise.
40099         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
40100         Likewise.
40101         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
40102         Likewise.
40103         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
40104         Reported by Eric Blake.
40105
40106 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
40107
40108         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
40109         for NetBSD.  Problem reported by Bruno Haible.
40110
40111 2006-10-09  Jim Meyering  <jim@meyering.net>
40112
40113         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
40114         Patch from Bruno Haible.
40115
40116 2006-10-09  Jim Meyering  <jim@meyering.net>
40117
40118         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
40119         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
40120         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
40121
40122 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40123
40124         Don't include <config.h> twice; this doesn't work in some cases,
40125         e.g., when config.h has "#define intmax_t long long int" and
40126         we include <config.h>, <inttypes.h>, <config.h> in that order.
40127         Problem reported by Matthew Woehlke in:
40128         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
40129         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
40130         * lib/fts-cycle.c: Don't include config.h.
40131         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
40132         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
40133         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
40134         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
40135         inttypes.h.
40136         * lib/xstrtoumax.c: Likewise.
40137         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
40138         __strtol and the like, so that this module is more like its siblings.
40139         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
40140         Remove; no longer needed now that we assume gnulib inttypes.h.
40141
40142 2006-10-08  Bruno Haible  <bruno@clisp.org>
40143
40144         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
40145         option.
40146
40147 2006-10-07  Jim Meyering  <jim@meyering.net>
40148
40149         * modules/inttypes (inttypes.h): Revert what seems to have been
40150         an inadvertent part of today's change: use "|", not "/" in the
40151         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
40152
40153 2006-10-07  Bruno Haible  <bruno@clisp.org>
40154
40155         * modules/sublist: New file.
40156
40157 2006-10-07  Bruno Haible  <bruno@clisp.org>
40158
40159         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
40160         * modules/argz (argz.h): Likewise.
40161         * modules/arpa_inet (arpa/inet.h): Likewise.
40162         * modules/byteswap (byteswap.h): Likewise.
40163         * modules/configmake (configmake.h): Likewise.
40164         * modules/fcntl (fcntl.h): Likewise.
40165         * modules/fnmatch (fnmatch.h): Likewise.
40166         * modules/getopt (getopt.h): Likewise.
40167         * modules/glob (glob.h): Likewise.
40168         * modules/inttypes (inttypes.h): Likewise.
40169         * modules/netinet_in (netinet/in.h): Likewise.
40170         * modules/poll (poll.h): Likewise.
40171         * modules/stdbool (stdbool.h): Likewise.
40172         * modules/stdint (stdint.h): Likewise.
40173         * modules/sys_select (sys/select.h): Likewise.
40174         * modules/sys_socket (sys/socket.h): Likewise.
40175         * modules/sys_stat (sys/stat.h): Likewise.
40176         * modules/sysexits (sysexits.h): Likewise.
40177         * modules/unistd (unistd.h): Likewise.
40178         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40179         Add a "DO NOT EDIT" comment to the generated file.
40180         (func_import): Likewise for gnulib-comp.m4.
40181
40182 2006-10-07  Bruno Haible  <bruno@clisp.org>
40183
40184         * lib/gl_sublist.h: New file.
40185         * lib/gl_sublist.c: New file.
40186
40187 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40188
40189         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
40190         name (relative to the original working directory) and the file
40191         name component (relative to the temporary working directory).  All
40192         callers changed.
40193         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
40194         * lib/mkdir-p.c (make_dir_parents): Likewise.
40195         * lib/mkdir-p.h (make_dir_parents): Likewise.
40196
40197 2006-10-06  Eric Blake  <ebb9@byu.net>
40198
40199         Define several macros for use by the clean-temp module.
40200         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
40201         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
40202         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
40203
40204         * lib/clean-temp.h (close_stream_temp): New declaration.
40205         * lib/clean-temp.c (includes): Pull in headers according to what
40206         other modules are in use.
40207         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
40208
40209 2006-10-06  Bruno Haible  <bruno@clisp.org>
40210
40211         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
40212         instead of fopen, fwriteerror.
40213
40214 2006-10-06  Bruno Haible  <bruno@clisp.org>
40215
40216         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
40217         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
40218         int.
40219         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
40220         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
40221         Return an error indicator.
40222         Suggested by Eric Blake.
40223
40224 2006-10-06  Bruno Haible  <bruno@clisp.org>
40225
40226         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
40227         Reported by Eric Blake.
40228
40229 2006-10-06  Bruno Haible  <bruno@clisp.org>
40230
40231         * modules/closeout (Description): Mention stderr too.
40232
40233 2006-10-06  Bruno Haible  <bruno@clisp.org>
40234         and Paul Eggert  <eggert@cs.ucla.edu>
40235
40236         * lib/closeout.c (close_stdout): Also close stderr.
40237         * lib/closeout.h: Update comment.
40238
40239 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
40240
40241         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
40242         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
40243         * lib/dirchownmod.c: Include lchown.h.
40244         * lib/lchown.c: Don't include files that lchown.h now includes.
40245         Don't declare chown, since lchown.h now does that.
40246         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
40247         (lchown): Define to rpl_chown if lchown is declared but
40248         does not exist.  Declare using a prototype if lchown is not
40249         declared.  Add a copyright notice.
40250         * lib/mkstemp.h: Include <unistd.h>.
40251         * lib/openat.c: Include lchown.h.
40252
40253         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
40254         we now test for that separately.
40255         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
40256         rather than O_NOFOLLOW, when testing whether it's possible to
40257         avoid a race condition reliably.
40258         * lib/savewd.c (savewd_chdir): Likewise.
40259
40260         Remove macros that are no longer needed now that stdint.h is
40261         reliable.
40262         * lib/fsusage.c (UINTMAX_MAX): Remove.
40263         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
40264         * lib/utimecmp.c (SIZE_MAX): Remove.
40265
40266         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
40267
40268         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
40269         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
40270         O_NOATIME works.
40271
40272 2006-10-05  Bruno Haible  <bruno@clisp.org>
40273
40274         * lib/gl_list.h (gl_sortedlist_search_from_to,
40275         gl_sortedlist_indexof_from_to): New declarations.
40276         (gl_list_implementation): New fields sortedlist_search_from_to,
40277         sortedlist_indexof_from_to.
40278         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
40279         inline functions.
40280         * lib/gl_list.c (gl_sortedlist_search_from_to,
40281         gl_sortedlist_indexof_from_to): New functions.
40282         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
40283         function.
40284         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
40285         (gl_array_sortedlist_search_from_to): New function.
40286         (gl_array_list_implementation): Update.
40287         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
40288         function.
40289         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
40290         (gl_carray_sortedlist_search_from_to): New function.
40291         (gl_carray_list_implementation): Update.
40292         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
40293         gl_linked_sortedlist_indexof_from_to): New functions.
40294         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40295         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40296         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
40297         gl_tree_sortedlist_indexof_from_to): New functions.
40298         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40299         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40300         Update.
40301         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40302         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
40303         Update.
40304
40305 2006-10-05  Bruno Haible  <bruno@clisp.org>
40306
40307         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
40308         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
40309         (struct gl_list_implementation): Add fields search_from_to,
40310         indexof_from_to. Remove fields search, indexof.
40311         (gl_list_search): Use the search_from_to method.
40312         (gl_list_search_from, gl_list_search_from_to): New functions.
40313         (gl_list_indexof): Use the indexof_from_to method.
40314         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40315         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
40316         (gl_list_search_from, gl_list_search_from_to): New functions.
40317         (gl_list_indexof): Use the indexof_from_to method.
40318         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40319         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
40320         gl_array_indexof. Add start_index, end_index arguments.
40321         (gl_array_search_from_to): Renamed from gl_array_search. Add
40322         start_index, end_index arguments.
40323         (gl_array_remove, gl_array_list_implementation): Update.
40324         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
40325         gl_carray_indexof. Add start_index, end_index arguments.
40326         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
40327         start_index, end_index arguments.
40328         (gl_carray_remove, gl_carray_list_implementation): Update.
40329         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
40330         gl_linked_search. Add start_index, end_index arguments.
40331         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
40332         start_index, end_index arguments.
40333         (gl_linked_remove): Update.
40334         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40335         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40336         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
40337         field to 'size_t'.
40338         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
40339         gl_tree_search. Add start_index, end_index arguments.
40340         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40341         start_index, end_index arguments.
40342         (gl_tree_remove): Update.
40343         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40344         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40345         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
40346         function.
40347         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
40348         gl_tree_search. Add start_index, end_index arguments.
40349         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40350         start_index, end_index arguments.
40351         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40352         Update.
40353         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40354
40355 2006-10-05  Bruno Haible  <bruno@clisp.org>
40356
40357         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
40358
40359         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
40360         fwriteerror_temp): New declarations.
40361         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
40362         (descriptors): New variable.
40363         (cleanup): First, close the descriptors.
40364         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
40365         fclose_temp, fwriteerror_temp): New functions.
40366
40367 2006-10-04  Jim Meyering  <jim@meyering.net>
40368
40369         * lib/fts.c (fts_open): Tiny comment change.
40370
40371 2006-10-04  Bruno Haible  <bruno@clisp.org>
40372
40373         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
40374         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
40375         gl_LOCK_BODY.
40376         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
40377         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
40378         gl_LOCK_EARLY_BODY.
40379         (gl_LOCK): Require gl_LOCK_BODY.
40380
40381 2006-10-04  Bruno Haible  <bruno@clisp.org>
40382
40383         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
40384         (gl_oset_search_atleast): New declaration.
40385         (struct gl_oset_implementation): Add field 'search_atleast'.
40386         (gl_oset_search_atleast): New inline function.
40387         * lib/gl_oset.c (gl_oset_search_atleast): New function.
40388         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
40389         (gl_array_oset_implementation): Update.
40390         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
40391         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
40392         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
40393
40394 2006-10-04  Bruno Haible  <bruno@clisp.org>
40395
40396         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
40397
40398 2006-10-03  Bruno Haible  <bruno@clisp.org>
40399
40400         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
40401         from gl_avltreehash_list_implementation.
40402
40403 2006-10-03  Bruno Haible  <bruno@clisp.org>
40404
40405         * lib/gl_oset.c (gl_oset_add): Fix return type.
40406
40407 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
40408
40409         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
40410
40411 2006-10-02  Eric Blake  <ebb9@byu.net>
40412
40413         * modules/strnlen (Depends-on): Add extensions.
40414
40415 2006-10-02  Eric Blake  <ebb9@byu.net>
40416
40417         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
40418         definition in 2.60+.
40419
40420 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
40421
40422         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
40423         checks.
40424
40425 2006-10-02  Bruno Haible  <bruno@clisp.org>
40426
40427         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
40428         to the AUTOMAKE_OPTIONS.
40429         Reported by Jim Meyering.
40430
40431 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40432
40433         Work around bug in Solaris 10 /proc file system:
40434         /proc/self/fd/NNN/.. isn't the parent directory of
40435         the directory whose file descriptor is NNN.  This needs to
40436         be worked around at run time, not compile time, since a
40437         program might be built on Solaris 8, where things work, and
40438         run on Solaris 10.
40439         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
40440         to use the following interface instead:
40441         (OPENAT_BUFFER_SIZE): New macro.
40442         (openat_proc_name): New function.
40443         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
40444         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
40445         Likewise.
40446         * lib/openat-proc.c: New file.
40447         * modules/openat (Files): Add lib/openat-proc.c.
40448         (Depends-on): Add same-inode, stdbool.
40449         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
40450
40451 2006-09-29  Bruno Haible  <bruno@clisp.org>
40452
40453         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
40454         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
40455         argument. Set stdout_closed before testing for ferror, not after.
40456         (fwriteerror, fwriteerror_no_ebadf): New functions.
40457
40458 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40459
40460         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
40461
40462 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
40463
40464         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
40465         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
40466
40467 2006-09-28  Jim Meyering  <jim@meyering.net>
40468
40469         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
40470         Include <unistd.h>.
40471
40472 2006-09-28  Bruno Haible  <bruno@clisp.org>
40473
40474         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
40475         * modules/linkedhash-list (Depends-on): Likewise.
40476         * modules/rbtreehash-list (Depends-on): Likewise.
40477
40478 2006-09-28  Bruno Haible  <bruno@clisp.org>
40479
40480         * lib/strndup.h: Simplify the redefinition of strndup.
40481         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
40482         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
40483
40484 2006-09-28  Bruno Haible  <bruno@clisp.org>
40485
40486         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
40487         * lib/gl_linkedhash_list.c: Likewise.
40488         * lib/gl_rbtreehash_list.c: Likewise.
40489
40490 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
40491
40492         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
40493         getaddrinfo.
40494
40495         * lib/__fpending.h: Don't include <stdio_ext.h> unless
40496         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
40497         it causes <stdio_ext.h> to cause a compile-time error.
40498         Problem reported by Nelson H. F. Beebe.
40499         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
40500         of HAVE_DECL___PENDING.
40501
40502         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
40503         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
40504         declaration.
40505
40506 2006-09-27  Jim Meyering  <jim@meyering.net>
40507
40508         This file could end up with a definition for a function
40509         named __strndup, rather than rpl_strndup on a system with
40510         incomplete weak_alias support.
40511         * lib/strndup.c (strndup): Rename from __strndup.
40512         Remove #defines that used to map __strndup to strndup.
40513         Don't use K&R prototypes.
40514         Remove LIBC-related code, since this file is not sync'd with glibc.
40515         * lib/strndup.h: Revamp, accordingly.
40516         * m4/strndup.m4: Modernize.
40517
40518 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
40519
40520         * modules/savewd (Depends-on): Add 'raise'.
40521         * lib/savewd.c: Include <signal.h>, for 'raise'.
40522
40523 2006-09-26  Jim Meyering  <jim@meyering.net>
40524
40525         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
40526         when we detect Darwin 8.7.0's acl_get_file bug.
40527         Rearrange to perform the new (below) run-test while $LIBS
40528         contains any acl-related library.  Set USE_ACL at the end.
40529         (gl_ACL_GET_FILE): New function.
40530
40531 2006-09-26  Eric Blake  <ebb9@byu.net>
40532
40533         * lib/verror.c: Include <config.h> unconditionally.
40534
40535 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
40536
40537         * modules/clock-time (Maintainer): Add self.
40538         * modules/getlogin_r (Depends-on): Add extensions.
40539
40540 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40541
40542         * modules/clock-time: New module.
40543         * modules/nanosleep (Depends-on): Add clock-time.
40544         * modules/gethrxtime (Depends-on): Likewise.
40545         * modules/gettime (Depends-on): Likewise.
40546         * modules/settime (Depends-on): Likewise.
40547
40548         * modules/fts-lgpl: Depend on openat.
40549         * modules/mkancesdirs: Depend on savewd.
40550         * modules/mkdir-p: Likewise.
40551
40552 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40553
40554         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
40555
40556         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
40557         `gl_have_arbitrary_file_name_length_limit' to
40558         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
40559         actually works between configure runs.
40560
40561 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40562             Bruno Haible  <bruno@clisp.org>
40563
40564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
40565
40566 2006-09-25  Jim Meyering  <jim@meyering.net>
40567
40568         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
40569         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
40570
40571 2006-09-25  Eric Blake  <ebb9@byu.net>
40572
40573         * gnulib-tool (func_import, func_create_testdir): Fix typos in
40574         exec's in 2006-09-18 patch when shuffling fds.
40575
40576 2006-09-25  Bruno Haible  <bruno@clisp.org>
40577
40578         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
40579         Reported by Jim Meyering.
40580
40581 2006-09-24  Jim Meyering  <jim@meyering.net>
40582
40583         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
40584         compare a pointer against a literal "0".  That caused failures with
40585         at least HP-UX's hpcc.
40586
40587 2006-09-22  Simon Josefsson  <jas@extundo.com>
40588
40589         * modules/gc-sha1:
40590         * modules/gc-md4:
40591         * modules/gc-hmac-sha1:
40592         * modules/gc-hmac-md5:
40593         * modules/gc-des:
40594         * modules/gc-arcfour: Distribute more files.
40595
40596 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40597
40598         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
40599         (gl_linked_iterator_from_to): Initialize struct completely.
40600         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
40601         (gl_tree_iterator_from_to): Likewise
40602         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
40603         * lib/gl_array_list.c [lint] (gl_array_iterator)
40604         (gl_array_iterator_from_to): Likewise.
40605         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
40606         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
40607         (gl_carray_iterator_from_to): Likewise.
40608
40609         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
40610         * lib/md4.c (md4_process_block): Remove unused variable.
40611         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
40612         parentheses for clarity.
40613
40614 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40615
40616         * modules/bison-i18n (Depends-on): Add gettext.
40617
40618 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40619
40620         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
40621         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
40622         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
40623         also add missing comma that caused broken test.
40624         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
40625         stdlib.h, for `abort'.
40626         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
40627         variables.
40628         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
40629         include unistd.h if present, for `rmdir'.
40630         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
40631         variables.
40632         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
40633         in the process include standard headers for prototypes.
40634         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
40635         gets declared on GNU/Linux.
40636         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
40637         unistd.h, for `rmdir'.
40638         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
40639
40640         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
40641         always true.
40642         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
40643
40644         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
40645
40646 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40647
40648         * gnulib-tool (func_version): Create output all at once.  This
40649         may help avoid triggering unnecessary SIGPIPEs, and at any
40650         rate it doesn't hurt.
40651
40652 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40653             Bruno Haible  <bruno@clisp.org>
40654
40655         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
40656         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
40657         * m4/signed.m4 (bh_C_SIGNED): Likewise.
40658
40659         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
40660         (gl_FUNC_VASPRINTF): Invoke it.
40661
40662 2006-09-22  Bruno Haible  <bruno@clisp.org>
40663
40664         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
40665         getloadavg.c as first argument.
40666
40667 2006-09-22  Bruno Haible  <bruno@clisp.org>
40668
40669         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
40670         at the beginning of the gl_INIT macro.
40671         * modules/getloadavg (configure.ac): Pass $gl_source_base to
40672         gl_GETLOADAVG.
40673
40674 2006-09-22  Bruno Haible  <bruno@clisp.org>
40675
40676         * gnulib-tool (func_create_megatestdir): Don't include the config-h
40677         module.
40678         Suggested by Ralf Wildenhues.
40679
40680 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
40681
40682         Import this patch from libc:
40683
40684         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
40685
40686         * lib/regex_internal.c (re_string_reconstruct): Handle
40687         offset < pstr->valid_raw_len && pstr->offsets_needed case.
40688         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
40689         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
40690         re_string_context_at.
40691
40692         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
40693         now requires it.
40694         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
40695         gl_REGEX now does it for us.
40696         (gl_REGEX): Add test taken from
40697         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
40698
40699         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
40700         Check that large offsets work.  Modernize Autoconf usages.
40701         Prefer "yes" to mean a good thing rather than a bad.
40702         Don't put "#define mkstemp" in config.h, as this might interfere
40703         with standard system headers that "#define mkstemp mkstemp64".
40704
40705         * modules/mkstemp (Depends-on): Add extensions, so that
40706         mkstemp is visible on some platforms.
40707         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
40708         (Include): Change to "mkstemp.h" from <stdlib.h>.
40709         (Files): Add mkstemp.h.
40710
40711         * lib/mkstemp.h: New file, since some standard headers
40712         #define mkstemp.
40713         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
40714         Include "mkstemp.h".
40715         Make the _LIBC code resemble glibc original more,
40716         e.g., use K&R style.
40717         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
40718         (mkstemp): Remove, since mkstemp.h does this for us.
40719         * lib/stdlib--.h: Include mkstemp.h.
40720
40721         Import this patch from libc:
40722
40723         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
40724
40725         * lib/tempname.c (__gen_tempname): Change attempts_min
40726         into a macro.  Use preprocessor to decide how to initialize
40727         attempts [Coverity CID 67].
40728
40729 2006-09-20  Bruno Haible  <bruno@clisp.org>
40730
40731         * lib/mkdtemp.c: Import from libc.
40732         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
40733                 * sysdeps/posix/tempname.c (__gen_tempname): Change
40734                 attempts_min into a macro.  Use preprocessor to decide how to
40735                 initialize attempts [Coverity CID 67].
40736         2001-11-27  Paul Eggert  <eggert@twinsun.com>
40737                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
40738                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
40739
40740 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40741
40742         * gnulib-tool (func_exit): New function, to allow to pass the
40743         exit status portably through the trap.  Use everywhere.
40744         (--help, --version): Signal a write error.
40745         (trap): catch SIGPIPE, for write errors.
40746         Exit at the end of the trap, with the correct exit status.
40747
40748 2006-09-19  Karl Berry  <karl@gnu.org>
40749
40750         * doc/gnulib.texi: note about the license texinfo files.
40751
40752 2006-09-19  Eric Blake  <ebb9@byu.net>
40753
40754         * gnulib-tool: Avoid space-tab.
40755
40756 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
40757
40758         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
40759         that prevented coreutils 6.1 from building.  Problem reported
40760         by Petter Reinholdtsen.
40761
40762 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
40763
40764         * gnulib-tool (avoidlist): Fix typo that broke options like
40765         --avoid=lock that are used by coreutils bootstrap.
40766
40767 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
40768
40769         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
40770         more systematically.
40771
40772 2006-09-18  Jim Meyering  <jim@meyering.net>
40773
40774         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
40775
40776 2006-09-18  Bruno Haible  <bruno@clisp.org>
40777
40778         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
40779
40780 2006-09-18  Bruno Haible  <bruno@clisp.org>
40781
40782         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
40783         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
40784         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
40785         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
40786         * m4/gettext.m4: Require autoconf >= 2.52.
40787         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
40788         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
40789         of gl_cv_header_inttypes_h.
40790
40791 2006-09-18  Bruno Haible  <bruno@clisp.org>
40792
40793         * lib/javaversion.c: Include configmake.h.
40794
40795 2006-09-18  Bruno Haible  <bruno@clisp.org>
40796
40797         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
40798         avoid that the while loops be executed in a subshell.
40799
40800 2006-09-18  Bruno Haible  <bruno@clisp.org>
40801
40802         * MODULES.html.sh (func_module): Break long lines.
40803         Suggested by Bruce Korb <bkorb@gnu.org>.
40804
40805 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40806
40807         Speed up by a factor of 1.12.
40808         * gnulib-tool (nl): New variable.
40809         (func_import): Rewrite include directive extraction to only read each
40810         directive once.
40811
40812 2006-09-17  Bruno Haible  <bruno@clisp.org>
40813
40814         * modules/javaversion (Makefile.am): Remove DEFS setting.
40815         (Depends-on): Add configmake, for PKGDATADIR definition.
40816
40817 2006-09-17  Bruno Haible  <bruno@clisp.org>
40818
40819         * gnulib-tool (func_create_testdir): Rewrite all files at once.
40820
40821 2006-09-17  Bruno Haible  <bruno@clisp.org>
40822
40823         * gnulib-tool (func_append): New function, stolen from libtool.m4.
40824         (func_modules_transitive_closure, func_modules_add_dummy,
40825         func_modules_to_filelist, func_import, func_create_testdir,
40826         func_create_megatestdir, ...): Use it wherever possible.
40827         Suggested by Ralf Wildenhues.
40828
40829 2006-09-16  Karl Berry  <karl@gnu.org>
40830
40831         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
40832         to avoid sectioning errors.
40833         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
40834         [ifinfo]: blank line after @center-ed titles.
40835         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
40836         Spell FSF address consistently with others.
40837         (These changes approved by rms.)
40838
40839 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40840
40841         Speed up by a factor of 1.61.
40842         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
40843         already checked module names again.
40844
40845 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40846
40847         Speed up by a factor of 1.13.
40848         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
40849         for new_files, and the input to func_add_or_update.
40850
40851 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40852
40853         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
40854         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
40855
40856 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40857
40858         * modules/mkancesdirs (Depends-on): Add fcntl.
40859         * modules/savewd: New file.
40860         * MODULES.html.sh (File system functions): Add savewd.
40861
40862         * modules/configmake (Makefile.am): Add support for the
40863         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
40864
40865 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40866
40867         * m4/savewd.m4: New file.
40868
40869 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
40870
40871         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
40872         (dirchownmod): New arg FD.  All callers changed.
40873         Use FD rather than opening the directory ourself, as opening is
40874         now the caller's responsibility.
40875         * lib/dirchownmod.h: Likewise.
40876         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
40877         hosts that require <sys/types.h> before <sys/stat.h>.  Include
40878         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
40879         (test_dir): Remove.
40880         (mkancesdirs): Return length of prefix of FILE that has already
40881         been made, or -2 if there is a child doing the work.  Redo
40882         algorithm so that it is O(N) rather than O(N**2).  Optimize away
40883         ".", and treat ".." specially since it might stray back into
40884         already-created areas.  Use a subprocess if necessary.  New arg
40885         WD; all users changed.  MAKE_DIR function should now return 1
40886         if it creates a directory that is not readable.  Return -2 if
40887         a child process is spun off.
40888         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
40889         Adjust signature to match code.
40890         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
40891         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
40892         all users changed.
40893         * lib/savewd.c, lib/savewd.h: New files.
40894
40895 2006-09-15  Jim Meyering  <jim@meyering.net>
40896
40897         * modules/rename-dest-slash: New module.
40898         * MODULES.html.sh (posix_compat): Add it here.
40899
40900         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
40901
40902 2006-09-15  Jim Meyering  <jim@meyering.net>
40903
40904         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
40905         file.
40906
40907         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
40908
40909 2006-09-15  Jim Meyering  <jim@meyering.net>
40910
40911         * lib/rename-dest-slash.c (has_trailing_slash): Use
40912         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
40913         (rpl_rename_dest_slash): Perform the cheaper trailing slash
40914         test before testing whether SRC is a directory.
40915         Suggestions from Bruno Haible.
40916
40917         Avoid a warning about an unused variable.
40918         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
40919         into the #ifdef block where it's used.
40920
40921         * lib/rename-dest-slash.c: New file.
40922
40923 2006-09-14  Bruno Haible  <bruno@clisp.org>
40924
40925         * lib/allocsa.c: Include <config.h> unconditionally.
40926         * lib/asnprintf.c: Likewise.
40927         * lib/asprintf.c: Likewise.
40928         * lib/c-strcasecmp.c: Likewise.
40929         * lib/c-strcasestr.c: Likewise.
40930         * lib/c-strncasecmp.c: Likewise.
40931         * lib/c-strstr.c: Likewise.
40932         * lib/classpath.c: Likewise.
40933         * lib/clean-temp.c: Likewise.
40934         * lib/concatpath.c: Likewise.
40935         * lib/copy-file.c: Likewise.
40936         * lib/csharpcomp.c: Likewise.
40937         * lib/csharpexec.c: Likewise.
40938         * lib/execute.c: Likewise.
40939         * lib/fatal-signal.c: Likewise.
40940         * lib/findprog.c: Likewise.
40941         * lib/fwriteerror.c: Likewise.
40942         * lib/gl_array_list.c: Likewise.
40943         * lib/gl_array_oset.c: Likewise.
40944         * lib/gl_avltree_list.c: Likewise.
40945         * lib/gl_avltree_oset.c: Likewise.
40946         * lib/gl_avltreehash_list.c: Likewise.
40947         * lib/gl_carray_list.c: Likewise.
40948         * lib/gl_linked_list.c: Likewise.
40949         * lib/gl_linkedhash_list.c: Likewise.
40950         * lib/gl_list.c: Likewise.
40951         * lib/gl_oset.c: Likewise.
40952         * lib/gl_rbtree_list.c: Likewise.
40953         * lib/gl_rbtree_oset.c: Likewise.
40954         * lib/gl_rbtreehash_list.c: Likewise.
40955         * lib/imaxabs.c: Likewise.
40956         * lib/imaxdiv.c: Likewise.
40957         * lib/javacomp.c: Likewise.
40958         * lib/javaexec.c: Likewise.
40959         * lib/javaversion.c: Likewise.
40960         * lib/linebreak.c: Likewise.
40961         * lib/localcharset.c: Likewise.
40962         * lib/lock.c: Likewise.
40963         * lib/mbchar.c: Likewise.
40964         * lib/mbswidth.c: Likewise.
40965         * lib/mkdtemp.c: Likewise.
40966         * lib/pipe.c: Likewise.
40967         * lib/printf-args.c: Likewise.
40968         * lib/printf-parse.c: Likewise.
40969         * lib/progname.c: Likewise.
40970         * lib/progreloc.c: Likewise.
40971         * lib/readlink.c: Likewise.
40972         * lib/sh-quote.c: Likewise.
40973         * lib/stpcpy.c: Likewise.
40974         * lib/stpncpy.c: Likewise.
40975         * lib/strcasecmp.c: Likewise.
40976         * lib/strcasestr.c: Likewise.
40977         * lib/strcspn.c: Likewise.
40978         * lib/striconv.c: Likewise.
40979         * lib/strncasecmp.c: Likewise.
40980         * lib/strnlen1.c: Likewise.
40981         * lib/strstr.c: Likewise.
40982         * lib/strtok_r.c: Likewise.
40983         * lib/tls.c: Likewise.
40984         * lib/tmpdir.c: Likewise.
40985         * lib/unicodeio.c: Likewise.
40986         * lib/unsetenv.c: Likewise.
40987         * lib/vasnprintf.c: Likewise.
40988         * lib/vasprintf.c: Likewise.
40989         * lib/wait-process.c: Likewise.
40990         * lib/xallocsa.c: Likewise.
40991         * lib/xsetenv.c: Likewise.
40992         * lib/xstriconv.c: Likewise.
40993
40994 2006-09-13  Simon Josefsson  <jas@extundo.com>
40995
40996         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
40997         that internally, suggested by Ralf Wildenhues
40998         <Ralf.Wildenhues@gmx.de>.
40999
41000 2006-09-13  Simon Josefsson  <jas@extundo.com>
41001
41002         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
41003         @LIBOBJS@.
41004         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41005
41006 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41007
41008         * lib/_fpending.c: Include <config.h> unconditionally, since we no
41009         longer worry about uses that don't define HAVE_CONFIG_H.
41010         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
41011         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
41012         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
41013         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
41014         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
41015         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
41016         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
41017         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
41018         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
41019         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
41020         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
41021         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
41022         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
41023         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
41024         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
41025         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
41026         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
41027         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
41028         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
41029         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
41030         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
41031         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
41032         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
41033         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
41034         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
41035         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
41036         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
41037         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
41038         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
41039         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
41040         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
41041         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
41042         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
41043         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
41044         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
41045         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
41046         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
41047         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
41048         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
41049         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
41050         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
41051         Likewise.
41052
41053 2006-09-13  Eric Blake  <ebb9@byu.net>
41054
41055         * lib/getopt.c: Fix typo in last commit.
41056
41057 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41058
41059         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
41060         dgettext.
41061
41062 2006-09-12  Jim Meyering  <jim@meyering.net>
41063
41064         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
41065         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
41066         Reported by Nelson H. F. Beebe.
41067
41068 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41069
41070         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
41071         program_invocation_name and program_invocation_short_name are
41072         initialized.
41073         * lib/argp-namefrob.h: Move declarations of program_invocation_name
41074         and program_invocation_short_name to argp.h, so they are visible
41075         to user programs.
41076         * lib/argp.h: Likewise
41077
41078 2006-09-10  Bruno Haible  <bruno@clisp.org>
41079
41080         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41081         m4/inttypes_h.m4, m4/uintmax_t.m4.
41082
41083 2006-09-10  Bruno Haible  <bruno@clisp.org>
41084
41085         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
41086         gl_AC_TYPE_UINTMAX_T.
41087
41088 2006-09-10  Bruno Haible  <bruno@clisp.org>
41089
41090         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
41091
41092 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41093
41094         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
41095         convention.  Text proposed by Bruno Haible.
41096         (struct argp_option): Document the use of N_() wrappers.
41097
41098         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
41099         '\v', and translate the two parts separately, instead of feeding
41100         the whole string to gettext.  This allows to exclude
41101         '\v' from the strings visible to the translator by writing doc
41102         strings as N_("..") "\v" N_("..").
41103
41104 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
41105
41106         * config/srclist.txt: Undo latest change; the bug was fixed.
41107
41108 2006-09-09  Bruno Haible  <bruno@clisp.org>
41109
41110         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
41111         assignments if building a library without libtool.
41112         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
41113         in func_emit_lib_Makefile_am.
41114         (func_import): When building a static library libfoo.a, arrange to
41115         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
41116         (func_create_testdir): Likewise.
41117         * modules/gc (configure.ac, Makefile.am): If building statically,
41118         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
41119         * modules/iconvme (configure.ac, Makefile.am): Likewise.
41120         * modules/striconv (configure.ac, Makefile.am): Likewise.
41121         Based on a suggestion by Ralf Wildenhues.
41122
41123 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41124
41125         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41126         Check for unistd.h too, since Autoconf doesn't assume POSIX.
41127         Also:
41128
41129         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41130         Add year_2050_test to catch glibc bug 2821
41131         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41132
41133         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41134         Prefer #ifdef to #if.
41135
41136         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41137         Return from 'main' instead of calling 'exit'.
41138
41139 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41140
41141         * lib/mktime.c (guess_time_tm): Fix bug where mktime
41142         returned the maximum time_t value rather than (time_t) -1.
41143         Problem originally reported by William Bardwell
41144         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41145
41146         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41147         Moved to here ...
41148         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41149         ... from here.
41150
41151 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41152
41153         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
41154         2821 is fixed.
41155
41156 2006-09-08  Jim Meyering  <jim@meyering.net>
41157
41158         Don't make generated files read-only.  That would bother too many
41159         people.  However, do retain the ability to work when targets are
41160         read-only: remove the destination and temporary files before writing
41161         them (when generated via sed or echo), or by using the -f option for
41162         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
41163         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41164         * modules/byteswap, modules/configmake, modules/fcntl:
41165         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41166         * modules/localcharset, modules/netinet_in, modules/poll:
41167         * modules/stdbool, modules/stdint, modules/sys_select:
41168         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41169
41170 2006-09-08  Jim Meyering  <jim@meyering.net>
41171
41172         Avoid new build failure on FreeBSD 6.0.
41173         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
41174         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
41175         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
41176
41177 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41178
41179         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
41180
41181 2006-09-07  Jim Meyering  <jim@meyering.net>
41182
41183         Fix global typo in last change: use chmod u-w, not chmod u-x.
41184         Spotted by Paul Eggert and Bruce Korb.
41185         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41186         * modules/byteswap, modules/configmake, modules/fcntl:
41187         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41188         * modules/localcharset, modules/netinet_in, modules/poll:
41189         * modules/stdbool, modules/stdint, modules/sys_select:
41190         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41191
41192 2006-09-06  Jim Meyering  <jim@meyering.net>
41193
41194         Make generated files be read-only.
41195         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
41196         Ensure that each generated file is now read-only.
41197         * modules/argz: Likewise.
41198         * modules/arpa_inet: Likewise.
41199         * modules/byteswap: Likewise.
41200         * modules/configmake: Likewise.
41201         * modules/fcntl: Likewise.
41202         * modules/fnmatch: Likewise.
41203         * modules/getopt: Likewise.
41204         * modules/glob: Likewise.
41205         * modules/inttypes: Likewise.
41206         * modules/netinet_in: Likewise.
41207         * modules/poll: Likewise.
41208         * modules/stdbool: Likewise.
41209         * modules/stdint: Likewise.
41210         * modules/sys_select: Likewise.
41211         * modules/sys_socket: Likewise.
41212         * modules/sys_stat: Likewise.
41213         * modules/sysexits: Likewise.
41214         * modules/localcharset: Same as above, but continue using temporary
41215         file named "t-$@" (why different?) rather than the "$@-t" used
41216         everywhere else.
41217
41218         * modules/sysexits (Makefile.am): Replace literal occurrences
41219         of "sysexit.h" more readable, and more consistent, "$@".
41220
41221 2006-09-06  Bruno Haible  <bruno@clisp.org>
41222
41223         * modules/striconv: New file.
41224         * modules/xstriconv: New file.
41225         * MODULES.html.sh (Internationalization functions): Add striconv,
41226         xstriconv.
41227
41228 2006-09-06  Bruno Haible  <bruno@clisp.org>
41229
41230         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
41231         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
41232         not using libtool correctly.
41233
41234 2006-09-06  Bruno Haible  <bruno@clisp.org>
41235
41236         * lib/striconv.h: New file.
41237         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
41238         iconvstring.c.
41239         * lib/xstriconv.h: New file.
41240         * lib/xstriconv.c: New file.
41241
41242 2006-09-06  Bruno Haible  <bruno@clisp.org>
41243
41244         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41245         lib_..._LDFLAGS.
41246
41247 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41248
41249         * lib/argz_.h: Sync from Libtool.
41250
41251         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
41252                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41253
41254         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
41255
41256 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41257
41258         * modules/trim: New file.
41259
41260 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41261
41262         * lib/trim.h: New file.
41263         * lib/trim.c: New file.
41264
41265 2006-09-05  Bruno Haible  <bruno@clisp.org>
41266
41267         * MODULES.html.sh (String handling): Add trim.
41268
41269 2006-09-04  Karl Berry  <karl@gnu.org>
41270
41271         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
41272         until next release.
41273
41274 2006-09-03  Bruno Haible  <bruno@clisp.org>
41275
41276         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
41277         correctly.
41278
41279 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41280
41281         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
41282         not gl_GETLOADAVG.  Omit unneeded semicolons.
41283         Problems reported by Ralf Wildenhues in
41284         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41285         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
41286         at the end, which is the usual gnulib style.
41287
41288         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
41289         of doing all the work ourselves.
41290         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
41291         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
41292
41293 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41294
41295         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
41296         Problem reported by Ralf Wildenhues in
41297         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41298
41299         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
41300         HAVE_STRUCT_STATFS_F_FSTYPENAME.
41301
41302 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41303
41304         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
41305         yesterday's patch by changing test -n to test -z.
41306
41307 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41308
41309         * modules/getloadavg (Files): Add m4/getloadavg.m4.
41310         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
41311         the former is now obsolescent.
41312
41313         * modules/chdir-long (Depends-on): Add fcntl.
41314
41315 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41316
41317         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
41318         obsolescent, and programs should use gnulib instead.
41319         * m4/getloadavg.m4: New file, with contents taken from Autoconf
41320         but with prefixes changed.
41321
41322 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41323
41324         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
41325         or stdbool.h, because they might not exist while configuring.
41326
41327         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
41328         Don't include unistd.h or limits.h; not needed, since chdir-long.h
41329         does that for us.
41330         (O_DIRECTORY): Remove.
41331
41332 2006-08-31  Eric Blake  <ebb9@byu.net>
41333
41334         * gnulib-tool: Don't let emacs change spaces to TAB.
41335
41336 2006-08-31  Bruno Haible  <bruno@clisp.org>
41337
41338         * gnulib-tool: When calling func_import more than once, do it in a
41339         subshell.
41340         Reported by Eric Blake <ebb9@byu.net>.
41341
41342 2006-08-31  Bruno Haible  <bruno@clisp.org>
41343
41344         * gnulib-tool (nl): Remove variable.
41345         (sed_transform_lib_file): Use more robust test for config-h module.
41346         (func_import): Fix typo in 2006-08-25 patch.
41347
41348 2006-08-31  Bruno Haible  <bruno@clisp.org>
41349
41350         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
41351         specified, augment Makefile.am variables instead of assigning them.
41352
41353 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41354
41355         Work around a bug in both the Linux and SunOS 64-bit kernels:
41356         nanosleep mishandles sleeps for longer than 2**31 seconds.
41357         Problem reported by Frank v Waveren in
41358         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41359         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
41360         Check for nanosleep bug.
41361         (LIB_NANOSLEEP): Append clock_gettime library if needed.
41362
41363 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41364
41365         Work around a bug in both the Linux and SunOS 64-bit kernels:
41366         nanosleep mishandles sleeps for longer than 2**31 seconds.
41367         Problem reported by Frank v Waveren in
41368         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41369         * lib/nanosleep.c (BILLION): New constant.
41370         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
41371         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
41372         implementation.
41373
41374 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41375
41376         * modules/nanosleep (Depends-on): Add gettime.
41377
41378 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41379         and Simon Josefsson  <jas@extundo.com>
41380         and Oskar Liljeblad  <oskar@osk.mine.nu>
41381
41382         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
41383         * gnulib-tool (func_import): New license type 'unmodifiable license
41384         text'.
41385         * modules/fdl: Use it.  Longer description.
41386         * module/gpl, module/lgpl: New files.
41387
41388 2006-08-30  Jim Meyering  <jim@meyering.net>
41389
41390         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
41391         shadowing the parameter.
41392
41393 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41394
41395         Sync from Libtool:
41396
41397         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41398
41399         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
41400         sharing with gnulib.  Report by Eric Blake.
41401
41402 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41403
41404         * modules/isapipe: New file.
41405         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
41406
41407 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41408
41409         * modules/configmake (Makefile.am): Add a comment, and omit
41410         the CONFIGMAKE_ prefix from generated macro names.  Suggested
41411         by Bruno Haible.
41412
41413 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41414
41415         * m4/isapipe.m4: New file.
41416
41417 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41418
41419         * lib/isapipe.c, lib/isapipe.h: New files.
41420
41421 2006-08-29  Jim Meyering  <jim@meyering.net>
41422
41423         * modules/configmake (Makefile.am): Make configmake.h depend on
41424         Makefile.  Otherwise, a stale configmake.h could hang around.
41425
41426 2006-08-29  Eric Blake  <ebb9@byu.net>
41427
41428         * lib/error.c (error_at_line, print_errno_message): Match libc, after
41429         resolution of upstream bug 3044.
41430
41431 2006-08-29  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/localcharset (Depends-on): Add configmake.
41434         (Makefile.am): Remove setting of LIBDIR through DEFS.
41435
41436 2006-08-29  Bruno Haible  <bruno@clisp.org>
41437
41438         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
41439         defined.
41440
41441 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41442
41443         * modules/fcntl: New file.
41444         * modules/chdir-safer (Depends-on): Add fcntl.
41445         * modules/fts: Likewise.
41446         * modules/mkdir-p: Likewise.
41447
41448         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
41449         This undoes the most recent change, since we're now addressing the
41450         problem in a different way.
41451
41452         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
41453         into output, since the output might be called Makefile.am even
41454         if $makefile_name is something different.
41455         (func_import): Use $makefile_am rather than
41456         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
41457         empty.
41458
41459         * modules/inttypes (Files): Add m4/inttypes-h.m4.
41460
41461 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41462
41463         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
41464         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
41465         recent change to stdint.m4, since we're now addressing the problem in a
41466         different way.
41467
41468 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41469
41470         * m4/fcntl_h.m4: New file.
41471
41472 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41473
41474         * lib/fcntl_.h: New file.
41475         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
41476         the fcntl module.
41477         * lib/dirchownmod.c: Likewise.
41478         * lib/fts.c: Likewise.
41479
41480         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
41481         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
41482         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
41483         just before including <inttypes.h>, to avoid circular inclusion.
41484
41485 2006-08-28  Jim Meyering  <jim@meyering.net>
41486
41487         * doc/visibility.texi: Actually read and correct the grammar of the
41488         sentence affected by yesterday's change.
41489
41490 2006-08-28  Eric Blake  <ebb9@byu.net>
41491
41492         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
41493         needs wrapper.
41494
41495 2006-08-28  Eric Blake  <ebb9@byu.net>
41496
41497         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
41498
41499 2006-08-28  Eric Blake  <ebb9@byu.net>
41500
41501         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
41502
41503 2006-08-28  Bruno Haible  <bruno@clisp.org>
41504
41505         * modules/c-strstr: New file, from GNU gettext.
41506         * MODULES.html.sh (String handling): Add c-strstr.
41507
41508 2006-08-28  Bruno Haible  <bruno@clisp.org>
41509
41510         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
41511         macros.
41512         Reported by Eric Blake.
41513
41514 2006-08-28  Bruno Haible  <bruno@clisp.org>
41515
41516         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
41517         (VASNPRINTF): Return a string of length > INT_MAX without failing.
41518         * lib/vasprintf.c: Include errno.h, limits.h.
41519         (EOVERFLOW): New fallback definition.
41520         (vasprintf): Test here whether the string length is > INT_MAX.
41521         * lib/vsnprintf.c: Include errno.h, limits.h.
41522         (EOVERFLOW): New fallback definition.
41523         (vsnprintf): Fix bug when generated string was too long for the buffer.
41524         Test here whether the string length is > INT_MAX.
41525
41526 2006-08-28  Bruno Haible  <bruno@clisp.org>
41527
41528         * lib/inttypes_.h (SCNX*): Remove definitions.
41529         Reported by Eric Blake.
41530
41531 2006-08-28  Bruno Haible  <bruno@clisp.org>
41532
41533         * lib/c-strstr.h: New file, from GNU gettext.
41534         * lib/c-strstr.c: New file, from GNU gettext.
41535
41536 2006-08-28  Bruno Haible  <bruno@clisp.org>
41537
41538         * gnulib-tool: Reorder some statements.
41539
41540 2006-08-28  Bruno Haible  <bruno@clisp.org>
41541
41542         * gnulib-tool: New option --makefile-name.
41543         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
41544         $makefile_name.
41545         (func_import): Write $makefile_name to the cache file, and read it from
41546         there unless explicitly specified. Use $makefile_name as file name
41547         instead of Makefile.am. Adjust the recommendations accordingly.
41548
41549 2006-08-28  Bruno Haible  <bruno@clisp.org>
41550
41551         * gnulib-tool (func_verify_module): Check against misapplying patch.
41552
41553 2006-08-28  Bruno Haible  <bruno@clisp.org>
41554
41555         * gnulib-tool (func_relativize, func_relconcat): New functions.
41556         Give an error if --local-dir is given with --update.
41557         Remove trailing slashes from $local_gnulib_dir.
41558         (func_import): Store the relativized $local_gnulib_dir in
41559         gnulib-cache.m4, and read it from there if not specified explicitly.
41560
41561 2006-08-28  Bruno Haible  <bruno@clisp.org>
41562
41563         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
41564         is the current directory. Respect also $local_gnulib_dir.
41565
41566 2006-08-28  Bruno Haible  <bruno@clisp.org>
41567             Simon Josefsson  <jas@extundo.com>
41568
41569         BeOS portability.
41570         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
41571
41572 2006-08-27  Jim Meyering  <jim@meyering.net>
41573
41574         * doc/visibility.texi: Remove duplicate word: "pointer".
41575
41576 2006-08-26  Bruno Haible  <bruno@clisp.org>
41577
41578         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
41579         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
41580         (Makefile.am): Create inttypes.h from inttypes_.h.
41581         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
41582
41583         * modules/imaxabs: New file.
41584
41585         * modules/imaxdiv: New file.
41586
41587 2006-08-26  Bruno Haible  <bruno@clisp.org>
41588
41589         * m4/inttypes.m4: New file.
41590         * m4/_inttypes_h.m4: Remove file.
41591         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
41592         PRI_MACROS_BROKEN.
41593         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
41594
41595         * m4/imaxabs.m4: New file.
41596
41597         * m4/imaxdiv.m4: New file.
41598
41599 2006-08-26  Bruno Haible  <bruno@clisp.org>
41600
41601         * lib/inttypes_.h: New file.
41602         * lib/inttypes.h: Remove file.
41603         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
41604
41605         * lib/imaxabs.c: New file.
41606
41607         * lib/imaxdiv.c: New file.
41608
41609 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41610
41611         New config-h module, so that "make" output needn't be cluttered
41612         by -DHAVE_CONFIG_H.
41613         * MODULES.html.sh (Support for building libraries and executables):
41614         Add config-h.
41615         * modules/config-h: New file.
41616         * gnulib-tool (nl, sed_transform_lib_file): New vars.
41617         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
41618         the config-h module is used.
41619
41620         New configmake module, so that "make" output needn't be cluttered
41621         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
41622         * MODULES.html.sh (Support for building libraries and executables):
41623         Add configmake.
41624         * modules/configmake: New file.
41625
41626 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
41627
41628         * m4/config-h.m4: New file.
41629
41630 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41631
41632         * config/srclist.txt: Add elisp-comp.
41633
41634 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
41635
41636         * MODULES.html.sh (Support for building libraries and executables):
41637         Add elisp-comp.
41638         * build-aux/elisp-comp: New file.
41639         * modules/elisp-comp: New file.
41640
41641 2006-08-24  Bruno Haible  <bruno@clisp.org>
41642
41643         * gnulib-tool (func_create_testdir): Use non-default values of
41644         sourcebase and m4base.
41645
41646 2006-08-24  Bruno Haible  <bruno@clisp.org>
41647
41648         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
41649         HTML structure.
41650
41651 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
41652
41653         * modules/openat (Depends-on): Add lchown.
41654
41655 2006-08-23  Bruno Haible  <bruno@clisp.org>
41656
41657         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
41658         of gl_LOCK_EARLY instead of gl_LOCK.
41659
41660 2006-08-23  Bruno Haible  <bruno@clisp.org>
41661
41662         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
41663         on OSF/1 to no.
41664         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
41665
41666 2006-08-23  Bruno Haible  <bruno@clisp.org>
41667
41668         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
41669         as unusable.
41670
41671         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
41672         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
41673         (gl_LOCK): New macro.
41674
41675 2006-08-22  Simon Josefsson  <jas@extundo.com>
41676
41677         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
41678         to md5 module.
41679
41680 2006-08-22  Simon Josefsson  <jas@extundo.com>
41681
41682         * MODULES.html.sh: Add "Support for maintaining and release
41683         projects".
41684
41685         * build-aux/gnupload: New file, from coreutils.
41686
41687 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41688
41689         Avoid the need for AC_LIBSOURCES in m4 macros.
41690         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
41691         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
41692         * modules/check-version (EXTRA_DIST): Add check-version.h.
41693         * modules/crc (EXTRA_DIST): Add crc.h.
41694         * modules/des (EXTRA_DIST): Add des.h.
41695         * modules/gc (EXTRA_DIST): Add gc.h.
41696         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
41697         * modules/getline (EXTRA_DIST): Add getline.h.
41698         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
41699         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
41700         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
41701         * modules/md2 (EXTRA_DIST): Add md2.h.
41702         * modules/md4 (EXTRA_DIST): Add md4.h.
41703         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
41704         * modules/read-file (EXTRA_DIST): Add read-file.h.
41705         * modules/readline (EXTRA_DIST): Add readline.h.
41706         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
41707         rijndael-api-fst.h.
41708
41709 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41710
41711         * m4/rijndael.m4 (gl_ARCFOUR):
41712         * m4/arctwo.m4 (gl_ARCTWO):
41713         * m4/check-version.m4 (gl_CHECK_VERSION):
41714         * m4/crc.m4 (gl_CRC):
41715         * m4/des.m4 (gl_DES):
41716         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
41717         * m4/gc.m4 (gl_GC):
41718         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
41719         * m4/getline.m4 (gl_FUNC_GETLINE):
41720         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
41721         * m4/hmac-md5.m4 (gl_HMAC_MD5):
41722         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
41723         * m4/md2.m4 (gl_MD2):
41724         * m4/md4.m4 (gl_MD4):
41725         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
41726         * m4/read-file.m4 (gl_FUNC_READ_FILE):
41727         * m4/readline.m4 (gl_FUNC_READLINE):
41728         * m4/rijndael.m4 (gl_RIJNDAEL):
41729         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
41730         to get the necessary .h files and whatnot.
41731
41732 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
41733
41734         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
41735         gnulib rather than the other way around.
41736         * config/srclistvars.sh (COREUTILS): Remove.
41737
41738 2006-08-22  Jim Meyering  <jim@meyering.net>
41739
41740         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
41741
41742         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
41743
41744 2006-08-22  Eric Blake  <ebb9@byu.net>
41745
41746         * modules/regexprops-generic: New file.
41747         * MODULES.html.sh (Support for building documentation): List it.
41748
41749 2006-08-22  Eric Blake  <ebb9@byu.net>
41750
41751         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
41752         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
41753         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
41754         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
41755
41756 2006-08-22  Bruno Haible  <bruno@clisp.org>
41757
41758         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
41759         and lib_LTLIBRARIES like the other lib_* variables.
41760
41761 2006-08-22  Bruno Haible  <bruno@clisp.org>
41762
41763         * build-aux/x-to-1.in: New file, from GNU gettext.
41764
41765 2006-08-22  Bruno Haible  <bruno@clisp.org>
41766
41767         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
41768         <utmpx.h> exists.
41769
41770 2006-08-22  Bruno Haible  <bruno@clisp.org>
41771
41772         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
41773         <utmpx.h> exists.
41774
41775 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41776
41777         BeOS portability.
41778         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
41779         exist.
41780         Problem reported by Bruno Haible.
41781
41782 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41783
41784         Avoid the need for AC_LIBSOURCES in m4 macros.
41785         * modules/acl (EXTRA_DIST): Add acl.h.
41786         * modules/argmatch (Files): Add m4/argmatch.m4.
41787         (configure.ac): Add gl_ARGMATCH.
41788         (EXTRA_DIST): Renamed from lib_SOURCES, for
41789         consistency with the other modules.  Remove argmatch.c.
41790         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
41791         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
41792         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
41793         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
41794         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
41795         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
41796         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
41797         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
41798         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
41799         * modules/closeout (EXTRA_DIST): Add closeout.h.
41800         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
41801         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
41802         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
41803         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
41804         dirname.h; remove basename.c and stripslash.c.
41805         * modules/exclude (EXTRA_DIST): Add exclude.h.
41806         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
41807         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
41808         * modules/file-type (EXTRA_DIST): Add file-type.h.
41809         * modules/filemode (EXTRA_DIST): Add filemode.h.
41810         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
41811         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
41812         * modules/fpending (EXTRA_DIST): Add __fpending.h.
41813         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
41814         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
41815         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
41816         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
41817         * modules/getdate (EXTRA_DIST): Add getdate.c.
41818         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
41819         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
41820         * modules/getpass (EXTRA_DIST): Add getpass.h.
41821         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
41822         * modules/group-member (EXTRA_DIST): Add group-member.h.
41823         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
41824         * modules/hash (EXTRA_DIST): Add hash.h.
41825         * modules/human (EXTRA_DIST): Add human.h.
41826         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
41827         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
41828         * modules/lchown (EXTRA_DIST): Add lchown.h.
41829         * modules/long-options (EXTRA_DIST): Add long-options.h.
41830         * modules/lstat (EXTRA_DIST): Add lstat.h.
41831         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
41832         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
41833         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
41834         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
41835         * modules/memxor (EXTRA_DIST): Add memxor.h.
41836         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
41837         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
41838         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
41839         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
41840         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
41841         * modules/physmem (EXTRA_DIST): Add physmem.h.
41842         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
41843         * modules/posixver (EXTRA_DIST): Add posixver.h.
41844         * modules/quote (EXTRA_DIST): Add quote.h.
41845         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
41846         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
41847         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
41848         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
41849         regex_internal.h regexec.c.
41850         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
41851         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
41852         * modules/same (EXTRA_DIST): Add same.h.
41853         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
41854         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
41855         * modules/savedir (EXTRA_DIST): Add savedir.h.
41856         * modules/sha1 (EXTRA_DIST): Add sha1.h.
41857         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
41858         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
41859         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
41860         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
41861         * modules/strdup (EXTRA_DIST): Add strdup.h.
41862         * modules/strftime (EXTRA_DIST): Add strftime.h.
41863         * modules/strndup (EXTRA_DIST): Add strndup.h.
41864         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
41865         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
41866         * modules/time_r (EXTRA_DIST): Add time_r.h.
41867         * modules/timespec (EXTRA_DIST): Add timespec.h.
41868         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
41869         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
41870         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
41871         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
41872         * modules/userspec (EXTRA_DIST): Add userspec.h.
41873         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
41874         * modules/utimens (EXTRA_DIST): Add utimens.h.
41875         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
41876         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
41877         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
41878         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
41879         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
41880         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
41881         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
41882         * modules/yesno (EXTRA_DIST): Add yesno.h.
41883
41884 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
41885
41886         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
41887
41888         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
41889         * m4/dev-ino.m4, same-inode.m4: Remove.
41890
41891         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
41892         * m4/acl.m4 (AC_FUNC_ACL):
41893         * m4/backupfile.m4 (gl_BACKUPFILE):
41894         * m4/c-strtod.m4 (gl_C99_STRTOLD):
41895         * m4/canon-host.m4 (gl_CANON_HOST):
41896         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
41897         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
41898         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
41899         * m4/cloexec.m4 (gl_CLOEXEC):
41900         * m4/close-stream.m4 (gl_CLOSE_STREAM):
41901         * m4/closeout.m4 (gl_CLOSEOUT):
41902         * m4/dirfd.m4 (gl_FUNC_DIRFD):
41903         * m4/dirname.m4 (gl_DIRNAME):
41904         * m4/exclude.m4 (gl_EXCLUDE):
41905         * m4/exitfail.m4 (gl_EXITFAIL):
41906         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
41907         * m4/file-type.m4 (gl_FILE_TYPE):
41908         * m4/filemode.m4 (gl_FILEMODE):
41909         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
41910         * m4/fpending.m4 (gl_FUNC_FPENDING):
41911         * m4/fprintftime.m4 (gl_FPRINTFTIME):
41912         * m4/fts.m4 (gl_FUNC_FTS):
41913         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
41914         * m4/getdate.m4 (gl_GETDATE):
41915         * m4/gethrxtime.m4 (gl_GETHRXTIME):
41916         * m4/getpagesize.m4 (gl_GETPAGESIZE):
41917         * m4/getpass.m4 (gl_FUNC_GETPASS):
41918         * m4/gettime.m4 (gl_GETTIME):
41919         * m4/getugroups.m4 (gl_GETUGROUPS):
41920         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
41921         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
41922         * m4/hard-locale.m4 (gl_HARD_LOCALE):
41923         * m4/hash.m4 (gl_HASH):
41924         * m4/idcache.m4 (gl_IDCACHE):
41925         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
41926         * m4/lchown.m4 (gl_FUNC_LCHOWN):
41927         * m4/long-options.m4 (gl_LONG_OPTIONS):
41928         * m4/lstat.m4 (gl_FUNC_LSTAT):
41929         * m4/md5.m4 (gl_MD5):
41930         * m4/memcasecmp.m4 (gl_MEMCASECMP):
41931         * m4/memcoll.m4 (gl_MEMCOLL):
41932         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
41933         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
41934         * m4/memxor.m4 (gl_MEMXOR):
41935         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
41936         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
41937         * m4/modechange.m4 (gl_MODECHANGE):
41938         * m4/mountlist.m4 (gl_MOUNTLIST):
41939         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41940         * m4/openat.m4 (gl_FUNC_OPENAT):
41941         * m4/pathmax.m4 (gl_PATHMAX):
41942         * m4/physmem.m4 (gl_PHYSMEM):
41943         * m4/posixtm.m4 (gl_POSIXTM):
41944         * m4/posixver.m4 (gl_POSIXVER):
41945         * m4/quote.m4 (gl_QUOTE):
41946         * m4/quotearg.m4 (gl_QUOTEARG):
41947         * m4/readtokens.m4 (gl_READTOKENS):
41948         * m4/readutmp.m4 (gl_READUTMP):
41949         * m4/regex.m4 (gl_REGEX):
41950         * m4/safe-read.m4 (gl_SAFE_READ):
41951         * m4/safe-write.m4 (gl_SAFE_WRITE):
41952         * m4/same.m4 (gl_SAME):
41953         * m4/save-cwd.m4 (gl_SAVE_CWD):
41954         * m4/savedir.m4 (gl_SAVEDIR):
41955         * m4/settime.m4 (gl_SETTIME):
41956         * m4/sha1.m4 (gl_SHA1):
41957         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
41958         * m4/stat-macros.m4 (gl_STAT_MACROS):
41959         * m4/stat-time.m4 (gl_STAT_TIME):
41960         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
41961         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
41962         * m4/strdup.m4 (gl_FUNC_STRDUP):
41963         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
41964         * m4/strndup.m4 (gl_FUNC_STRNDUP):
41965         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
41966         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
41967         * m4/time_r.m4 (gl_TIME_R):
41968         * m4/timespec.m4 (gl_TIMESPEC):
41969         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
41970         * m4/unlinkdir.m4 (gl_UNLINKDIR):
41971         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
41972         * m4/userspec.m4 (gl_USERSPEC):
41973         * m4/utimecmp.m4 (gl_UTIMECMP):
41974         * m4/utimens.m4 (gl_UTIMENS):
41975         * m4/xalloc.m4 (gl_XALLOC):
41976         * m4/xgetcwd.m4 (gl_XGETCWD):
41977         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
41978         * m4/xreadlink.m4 (gl_XREADLINK):
41979         * m4/xstrtod.m4 (gl_XSTRTOD):
41980         * m4/yesno.m4 (gl_YESNO):
41981         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
41982         to get the necessary .h files and whatnot.
41983
41984 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
41985             Bruno Haible  <bruno@clisp.org>
41986
41987         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
41988         /bin/sh understanding of '!' conditional negation.
41989
41990 2006-08-21  Jim Meyering  <jim@meyering.net>
41991
41992         * modules/openat (Depends-on): Really alphabetize.
41993
41994         * modules/acl (Depends-on): Add error and quote.
41995
41996         * check-module (find_included_lib_files): Add at-func.c to the
41997         ok-to-include-more-than-once white list.
41998
41999         * modules/openat (Depends-on): Add lstat.  Alphabetize.
42000
42001 2006-08-21  Bruno Haible  <bruno@clisp.org>
42002
42003         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42004         Emit a pkgdata_DATA variable only if some snippets add contents to it.
42005         Reported by Martin Lambers <marlam@marlam.de>.
42006
42007 2006-08-21  Bruno Haible  <bruno@clisp.org>
42008
42009         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
42010         specify an installation location, don't emit a noinst_LIBRARIES or
42011         noinst_LTLIBRARIES assignment.
42012
42013 2006-08-21  Bruno Haible  <bruno@clisp.org>
42014
42015         BeOS portability.
42016         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
42017         BeOS has mbrtowc() but no <wctype.h>.
42018
42019 2006-08-21  Bruno Haible  <bruno@clisp.org>
42020
42021         BeOS portability.
42022         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
42023         exist.
42024
42025 2006-08-21  Bruno Haible  <bruno@clisp.org>
42026
42027         BeOS portability.
42028         * lib/mbchar.h: Include <wctype.h> only if it exists.
42029
42030 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42031
42032         Remove files that are no longer needed by their respective modules.
42033         * m4/obstack.m4: Remove.
42034         * m4/strerror_r.m4: Remove.
42035         * m4/uint32_t.m4: Remove.
42036         * m4/uintptr_t.m4: Remove.
42037         * m4/ullong_max.m4: Remove.
42038         * m4/xstrtoimax.m4: Remove.
42039         * m4/xstrtoumax.m4: Remove.
42040
42041         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
42042         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
42043         dependencies now capture this.
42044
42045         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
42046         Do not use AC_LIBSOURCES, since gnulib modules now do this.
42047         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
42048         * m4/human.m4 (gl_HUMAN): Likewise.
42049         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
42050         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
42051
42052         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
42053
42054         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
42055         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
42056         stdint.
42057         * m4/human.m4 (gl_HUMAN): Likewise.
42058         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
42059         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
42060         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42061         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42062         * m4/xstrtol (gl_XSTRTOL): Likewise.
42063
42064         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
42065         AC_TYPE_LONG_LONG_INT.
42066         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42067         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
42068         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
42069         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42070
42071         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
42072         on stdbool.
42073
42074         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
42075         (gl_PREREQ_XSTRTOUL): Remove.
42076
42077         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
42078
42079         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
42080         mode.
42081
42082 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42083
42084         Add and change modules to make it easier for coreutils to use
42085         gnulib-tool.
42086         * modules/backupfile (Files): Remove m4/d-ino.m4.
42087         (Depends-on): Add d-ino.
42088         * modules/cycle-check (Depends-on): Add stdint.
42089         (lib_SOURCES): Add cycle-check.h.
42090         * modules/d-ino: New module.
42091         * modules/d-type: New module.
42092         * modules/error (Files): Remove m4/strerror_r.m4.
42093         * modules/filemode (Files): Add m4/st_dm_mode.m4.
42094         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
42095         m4/inttypes_h.m4, m4/uintmax_t.m4.
42096         (Depends-on): Add stdint.
42097         (lib_SOURCES): Add fsusage.h.
42098         * modules/getcwd (Files): Remove d-ino.m4.
42099         (Depends-on): Add d-ino.
42100         * modules/getndelim2 (Depends-on): Add stdint.
42101         * modules/glob (Files): Remove m4/d-type.m4.
42102         (Depends-on): Add d-type.
42103         * modules/host-os: New module.
42104         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
42105         m4/inttypes_h.m4, m4/uintmax_t.m4.
42106         * Depends-on: Add stdint.
42107         (lib_SOURCES): Add human.h.
42108         * modules/inttostr (Files): Remove m4/intmax_t.m4,
42109         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
42110         m4/uintmax_t.m4, m4/ulonglong.m4.
42111         (Depends-on): Add stdint.
42112         (EXTRA_DIST): Add inttostr.h.
42113         * modules/lchmod: New module.
42114         * modules/link-follow: New module.
42115         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
42116         (Depends-on): Add lchmod.
42117         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
42118         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
42119         (Depends-on): Add stdint.
42120         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
42121         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
42122         (Depends-on): Add stdint.
42123         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
42124         * modules/perl: New module.
42125         * modules/regex (Depends-on): Add stdint.
42126         * modules/rmdir-errno: New module.
42127         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42128         m4/intmax_t.m4.
42129         (Depends-on): Add stdint.
42130         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42131         m4/uintmax_t.m4.
42132         (Depends-on): Add stdint.
42133         * modules/unlink-busy: New module.
42134         * modules/utimecmp (Depends-on): Add stdint.
42135         * modules/uptime: New module.
42136         * modules/winsz-ioctl: New module.
42137         * modules/winsz-termios: New module.
42138         * modules/xnanosleep (Depends-on): Add nanosleep.
42139         * modules/ullong_max: Remove.
42140         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
42141         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
42142         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
42143         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
42144         (Depends-on): Add inttypes.
42145         (lib_SOURCES): Add xstrtol.h.
42146         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
42147         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
42148         * MODULES.html.sh: Move 'assert' into the assert section.
42149         Move 'dummy' into the linking section.
42150         Remove ullong_max.
42151         Add section for compatibility checks for POSIX:2001 functions,
42152         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
42153         winsz-ioctl, and winsz-termios into it.
42154         Add lchmod.
42155         Add top-level Misc section and put host-os, perl, and uptime
42156         into it.
42157
42158 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42159
42160         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
42161         now assume the stdint module.  Do not include inttypes.h.
42162         * lib/fsusage.h: Likewise.
42163         * lib/getndelim2.c: Likewise.
42164         * lib/human.h: Likewise.
42165         * lib/inttostr.h: Likewise.
42166         * lib/obstack.c: Likewise.
42167         * lib/regex_internal.h: Likewise.
42168         * lib/tempname.c: Likewise.
42169         * lib/utimecmp.c: Likewise.
42170         * lib/xstrtol.h: Likewise.
42171
42172         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
42173
42174         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
42175         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
42176         * lib/xtime.h: Likewise.
42177
42178 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42179
42180         * modules/openat (Files): Add lib/fchmodat.c.
42181         Fixes problem reported by Jay Youngman.
42182
42183 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42184
42185         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
42186         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
42187
42188 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
42189             Bruno Haible  <bruno@clisp.org>
42190
42191         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
42192         and is a script that invokes bison. Tighten the code. Add comments.
42193
42194 2006-08-18  Jim Meyering  <jim@meyering.net>
42195
42196         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
42197         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
42198         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
42199         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
42200
42201 2006-08-18  Bruno Haible  <bruno@clisp.org>
42202
42203         * modules/bison-i18n: New file.
42204         * MODULES.html.sh (Internationalization functions): Add it.
42205
42206 2006-08-18  Bruno Haible  <bruno@clisp.org>
42207
42208         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
42209         sys/statvfs.h. When getmntinfo was found, check its declaration and
42210         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
42211
42212 2006-08-18  Bruno Haible  <bruno@clisp.org>
42213
42214         * m4/bison-i18n.m4: New file, from bison.
42215
42216 2006-08-18  Bruno Haible  <bruno@clisp.org>
42217
42218         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
42219         (ME_DUMMY): Treat "kernfs" as a dummy.
42220         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
42221
42222 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42223
42224         Update from coreutils.
42225
42226         2006-08-15  Jim Meyering  <jim@meyering.net>
42227
42228         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
42229
42230         2006-01-17  Jim Meyering  <jim@meyering.net>
42231
42232         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
42233
42234         2006-01-11  Jim Meyering  <jim@meyering.net>
42235
42236         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
42237         Check for the lchmod function.
42238
42239 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42240
42241         Update from coreutils.
42242
42243         * lib/__fpending.h: Add copyright notice.
42244         * lib/fprintftime.h: Likewise.
42245         * lib/savedir.c: Use (C) in copyright notice.
42246         * lib/savedir.h: Likewise.
42247
42248         2006-08-15  Jim Meyering  <jim@meyering.net>
42249
42250         * lib/at-func.c: New file, with the logic of all emulated at-functions.
42251         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
42252         in support of the EXPECTED_ERRNO macro.
42253         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
42254         definitions.  Instead, define the appropriate symbols and include
42255         "at-func.c".
42256         * lib/mkdirat.c (mkdirat): Likewise.
42257         * lib/fchmodat.c (fchmodat): Likewise.
42258         (ENOSYS): Remove definition.
42259         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
42260         it.  Don't include "unistd--.h" -- it wasn't ever used.
42261
42262         2006-01-17  Jim Meyering  <jim@meyering.net>
42263
42264         Rewrite fts.c not to change the current working directory,
42265         by using openat, fstatat, fdopendir, etc..
42266
42267         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
42268         (HAVE_OPENAT_SUPPORT): Define.
42269         [_LIBC] (fchdir): Don't undef or define; no longer used.
42270         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
42271         Now, this `function' always succeeds, and consumes its file descriptor
42272         parameter -- so callers must not close such FDs.  Update callers.
42273         (diropen_fd, opendirat, cwd_advance_fd): New functions.
42274         (diropen): Add parameter, SP.  Adjust all callers.
42275         Implement using diropen_fd, rather than open.
42276         (fts_open): Initialize new member, fts_cwd_fd.
42277         Remove fts_rft-setting code.
42278         (fts_close): Close fts_cwd_fd, if necessary.
42279         (__opendir2): Define in terms of opendir or opendirat,
42280         depending on whether the FST_NOCHDIR flag is set.
42281         (fts_build): Since fts_safe_changedir consumes its FD, and since
42282         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
42283         and close the dup'd file descriptor upon failure.
42284         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
42285         (fts_safe_changedir): Tweak semantics to reflect that this function
42286         now calls cwd_advance_fd and hence consumes its FD argument.
42287         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
42288         [struct FTS] (fts_rft): Remove now-unused member.
42289         [struct FTS] (fts_cycle.state): Improve comment.
42290
42291         * lib/openat.c (openat_needs_fchdir): New function.
42292         * lib/openat.h (openat_needs_fchdir): Declare it.
42293
42294 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42295
42296         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
42297         Problem and fix reported by Pádraig Brady in
42298         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
42299
42300 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42301
42302         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
42303
42304 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42305
42306         * lib/memcoll.c (memcoll): Optimize for the common case where the
42307         arguments are bytewise equal.
42308
42309 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42310
42311         * doc/regexprops-generic.texi: Add a copyright notice.
42312
42313 2006-08-15  Bruno Haible  <bruno@clisp.org>
42314
42315         * modules/tmpdir (License): Change to LGPL.
42316
42317 2006-08-15  Bruno Haible  <bruno@clisp.org>
42318
42319         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
42320         module.
42321
42322 2006-08-14  Simon Josefsson  <jas@extundo.com>
42323
42324         * config/srclist.txt: Add gnupload.
42325
42326 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42327
42328         Change copyright notice from LGPL 2 to GPL 2, since that's the
42329         standard form used in the gnulib repository.
42330         * tests/test-lock.c: Likewise.
42331         * tests/test-stdint.c: Likewise.
42332         * tests/test-tls.c: Likewise.
42333
42334         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
42335         prelude-manager.  User shorter URLs for GNU projects, without '?'.
42336         Add copyright notice.
42337
42338         * check-module: Add copyright notice.  Output a copyright
42339         notice if "--version" is specified.
42340         * modules/COPYING: New file.
42341         * tests/test-getaddrinfo.c: Add copyright notice.
42342         * tests/test-verify.c: Likewise.
42343
42344 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42345
42346         Change copyright notice from LGPL 2 to GPL 2, since that's the
42347         standard form used in the gnulib repository.
42348         * lib/lock.c: LGPL -> GPL.
42349         * lib/lock.h: Likewise.
42350         * lib/strnlen1.c: Likewise.
42351         * lib/strnlen1.h: Likewise.
42352         * lib/tls.c: Likewise.
42353         * lib/tls.h: Likewise.
42354         * lib/tmpdir.c: Likewise.
42355
42356         * lib/TODO: Remove; this belongs only in coreutils.
42357
42358 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42359
42360         Add copyright notices to long-enough files that lack them, since
42361         otherwise the files aren't clearly free.  Use the same notice that
42362         getdate.texi already uses.
42363         * doc/alloca-opt.texi: Add copyright notice.
42364         * doc/alloca.texi: Likewise.
42365         * doc/ctime.texi: Likewise.
42366         * doc/functions.texi: Likewise.
42367         * doc/gcd.texi: Likewise.
42368         * doc/gnulib-tool.texi: Likewise.
42369         * doc/inet_ntoa.texi: Likewise.
42370         * doc/visibility.texi: Likewise.
42371
42372         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
42373         * doc/quote.texi: Add copyright notice.
42374
42375         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
42376         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
42377         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
42378         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
42379         is now obsolete, and give a pointer to the Sun list.
42380         Add copyright notice.
42381
42382 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42383
42384         * config/srclistvars.sh: Add copyright notice.
42385
42386 2006-08-14  Eric Blake  <ebb9@byu.net>
42387
42388         Import the following change from libc:
42389
42390         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
42391
42392         Upstream bug 2997.
42393         * lib/misc/error.c: Add space between program name and message if file
42394         name is missing.
42395
42396 2006-08-12  Karl Berry  <karl@gnu.org>
42397
42398         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
42399         remove, these originate in gnulib now.
42400
42401 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42402
42403         * doc/Makefile (standards.info standards.html standards.dvi):
42404         Also depend on make-stds.texi.
42405
42406 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42407
42408         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
42409         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
42410
42411         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
42412         in wchar_t.  Problem reported by Eric Blake.
42413
42414         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
42415         LEN is smaller than SIZE.  Suggested by Bruno Haible.
42416         Also, help the compiler to keep LEN in a register.
42417
42418 2006-08-11  Eric Blake  <ebb9@byu.net>
42419
42420         * users.txt: Sort.  Add tar.
42421
42422 2006-08-11  Bruno Haible  <bruno@clisp.org>
42423
42424         * users.txt: New file.
42425
42426 2006-08-11  Bruno Haible  <bruno@clisp.org>
42427
42428         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
42429         before <wchar.h>. Needed for OSF/1 and BSD/OS.
42430
42431 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42432
42433         * modules/snprintf (Depends-on): Remove minmax.
42434         (Maintainer): Add self and Bruno.
42435
42436 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42437
42438         * lib/.cppi-disable: Add snprintf.h, socket_.h.
42439         * lib/snprintf.c: Include <errno.h> and <limits.h>.
42440         (EOVERFLOW): Define if the system does not.
42441         Do not include "minmax.h"; it wasn't used.
42442         (snprintf): Don't assume size_t promotes to an unsigned type.
42443         Fix bug when generated string was too long for the buffer: the
42444         buffer's contents are supposed to be the initial prefix of the
42445         output.  Don't assume vasnprintf returns EOVERFLOW if the size
42446         exceeds INT_MAX; do the check ourselves.
42447
42448         Import the following changes from libc:
42449
42450         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
42451
42452         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
42453         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
42454         set wc to the byte which couldn't be converted.
42455         (re_string_reconstruct): Don't clear valid_raw_len before calling
42456         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
42457         tip_context using re_string_context_at.
42458
42459         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
42460
42461         * lib/posix/regex.h: g++ still cannot handled [restrict].
42462
42463         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
42464
42465         * lib/posix/regex.h: Remove special handling for VMS.
42466
42467 2006-08-10  Jim Meyering  <jim@meyering.net>
42468
42469         * modules/same-inode: New module.
42470         * modules/dev-ino: New module.
42471         * modules/cycle-check: Depend on these modules, rather than simply
42472         including their .h files.
42473         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
42474         required via m4/cycle-check.m4.
42475         * modules/same: Depend on new same-inode module, rather than
42476         including same-inode.h.
42477         * modules/chdir-safer: New file.
42478
42479         * modules/chown (Depends-on): Add stat-macros.
42480
42481 2006-08-10  Jim Meyering  <jim@meyering.net>
42482
42483         * m4/cycle-check.m4: New file.
42484         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
42485         * m4/dev-ino.m4, m4/same-inode.m4: New files.
42486
42487 2006-08-10  Eric Blake  <ebb9@byu.net>
42488
42489         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
42490         in from original proposal.
42491
42492 2006-08-10  Eric Blake  <ebb9@byu.net>
42493         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
42494
42495         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
42496         namespace.
42497
42498 2006-08-10  Bruno Haible  <bruno@clisp.org>
42499
42500         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
42501         as well.
42502
42503 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42504
42505         Sync from coreutils.
42506
42507         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
42508
42509         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
42510         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
42511
42512 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42513
42514         * modules/restrict: Remove; no longer needed now that we assume
42515         Autoconf 2.59 or later.
42516         * MODULES.html.sh: Remove 'restrict'.
42517         * modules/argp (Depends-on): Remove 'restrict'.
42518         * modules/base64 (Depends-on): Likewise.
42519         * modules/gc (Depends-on): Likewise.
42520         * modules/getaddrinfo (Depends-on): Likewise.
42521         * modules/glob (Depends-on): Likewise.
42522         * modules/inet_ntop (Depends-on): Likewise.
42523         * modules/inet_pton (Depends-on): Likewise.
42524         * modules/memxor (Depends-on): Likewise.
42525         * modules/regex (Depends-on): Likewise.
42526         * modules/strtok_r (Depends-on): Likewise.
42527         * modules/time_r (Depends-on): Likewise.
42528
42529 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
42530
42531         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
42532         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
42533         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42534         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
42535         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
42536         * m4/memxor.m4 (gl_MEMXOR): Likewise.
42537         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
42538         gl_C_RESTRICT replaced by AC_C_RESTRICT.
42539
42540         Merge from coreutils.
42541         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
42542         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
42543         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42544         * m4/time_r.m4 (gl_TIME_R): Likewise.
42545
42546 2006-08-09  Karl Berry  <karl@gnu.org>
42547
42548         * config/srclist.txt: no more gettext-tools, per Bruno.
42549
42550 2006-08-08  Eric Blake  <ebb9@byu.net>
42551
42552         * modules/verror: New module.
42553         * MODULES.html.sh: Document it.
42554
42555 2006-08-08  Eric Blake  <ebb9@byu.net>
42556
42557         * lib/verror.h, lib/verror.c: New files.
42558
42559 2006-08-08  Eric Blake  <ebb9@byu.net>
42560
42561         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
42562         verror_at_line output complies with GNU Coding Standards even when
42563         file is NULL.
42564
42565 2006-08-07  Bruno Haible  <bruno@clisp.org>
42566
42567         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
42568         versions of AIX.
42569         Reported by Ralf Wildenhues.
42570
42571 2006-08-07  Bruno Haible  <bruno@clisp.org>
42572
42573         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
42574         in an AC_DEFUN. Needed so that the autoconf snippets can use
42575         AC_REQUIRE.
42576
42577 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42578
42579         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42580         Initialize pkgdata_DATA.
42581         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
42582         overriding it.
42583
42584 2006-08-06  Eric Blake  <ebb9@byu.net>
42585
42586         * lib/error.h: Fold in some upstream changes from glibc.
42587         * lib/error.c: Likewise.
42588
42589 2006-08-04  Bruno Haible  <bruno@clisp.org>
42590
42591         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42592         Make the mostlyclean-local rule depend on mostlyclean-generic.
42593         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
42594
42595 2006-07-31  Bruno Haible  <bruno@clisp.org>
42596
42597         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
42598         <stdlib.h>, <string.h>.
42599
42600 2006-07-30  Bruno Haible  <bruno@clisp.org>
42601
42602         * modules/readlink (License): Change to LGPL.
42603
42604 2006-07-30  Bruno Haible  <bruno@clisp.org>
42605
42606         * modules/javaversion (Makefile.am): Distribute javaversion.java and
42607         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
42608         set PKGDATADIR to point to it.
42609
42610 2006-07-30  Bruno Haible  <bruno@clisp.org>
42611
42612         * modules/csharpexec (configure.ac): Comment out macro invocation.
42613         * modules/javaexec (configure.ac): Likewise.
42614         * modules/javacomp-script (configure.ac): Likewise.
42615
42616         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
42617
42618 2006-07-30  Bruno Haible  <bruno@clisp.org>
42619
42620         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
42621         linked-list.
42622
42623 2006-07-30  Bruno Haible  <bruno@clisp.org>
42624
42625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
42626
42627 2006-07-30  Bruno Haible  <bruno@clisp.org>
42628
42629         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42630         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
42631         get removed.
42632
42633 2006-07-29  Bruno Haible  <bruno@clisp.org>
42634
42635         Make it possible for gnulib-tool to work with locally modified or
42636         augmented gnulib repositories.
42637         * gnulib-tool (func_usage): Document --local-dir option.
42638         (local_gnulib_dir): New variable.
42639         Handle --local-dir option.
42640         (func_lookup_file): New function.
42641         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
42642         (func_get_description, func_get_filelist, func_get_description,
42643         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
42644         func_get_automake_snippet, func_get_include_directive,
42645         func_get_license, func_get_maintainer): Use func_lookup_file.
42646         (func_import, func_create_testdir): Use func_lookup_file.
42647
42648 2006-07-29  Bruno Haible  <bruno@clisp.org>
42649
42650         * modules/setenv (Depends-on): Add unistd.
42651
42652 2006-07-29  Bruno Haible  <bruno@clisp.org>
42653
42654         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
42655
42656 2006-07-29  Bruno Haible  <bruno@clisp.org>
42657
42658         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
42659
42660 2006-07-29  Bruno Haible  <bruno@clisp.org>
42661
42662         * gnulib-tool (import, update): If there is no Makefile.am, look at
42663         aclocal.m4, instead of bailing out.
42664
42665 2006-07-29  Bruno Haible  <bruno@clisp.org>
42666
42667         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
42668         Categorize the options by when they are useful.
42669
42670 2006-07-29  Bruno Haible  <bruno@clisp.org>
42671
42672         * gnulib-tool (func_usage): Document option --no-libtool.
42673         Handle option --no-libtool.
42674         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
42675         for changed semantics of $libtool variable.
42676         (func_import): Likewise. If libtool is not used, show this through
42677         an option --no-libtool.
42678         (func_create_testdir): Update.
42679
42680 2006-07-29  Bruno Haible  <bruno@clisp.org>
42681
42682         * gnulib-tool (func_import): Extend error message about missing
42683         --doc-base.
42684
42685 2006-07-29  Bruno Haible  <bruno@clisp.org>
42686
42687         * gnulib-tool (func_import): Don't create the $docbase directory if
42688         there is no file to store there.
42689
42690 2006-07-29  Bruno Haible  <bruno@clisp.org>
42691
42692         * gnulib-tool (autoconf_minversion): If a --dir option is given and
42693         relevant, look for configure.ac there, not in the current directory.
42694         Also use a simple search for AC_PREREQ, not "autoconf --trace".
42695
42696 2006-07-29  Bruno Haible  <bruno@clisp.org>
42697
42698         * gnulib-tool (SORT): New variable.
42699         (func_usage): Undocument --assume-autoconf option.
42700         Remove --assume-autoconf option handling.
42701         (autoconf_minversion): Determine from the contents of configure.ac.
42702         (func_import): Remove autoconf_minversion handling.
42703         Suggested by Eric Blake.
42704
42705 2006-07-29  Bruno Haible  <bruno@clisp.org>
42706
42707         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
42708
42709 2006-07-29  Bruno Haible  <bruno@clisp.org>
42710
42711         * config/srclist.txt (*setenv.[ch]): Remove rules.
42712
42713 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42714
42715         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
42716
42717 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42718
42719         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
42720         arpa/inet.h.
42721
42722 2006-07-28  Simon Josefsson  <jas@extundo.com>
42723
42724         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
42725         * modules/inet_pton (Depends-on): Likewise.
42726
42727 2006-07-28  Simon Josefsson  <jas@extundo.com>
42728
42729         * m4/netinet_in_h.m4: New file.
42730
42731 2006-07-28  Simon Josefsson  <jas@extundo.com>
42732
42733         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
42734         #include's.
42735
42736 2006-07-28  Simon Josefsson  <jas@extundo.com>
42737
42738         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
42739         #include's.
42740
42741 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
42742
42743         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
42744         setgid on directories only if they set these bits.
42745         * lib/modechange.h: Remove obsolete comment about masks.
42746
42747 2006-07-28  Eric Blake  <ebb9@byu.net>
42748
42749         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
42750         macro expansion.
42751
42752 2006-07-28  Bruno Haible  <bruno@clisp.org>
42753
42754         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
42755
42756 2006-07-28  Bruno Haible  <bruno@clisp.org>
42757
42758         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
42759
42760 2006-07-28  Bruno Haible  <bruno@clisp.org>
42761
42762         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42763         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
42764         Define fallbacks.
42765         Avoids link error on FreeBSD 4.x.
42766         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42767
42768         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
42769         encoding.
42770         * lib/mbswidth.c (iswcntrl): Likewise.
42771
42772 2006-07-27  Bruno Haible  <bruno@clisp.org>
42773
42774         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
42775         test.
42776
42777 2006-07-27  Bruno Haible  <bruno@clisp.org>
42778
42779         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
42780         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
42781         defined.
42782
42783 2006-07-26  Eric Blake  <ebb9@byu.net>
42784
42785         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
42786
42787 2006-07-26  Eric Blake  <ebb9@byu.net>
42788
42789         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
42790         like mingw that lack mkstemp.
42791         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
42792         avoid compilation warning on mingw.
42793
42794 2006-07-26  Bruno Haible  <bruno@clisp.org>
42795
42796         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
42797         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
42798         INT_FAST*_MIN, INTPTR_MIN.
42799
42800 2006-07-25  Bruno Haible  <bruno@clisp.org>
42801
42802         * modules/version-etc (Depends-on): Add stdarg.
42803
42804 2006-07-25  Bruno Haible  <bruno@clisp.org>
42805
42806         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
42807         complex commands.
42808
42809 2006-07-25  Bruno Haible  <bruno@clisp.org>
42810
42811         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
42812         defined in <stdarg.h> or config.h.
42813
42814 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
42815
42816         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
42817         (gl_STDIO_SAFER): Remove.
42818
42819 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
42820
42821         * MODULES.html.sh (File stream based Input/Output):
42822         Add fopen-safer, tmpfile-safer; remove stdio-safer.
42823         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
42824         * modules/fopen-safer, modules/tmpfile-safer: New files.
42825         * modules/stdio-safer: Remove.
42826
42827 2006-07-24  Bruno Haible  <bruno@clisp.org>
42828
42829         * modules/tmpdir: New file.
42830         * MODULES.html.sh (File system functions): Add it.
42831
42832 2006-07-24  Bruno Haible  <bruno@clisp.org>
42833
42834         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
42835         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
42836
42837 2006-07-24  Bruno Haible  <bruno@clisp.org>
42838
42839         * modules/clean-temp: New file.
42840
42841 2006-07-24  Bruno Haible  <bruno@clisp.org>
42842
42843         * m4/tmpdir.m4: New file, from GNU gettext.
42844
42845 2006-07-24  Bruno Haible  <bruno@clisp.org>
42846
42847         * lib/tmpdir.h: New file, from GNU gettext.
42848         * lib/tmpdir.c: New file, from GNU gettext.
42849
42850 2006-07-24  Bruno Haible  <bruno@clisp.org>
42851
42852         * lib/clean-temp.h: New file, from GNU gettext.
42853         * lib/clean-temp.c: New file, from GNU gettext.
42854
42855 2006-07-23  Eric Blake  <ebb9@byu.net>
42856
42857         * modules/stdio-safer (Files): Add tmpfile-safer.c.
42858         (Depends-on): Add binary-io.
42859
42860 2006-07-23  Eric Blake  <ebb9@byu.net>
42861
42862         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
42863
42864 2006-07-23  Eric Blake  <ebb9@byu.net>
42865
42866         * lib/tmpfile-safer.c: New file.
42867         * lib/stdio-safer.h (fopen_safer): Add prototype.
42868         * lib/stdio--.h (tmpfile): Make safer.
42869
42870 2006-07-23  Bruno Haible  <bruno@clisp.org>
42871
42872         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
42873         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
42874         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
42875         gl_linked_remove_at): Use it.
42876
42877 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42878         and Simon Josefsson <jas@extundo.com>
42879
42880         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
42881
42882         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
42883
42884 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42885
42886         * modules/close-stream: New file.
42887         * modules/closeout (Description): Make it clear that it exits
42888         with a diagnostic on error.
42889         (Depends-on): Add close-stream.  Remove fpending, stdbool.
42890         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
42891
42892 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42893
42894         * m4/close-stream.m4: New file.
42895
42896 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
42897
42898         * lib/close-stream.c, lib/close-stream.h: New files.
42899
42900 2006-07-22  Bruno Haible  <bruno@clisp.org>
42901
42902         Merge from GNU gettext 0.15.
42903
42904         2006-05-01  Bruno Haible  <bruno@clisp.org>
42905
42906                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
42907
42908         2006-07-22  Bruno Haible  <bruno@clisp.org>
42909
42910                 * modules/javaversion: New file.
42911                 * MODULES.html.sh (Java): Add javaversion.
42912
42913         2006-03-12  Bruno Haible  <bruno@clisp.org>
42914
42915                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
42916
42917         2005-12-04  Bruno Haible  <bruno@clisp.org>
42918
42919                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
42920                 (untested).
42921
42922         2006-06-21  Bruno Haible  <bruno@clisp.org>
42923
42924                 Avoid warnings from recent versions of mcs.
42925                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
42926                 -o, -L, -r any more. Use options documented since mcs-1.0
42927                 instead. Similarly for -g.
42928
42929         2005-12-04  Bruno Haible  <bruno@clisp.org>
42930
42931                 * build-aux/csharpcomp.sh.in: Suffix for resources is
42932                 .resources, not .resource.
42933
42934         2005-07-09  Bruno Haible  <bruno@clisp.org>
42935
42936                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
42937                 add a .dll suffix.
42938                 Reported by Mark Junker <mjscod@gmx.de>.
42939
42940         2006-07-22  Bruno Haible  <bruno@clisp.org>
42941
42942                 * modules/gettext: Upgrade to gettext-0.15.
42943                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
42944                 m4/visibility.m4.
42945                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
42946
42947 2006-07-22  Bruno Haible  <bruno@clisp.org>
42948
42949         Merge from GNU gettext 0.15.
42950
42951         2006-03-25  Bruno Haible  <bruno@clisp.org>
42952
42953                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
42954
42955         2006-07-21  Bruno Haible  <bruno@clisp.org>
42956
42957                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
42958                 "1.1".
42959
42960         2006-05-09  Bruno Haible  <bruno@clisp.org>
42961
42962                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
42963                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
42964                 for the conftestver execution.
42965
42966         2006-05-01  Bruno Haible  <bruno@clisp.org>
42967
42968                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
42969                 optional target-version argument. Verify that the compiler
42970                 groks source of the specified source-version, or add -source
42971                 option as necessary. Verify that the compiler produces
42972                 bytecode in the specified target-version, or add -target and
42973                 -source options as necessary. Make the result of the test
42974                 available as variable CONF_JAVAC. Also log error output in
42975                 config.log.
42976
42977         2006-03-11  Bruno Haible  <bruno@clisp.org>
42978
42979                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
42980
42981         2006-05-09  Bruno Haible  <bruno@clisp.org>
42982
42983                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
42984                 CLASSPATH_SEPARATOR to a semicolon.
42985
42986         2006-03-12  Bruno Haible  <bruno@clisp.org>
42987
42988                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
42989                 available as variable CONF_JAVA, for subsequent autoconf
42990                 tests. Also log error output in config.log.
42991
42992         2006-07-19  Bruno Haible  <bruno@clisp.org>
42993
42994                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
42995                 that getline works on glibc2 systems. Needed to avoid trouble
42996                 in relocatable.c.
42997                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
42998
42999         2005-12-04  Bruno Haible  <bruno@clisp.org>
43000
43001                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
43002                 launcher (untested).
43003
43004         2005-12-04  Bruno Haible  <bruno@clisp.org>
43005
43006                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
43007
43008         2006-07-22  Bruno Haible  <bruno@clisp.org>
43009
43010                 * gettext.m4: Update from GNU gettext-0.15.
43011                 * nls.m4: Likewise.
43012                 * po.m4: Likewise.
43013                 * inttypes-pri.m4: Likewise.
43014                 * inttypes-h.m4: Renamed from inttypes.m4.
43015                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
43016
43017 2006-07-22  Bruno Haible  <bruno@clisp.org>
43018
43019         Merge from GNU gettext 0.15.
43020
43021         2005-07-05  Bruno Haible  <bruno@clisp.org>
43022
43023                 * printf-args.c (printf_fetchargs): Work around broken
43024                 definition of wint_t on mingw.
43025
43026         2005-02-12  Bruno Haible  <bruno@clisp.org>
43027
43028                 * xallocsa.h: Add extern "C" for C++.
43029
43030         2006-05-17  Bruno Haible  <bruno@clisp.org>
43031
43032                 Cygwin portability.
43033                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
43034
43035         2006-04-30  Bruno Haible  <bruno@clisp.org>
43036
43037                 * progreloc.c: Include <mach-o/dyld.h> if available.
43038                 (find_executable): Use _NSGetExecutablePath when possible.
43039
43040         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43041
43042                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
43043                 function.
43044
43045         2005-12-29  Bruno Haible  <bruno@clisp.org>
43046
43047                 * progreloc.c (set_program_name_and_installdir): Fix
43048                 compilation error.
43049
43050         2005-12-04  Bruno Haible  <bruno@clisp.org>
43051
43052                 Cygwin portability.
43053                 * progreloc.c: Include <windows.h> also on Cygwin.
43054                 (find_executable): Add support for Cygwin.
43055                 (set_program_name_and_installdir): Handle also platforms with
43056                 nonempty EXEEXT.
43057
43058         2006-07-11  Bruno Haible  <bruno@clisp.org>
43059
43060                 * javacomp.c: Fix a comment.
43061                 Reported by Jim Meyering.
43062
43063         2006-04-30  Bruno Haible  <bruno@clisp.org>
43064
43065                 * javacomp.h (compile_java_class): Add source_version,
43066                 target_version arguments.
43067                 * javacomp.c: Rewritten to choose only a compiler that
43068                 respects the specified source_version and target_version.
43069
43070         2006-06-27  Bruno Haible  <bruno@clisp.org>
43071
43072                 Assume correct S_ISDIR macro.
43073                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
43074
43075         2006-07-22  Bruno Haible  <bruno@clisp.org>
43076
43077                 * javaversion.h: New file, from GNU gettext.
43078                 * javaversion.c: New file, from GNU gettext.
43079                 * javaversion.java: New file, from GNU gettext.
43080                 * javaversion.class: New file, from GNU gettext.
43081
43082         2006-05-17  Bruno Haible  <bruno@clisp.org>
43083
43084                 Cygwin portability.
43085                 * javaexec.c (execute_java_class): Test for jview program
43086                 also on Cygwin.
43087
43088         2006-04-09  Bruno Haible  <bruno@clisp.org>
43089
43090                 * fatal-signal.c: Don't include string.h.
43091                 (at_fatal_signal): Use a copying loop instead of memcpy.
43092
43093         2005-12-04  Bruno Haible  <bruno@clisp.org>
43094
43095                 * csharpexec.c: Add support for 'clix' launcher (untested).
43096                 (execute_csharp_using_sscli): New function.
43097                 (execute_csharp_program): Call it.
43098
43099         2006-06-21  Bruno Haible  <bruno@clisp.org>
43100
43101                 Avoid warnings from recent versions of mcs.
43102                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
43103                 -o, -L, -r any more. Use options documented since mcs-1.0
43104                 instead. Similarly for -g.
43105
43106         2005-07-09  Bruno Haible  <bruno@clisp.org>
43107
43108                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
43109                 add a .dll suffix.
43110                 Reported by Mark Junker <mjscod@gmx.de>.
43111
43112         2006-06-17  Bruno Haible  <bruno@clisp.org>
43113
43114                 * config.charset: Update for NetBSD 3.0.
43115
43116         2006-05-17  Bruno Haible  <bruno@clisp.org>
43117
43118                 Cygwin portability.
43119                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
43120
43121         2006-05-16  Bruno Haible  <bruno@clisp.org>
43122
43123                 * localcharset.c [CYGWIN]: Include <windows.h>.
43124                 (get_charset_aliases): For Cygwin, return the same CPxxx
43125                 aliases list as under WIN32.
43126                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
43127                 the environment variables. Fall back to GetACP().
43128
43129         2006-04-05  Bruno Haible  <bruno@clisp.org>
43130
43131                 * config.charset: Update Juan Manuel Guerrero's address.
43132
43133         2005-02-12  Bruno Haible  <bruno@clisp.org>
43134
43135                 * allocsa.h: Add extern "C" for C++.
43136
43137         2005-02-10  Bruno Haible  <bruno@clisp.org>
43138
43139                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
43140                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
43141
43142         2006-07-22  Bruno Haible  <bruno@clisp.org>
43143
43144                 * gettext.h: Update to GNU gettext-0.15.
43145
43146 2006-07-22  Bruno Haible  <bruno@clisp.org>
43147
43148         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
43149         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
43150         lib-prefix.m4, longdouble.m4, ssize_t.m4.
43151
43152 2006-07-21  Eric Blake  <ebb9@byu.net>
43153
43154         * modules/stdlib-safer: New file.
43155         * MODULES.html.sh (File stream based Input/Output): Add
43156         stdlib-safer.
43157
43158 2006-07-21  Eric Blake  <ebb9@byu.net>
43159
43160         * lib/stdlib-safer.h: New file from coreutils, required by
43161         stdlib--.h.
43162
43163 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
43164
43165         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
43166
43167 2006-07-20  Bruno Haible  <bruno@clisp.org>
43168
43169         * gnulib-tool: Recognize new option --assume-autoconf.
43170         (autoconf_minversion): New variable.
43171         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
43172
43173 2006-07-20  Bruno Haible  <bruno@clisp.org>
43174
43175         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
43176
43177 2006-07-19  Derek R. Price  <derek@ximbiot.com>
43178
43179         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
43180         Reindent and repaginate.
43181
43182 2006-07-19  Derek Price  <derek@ximbiot.com>
43183
43184         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
43185         Correct grammar.
43186
43187 2006-07-17  Bruno Haible  <bruno@clisp.org>
43188
43189         * modules/list: New file.
43190         * modules/array-list: New file.
43191         * modules/carray-list, modules/carray-list-tests: New files.
43192         * modules/linked-list, modules/linked-list-tests: New files.
43193         * modules/avltree-list, modules/avltree-list-tests: New files.
43194         * modules/rbtree-list, modules/rbtree-list-tests: New files.
43195         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
43196         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
43197         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
43198         * modules/oset: New file.
43199         * modules/array-oset: New file.
43200         * modules/avltree-oset, modules/avltree-oset-tests: New files.
43201         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
43202         * tests/test-carray_list.c: New file.
43203         * tests/test-linked_list.c: New file.
43204         * tests/test-avltree_list.c: New file.
43205         * tests/test-rbtree_list.c: New file.
43206         * tests/test-linkedhash_list.c: New file.
43207         * tests/test-avltreehash_list.c: New file.
43208         * tests/test-rbtreehash_list.c: New file.
43209         * tests/test-avltree_oset.c: New file.
43210         * tests/test-rbtree_oset.c: New file.
43211         * MODULES.html.sh (Container data structures): New section.
43212
43213 2006-07-17  Bruno Haible  <bruno@clisp.org>
43214
43215         * m4/gl_list.m4: New file.
43216
43217 2006-07-17  Bruno Haible  <bruno@clisp.org>
43218
43219         * lib/gl_list.h: New file.
43220         * lib/gl_list.c: New file.
43221         * lib/gl_array_list.h: New file.
43222         * lib/gl_array_list.c: New file.
43223         * lib/gl_carray_list.h: New file.
43224         * lib/gl_carray_list.c: New file.
43225         * lib/gl_linked_list.h: New file.
43226         * lib/gl_linked_list.c: New file.
43227         * lib/gl_anylinked_list1.h: New file.
43228         * lib/gl_anylinked_list2.h: New file.
43229         * lib/gl_avltree_list.h: New file.
43230         * lib/gl_avltree_list.c: New file.
43231         * lib/gl_anyavltree_list1.h: New file.
43232         * lib/gl_anyavltree_list2.h: New file.
43233         * lib/gl_rbtree_list.h: New file.
43234         * lib/gl_rbtree_list.c: New file.
43235         * lib/gl_anyrbtree_list1.h: New file.
43236         * lib/gl_anyrbtree_list2.h: New file.
43237         * lib/gl_anytree_list1.h: New file.
43238         * lib/gl_anytree_list2.h: New file.
43239         * lib/gl_linkedhash_list.h: New file.
43240         * lib/gl_linkedhash_list.c: New file.
43241         * lib/gl_anyhash_list1.h: New file.
43242         * lib/gl_anyhash_list2.h: New file.
43243         * lib/gl_avltreehash_list.h: New file.
43244         * lib/gl_avltreehash_list.c: New file.
43245         * lib/gl_rbtreehash_list.h: New file.
43246         * lib/gl_rbtreehash_list.c: New file.
43247         * lib/gl_anytreehash_list1.h: New file.
43248         * lib/gl_anytreehash_list2.h: New file.
43249
43250         * lib/gl_oset.h: New file.
43251         * lib/gl_oset.c: New file.
43252         * lib/gl_array_oset.h: New file.
43253         * lib/gl_array_oset.c: New file.
43254         * lib/gl_avltree_oset.h: New file.
43255         * lib/gl_avltree_oset.c: New file.
43256         * lib/gl_rbtree_oset.h: New file.
43257         * lib/gl_rbtree_oset.c: New file.
43258         * lib/gl_anytree_oset.h: New file.
43259
43260 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43261
43262         * m4/mkancesdirs.m4: New file.
43263         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
43264         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
43265         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
43266         it.
43267
43268 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43269
43270         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
43271         * lib/mkancesdirs.h: New files.
43272         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
43273         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
43274         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
43275         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
43276         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
43277         callers changed.  Revamp internals significantly, by not
43278         attempting to create directories that are temporarily more
43279         permissive than the final results.  Do not attempt to use
43280         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
43281         This removes some race conditions, fixes some bugs, and simplifies
43282         things.  Use new dirchownmod function to do owner and mode changes.
43283         * lib/mkdir-p.h: Likewise.
43284         * lib/modechange.c (octal_to_mode): New function.
43285         (struct mode_change): New member mentioned.
43286         (make_node_op_equals): New arg mentioned.  All callers changed.
43287         (mode_compile): Keep track of which mode bits the user has explicitly
43288         mentioned.
43289         (mode_adjust): New arg DIR, so that we implement the X op correctly.
43290         New arg PMODE_BITS, to keep track of which mode bits the user
43291         mentioned; it treats S_ISUID and S_ISGID speciall.
43292         All callers changed.
43293         * lib/modechange.h: Likewise.
43294
43295 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43296
43297         * MODULES.html.sh: Add mkancestors.
43298         * modules/mkancesdirs: New module.
43299         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
43300         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
43301         The chdir-safer and afs files are now orphans; I'll remove them
43302         unless someone speaks up.
43303         Add lib/dirchownmod.c, lib/dirchownmod.h.
43304         (Depends-on): Remove alloca, chown, save-cwd, dirname.
43305         Add lchown, mkancesdirs.
43306         (Maintainer): Add self.
43307
43308 2006-07-15  Karl Berry  <karl@gnu.org>
43309
43310         * gnulib-tool: help message wording/arrangement.
43311
43312 2006-07-14  Simon Josefsson  <jas@extundo.com>
43313
43314         * doc/gnulib.texi (Libtool and Windows): New section.
43315
43316 2006-07-12  Simon Josefsson  <jas@extundo.com>
43317
43318         * modules/gendocs (License): Fix license, approved by Karl.
43319
43320 2006-07-12  Eric Blake  <ebb9@byu.net>
43321
43322         * MODULES.html.sh: Add gendocs.
43323
43324 2006-07-11  Eric Blake  <ebb9@byu.net>
43325
43326         * modules/fdl: New module, to install doc/fdl.texi.
43327         * MODULES.html.sh: Add new section for documentation modules.
43328         * gnulib-tool: Avoid space-tab.
43329         (--doc-base): New option, to manage files from doc.
43330
43331 2006-07-11  Eric Blake  <ebb9@byu.net>
43332
43333         * m4/absolute-header.m4: Fix comments to match recent change.
43334
43335 2006-07-11  Eric Blake  <ebb9@byu.net>
43336
43337         * gnulib-tool: List --doc-base before --tests-base.
43338
43339 2006-07-11  Derek R. Price  <derek@ximbiot.com>
43340
43341         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
43342
43343 2006-07-11  Bruno Haible  <bruno@clisp.org>
43344
43345         * README: Mention where to put documentation.
43346
43347 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43348
43349         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
43350
43351 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43352
43353         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
43354         to stdint.m4.
43355
43356 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43357
43358         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
43359         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
43360         "no/such/file/stdint.h" when there is no such file, so that
43361         the resulting C code can be parsed by dodgy compilers.
43362         Problems reported by Bob Proulx.
43363
43364 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43365
43366         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
43367         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43368         macros into the GNU _D_EXACT_NAMLEN.
43369         * lib/savedir.c:  Likewise.
43370         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
43371
43372 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43373         and Paul Eggert  <eggert@cs.ucla.edu>
43374
43375         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
43376         * m4/savedir.m4:
43377         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43378         macros into the GNU _D_EXACT_NAMLEN.
43379
43380 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43381
43382         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
43383         around the absolute name, to work around a problem with the HP-UX
43384         11.23 native C compiler, reported by Bob Proulx.
43385
43386 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43387
43388         * doc/maintain.texi, make-stds.texi: Sync from
43389         <http://savannah.gnu.org/projects/gnustandards>.
43390
43391 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43392
43393         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
43394
43395 2006-07-09  Jim Meyering  <jim@meyering.net>
43396
43397         * m4/glob.m4: Remove a doubled word in a comment.
43398
43399 2006-07-09  Jim Meyering  <jim@meyering.net>
43400
43401         * lib/argp-pv.c: Remove a doubled word in a comment.
43402         * lib/check-version.c (check_version): Likewise.
43403         * lib/javacomp.c (compile_java_class): Likewise.
43404
43405 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43406
43407         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
43408         for the benefit of people using Autoconf 2.60.  If you want to
43409         support older Autoconf versions you can copy m4/onceonly_2_57.m4
43410         (or m4/onceonly.m4, if pre-2.57) manually.
43411
43412 2006-07-08  Jim Meyering  <jim@meyering.net>
43413
43414         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
43415         comment.
43416         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
43417         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
43418         comment.
43419
43420 2006-07-08  Jim Meyering  <jim@meyering.net>
43421
43422         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
43423
43424 2006-07-07  Simon Josefsson  <jas@extundo.com>
43425
43426         * tests/test-crc.c: Change expected crc value, the test vector
43427         were probably computed using the old broken crc.c?
43428
43429 2006-07-06  Simon Josefsson  <jas@extundo.com>
43430
43431         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
43432         now the canonical place for the M4 file).
43433
43434         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
43435         from the sys_socket dependency now.
43436
43437         * modules/inet_pton (Files): Ditto.
43438
43439         * modules/inet_ntop (Files): Ditto.
43440
43441 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43442
43443         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
43444         not gl_PREREQ_GETUSERSHELL.
43445
43446 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43447
43448         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
43449         with only one argument, for Autoconf 2.60.
43450         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
43451         expand to nothing, so add a shell command to avoid syntax error.
43452         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43453
43454 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43455
43456         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
43457
43458 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43459
43460         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
43461         no longer needed.  Check for isblank decl.
43462         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
43463         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
43464         of existence.
43465
43466 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43467
43468         * lib/getloadavg.c: Use __VMS, not VMS.
43469         * lib/getopt.c: Likewise.
43470         * lib/getpagesize.h: Likewise.
43471         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
43472         and probably does not work.
43473
43474 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43475
43476         * lib/.cppi-disable: Add wcwidth.
43477         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
43478         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
43479         (ISGRAPH): Remove.  All uses changed to isgraph.
43480         (FOLD) [!defined _LIBC]: Remove special case.
43481         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
43482         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
43483         HAVE_ISBLANK.
43484         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
43485         case.
43486
43487 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
43488
43489         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
43490         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
43491         brackets.  Other minor changes to suppress some compiler
43492         warnings.
43493
43494 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43495         and Paul Eggert  <eggert@cs.ucla.edu>
43496
43497         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
43498         of invoking obsolescent AC_HEADER_DIRENT macro.
43499         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
43500         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
43501         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43502         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
43503         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
43504         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
43505         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
43506         * m4/readdir.m4: Remove; no longer needed.
43507
43508 2006-07-06  Derek R. Price  <derek@ximbiot.com>
43509         and Paul Eggert  <eggert@cs.ucla.edu>
43510
43511         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
43512         Don't worry about this obsolete case any more.
43513         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
43514         directories.
43515         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
43516         worry about this obsolete case any more.
43517         * lib/fts.c: Likewise.
43518         * lib/getcwd.c: Likewise.
43519         * lib/glob.h: Likewise.
43520         * lib/savedir.c: Likewise.
43521
43522 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43523
43524         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
43525         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
43526         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
43527         needed.
43528         All uses removed.
43529         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43530         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43531         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
43532         needed.
43533         * m4/getdate.m4 (gl_GETDATE): Likewise.
43534         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43535         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43536         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43537         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43538         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
43539         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43540         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
43541         needed.
43542
43543 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43544
43545         * lib/memcasecmp.c: Include <limits.h>.
43546         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
43547         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
43548         Don't assume isdigit succeeds only on '0' through '9'.
43549
43550 2006-07-05  Eric Blake  <ebb9@byu.net>
43551
43552         * modules/getaddrinfo (Depends-on): Add snprintf.
43553
43554 2006-07-05  Eric Blake  <ebb9@byu.net>
43555
43556         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
43557         to avoid 'header present but could not be compiled' on cygwin.
43558
43559 2006-07-05  Eric Blake  <ebb9@byu.net>
43560
43561         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
43562         missing from netdb.h.
43563         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
43564
43565 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43566
43567         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
43568         no longer needed.
43569         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
43570         * m4/getdate.m4 (gl_GETDATE): Likewise.
43571         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
43572         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
43573         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
43574         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
43575         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
43576
43577 2006-07-05  Derek R. Price  <derek@ximbiot.com>
43578
43579         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
43580         All uses of is_space replaced by isspace.
43581         * lib/exit.h: Don't talk about STDC_HEADERS.
43582         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
43583         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
43584         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
43585         replaced by isprint etc.
43586         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
43587         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43588         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
43589         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
43590         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
43591         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
43592
43593 2006-07-05  Bruno Haible  <bruno@clisp.org>
43594
43595         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
43596         the function exists, before testing against AIX.
43597         Reported by Martin Lambers <marlam@marlam.de>.
43598
43599 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43600
43601         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
43602         From Mark D. Baushke.
43603
43604 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
43605
43606         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
43607         to the absolute name, not just one, to bypass Sun C 5.8's
43608         "warning: #include of /usr/include/... may be non-portable".
43609
43610 2006-07-04  Eric Blake  <ebb9@byu.net>
43611
43612         * modules/dirname-tests: New test module.
43613         * tests/test-dirname.c: New file, replacing dirname.c
43614         TEST_DIRNAME section that was recently deleted.
43615
43616 2006-07-04  Bruno Haible  <bruno@clisp.org>
43617
43618         Assume ANSI C header files and <ctype.h> functions.
43619         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
43620         (mbsnwidth): Use isprint, iscntrl instead.
43621
43622 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43623
43624         Merge from coreutils.
43625         * MODULES.html.sh: Add xstrtold.
43626         * modules/xstrtold: New file.
43627         * modules/cycle-check (Files): Add lib/same-inode.h.
43628         * modules/dirname (Files): Add m4/double-slash-root.m4.
43629         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
43630         * modules/mkdir-p (Files): Add lib/same-inode.h.
43631         * modules/same (Files): Add lib/same-inode.h.
43632
43633 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43634
43635         * m4/absolute-header.m4: Renamed from full-header-path.m4.
43636         This is to keep the terminology clean; POSIX talks about
43637         "absolute pathnames", not "full pathnames", but the GNU
43638         Coding Standards say to use "path" for something else;
43639         so use "absolute" to keep both sides happy.
43640         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
43641         Set gl_absolute_header, not gl_full_header_path.
43642         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
43643         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
43644         All uses changed.
43645
43646         Merge from coreutils.
43647
43648         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
43649
43650         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
43651         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
43652         want to require the building of c-strtod.o.
43653         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
43654         needs -lm directly.
43655         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
43656
43657         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
43658
43659         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
43660         --as-needed option if available.  Problem reported by Albert Chin in
43661         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
43662         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
43663         cc merely issues a bunch of annoying warnings for --as-needed
43664         (this problem was reported by Bob Proulx).  Also, try linking with
43665         -lm to detect a bug in binutils 2.16 (this problem was reported
43666         by Ralf Wildenhues).
43667
43668         2006-06-18  Jim Meyering  <jim@meyering.net>
43669
43670         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
43671         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
43672         macro.
43673         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
43674         also check for glibc-2.4's abort-inducing bug.
43675
43676         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
43677         Low-probability clean-up should be to use rmdir to get rid of
43678         the just-created directory, not unlink.
43679
43680         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
43681         configure fail, and request a bug report to inform us about it.
43682         Add a comment that, barring reports to the contrary, in 2007 we'll
43683         assume ftruncate is universally available.
43684
43685         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
43686
43687         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
43688
43689         2006-03-12  Jim Meyering  <jim@meyering.net>
43690
43691         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
43692         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
43693         * m4/same.m4 (gl_SAME): Likewise.
43694         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
43695
43696         2006-03-11  Eric Blake  <ebb9@byu.net>
43697
43698         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
43699         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
43700         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
43701         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
43702
43703 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43704
43705         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
43706         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
43707         reported by Mark D. Baushke, one in
43708         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
43709
43710         Merge from coreutils.
43711
43712         * lib/.cppi-disable: Add stdint_.h.
43713         * lib/.cvsignore: Add stdint.h.
43714
43715         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
43716
43717         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
43718         both double and long double versions.
43719         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
43720         * lib/xstrtold.c: New file.
43721         * lib/xstrtod.h (xstrtold): New decl.
43722
43723         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
43724
43725         * lib/filemode.c (setst): Remove.
43726         (strmode): Rewrite to avoid setst.  This makes the code shorter,
43727         (arguably) clearer, and the generated code is a bit smaller on my
43728         Debian GNU/Linux stable x86 host.
43729
43730         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
43731
43732         * lib/filemode.c: Include "filemode.h" first, to test the interface.
43733         Assume that filemode.h includes sys/types.h and sys/stat.h.
43734         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
43735         (ftypelet): Reorder to put common cases first, for efficiency.
43736         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
43737         to do 'M'.
43738         (strmode): Renamed from mode_string, and now stores 12 bytes instead
43739         of 10, for compatibility with FreeBSD.  All callers changed.
43740         (filemodestring): Now stores 12 bytes instead of 10, and sets file
43741         types that can't be deduced solely from st_mode.  First arg is now a
43742         const pointer.
43743         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
43744         (strmode): Renamed from mode_string.
43745         (filemodestring): New decl.
43746         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
43747         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
43748         needed.
43749         (S_ISPORT, S_ISWHT): New macros, if not already defined.
43750
43751         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
43752
43753         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
43754         fsusage.h now does that.  Include fsusage.h first, to test interface.
43755         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
43756         at most one method (the old code could have generated decls that
43757         didn't conform to C89, not that this was ever exercised).
43758         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
43759
43760         2006-03-19  Jim Meyering  <jim@meyering.net>
43761
43762         Work even in a chroot where d_ino values for entries in "/"
43763         don't match the stat.st_ino values for the same names.
43764         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
43765         number, iterate through all entries again, using lstat instead.
43766         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
43767         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
43768
43769         * lib/getcwd.c (__getcwd): Clarify a comment.
43770         Use memcpy in place of a call to strcpy.
43771
43772         2006-03-12  Jim Meyering  <jim@meyering.net>
43773
43774         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
43775         matches that of the current directory (which we're about to chdir ".."
43776         out of), then save the dev-ino of the parent, instead.
43777
43778         * lib/same-inode.h (SAME_INODE): New file/macro.
43779         * lib/chdir-safer.c (SAME_INODE): Remove definition.
43780         Include "same-inode.h", instead.
43781         * lib/same.c: Likewise.
43782         * lib/cycle-check.h: Include "same-inode.h".
43783         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
43784         * lib/cycle-check.c (SAME_INODE): Remove definition.
43785         * lib/root-dev-ino.h: Include "same-inode.h".
43786
43787         2006-03-11  Eric Blake  <ebb9@byu.net>
43788
43789         * lib/same.c (same_name): s/base_name/last_component/
43790         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
43791         * lib/filenamecat.c (file_name_concat): Likewise.
43792
43793         2006-03-11  Eric Blake  <ebb9@byu.net>,
43794                     Paul Eggert  <eggert@cs.ucla.edu>
43795
43796         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
43797         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
43798         drive prefix.
43799         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
43800         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
43801         (last_component): New method.
43802         * lib/dirname.c (dir_len): Determine when drive letters need a
43803         subsequent slash.  Preserve // when it is special.
43804         (dir_name): Don't append dot when drive letter is absolute.
43805         [TEST_DIRNAME]: Move into a full-blown gnulib test.
43806         * lib/basename.c (base_name): New semantics - malloc the result.
43807         Preserve // when it is special.  Preserve relative files that look
43808         like drive letters.
43809         (base_len): Preserve // when it is special.
43810         (last_component): New method, similar to old base_name semantics.
43811         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
43812         base_name.  Strip redundant slashes from ///.
43813
43814 2006-07-03  Jim Meyering  <jim@meyering.net>
43815
43816         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
43817         macro is used before the first cycle_check call.
43818
43819 2006-07-03  Eric Blake  <ebb9@byu.net>
43820
43821         * modules/dirname (Depends-on): Add xstrndup.
43822
43823 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43824
43825         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
43826         test cases, so that config.log is a bit easier to follow.
43827
43828 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43829
43830         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
43831         both are 64 bits, since this seems to be the tradition, and this
43832         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
43833         we ever run into a host that prefers long long to long in this
43834         case, we'll need another configure-time test.  Problem reported by
43835         Jim Meyering.
43836
43837 2006-07-02  Eric Blake  <ebb9@byu.net>
43838
43839         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
43840
43841 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43842
43843         * modules/inttypes (Depends-on): No longer depends on stdint.
43844         * modules/stdint (Description): Say more about assumptions.
43845         Say that the fast types might differ.  Say macros are used.
43846         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
43847         (Makefile.am): Revise list of substituted symbols to match
43848         new stdint.m4.
43849         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
43850         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
43851         * tests/test-stdint.c (verify_same_types)
43852         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
43853         the code conforms to C99/C89.
43854         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
43855         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
43856
43857 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43858
43859         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
43860         but fix a bug, by requiring at least 64 bits.
43861         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43862         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
43863         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
43864         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
43865
43866         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
43867         changes.  Make 2.59 a prerequisite.  Check and substitute for
43868         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
43869         inttypes.h.  Do not use special include files; just use the
43870         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
43871         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
43872         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
43873         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
43874         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
43875         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
43876         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
43877         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
43878         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
43879         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
43880         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
43881         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
43882         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
43883         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
43884         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
43885         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
43886         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
43887         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
43888         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
43889         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
43890         WINT_MAX.  Check for C99 conformance more strictly, by detecting
43891         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
43892         not check for things that C99 does not require, e.g., int8_t.  If
43893         a test isn't needed unless <stdint.h> isn't working, and is
43894         unlikely to be needed for any other reason, then don't do it
43895         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
43896         size_t, since we assume C89 freestanding at least.  Do not check
43897         for sig_atomic_t, wchar_t, or wint_t, since the code now does
43898         the right thing even if the types are not defined.  Instead use:
43899         (gl_STDINT_TYPE_PROPERTIES): New macro.
43900         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
43901         testing whether <sys/types.h> clashes, as Autoconf does this for
43902         us now.  All uses removed.
43903         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
43904         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
43905         (gl_CHECK_TYPE_SAME):
43906         Remove; no longer needed.
43907         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
43908         exists, since we'll return 0 anyway in that case.
43909         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
43910
43911 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43912
43913         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
43914         possible collision with system files.
43915         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
43916         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
43917         WCHAR_MIN and WCHAR_MAX in this case.
43918         (<stddef.h>): Do not include; no longer needed.
43919         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
43920         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
43921         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
43922         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
43923         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
43924         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
43925         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
43926         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
43927         !defined(__c99))]: Include in this case too, since it's harmless
43928         now.
43929         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
43930         dangerous to do so.
43931         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
43932         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
43933         (_STDINT_MIN, _STDINT_MAX): New macros.
43934         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
43935         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
43936         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
43937         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
43938         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
43939         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
43940         macros, not typedefs; this simplifies things quite a bit.
43941         Use long int for all types narrower than int64_t.
43942         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
43943         Define in terms of long long int or int64_t or long int,
43944         not int64_t or int32_t.  This saves some compile-time testing.
43945         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
43946         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
43947         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
43948         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
43949         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
43950         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
43951         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
43952         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
43953         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
43954         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
43955         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
43956         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
43957         undef any previous version and define our own version, for
43958         simplicity and consistency with the new macros for types.
43959         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
43960         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
43961         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
43962         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
43963         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
43964         @WINT_T_SUFFIX@ to keep things simple here.
43965         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
43966         Simplify by assuming typical 8/16/32/64 host, since we're
43967         already doing that elsewhere anyway.
43968         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
43969         and assume long long int is 64 bits if available.  This
43970         speeds up 'configure'.
43971
43972 2006-07-01  Eric Blake  <ebb9@byu.net>
43973
43974         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
43975         Reported by Andreas Buening.
43976
43977 2006-07-01  Eric Blake  <ebb9@byu.net>
43978
43979         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
43980
43981 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
43982
43983         * lib/getaddrinfo.c: fixed typo
43984
43985 2006-06-29  Jim Meyering  <jim@meyering.net>
43986
43987         * modules/strftime (Maintainer): Add my name, since with the
43988         FPRINTFTIME changes strftime.c has forked from glibc.
43989
43990 2006-06-29  Eric Blake  <ebb9@byu.net>
43991
43992         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
43993
43994 2006-06-29  Eric Blake  <ebb9@byu.net>
43995
43996         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
43997
43998 2006-06-29  Eric Blake  <ebb9@byu.net>
43999
44000         * lib/stat_.h: New file.
44001
44002 2006-06-29  Eric Blake  <ebb9@byu.net>
44003
44004         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
44005         unused static function.
44006
44007 2006-06-29  Eric Blake  <ebb9@byu.net>
44008
44009         * doc/functions.texi (Function Portability): Document missing lstat
44010         on mingw.
44011
44012 2006-06-29  Eric Blake  <ebb9@byu.net>
44013
44014         * MODULES.html.sh: Add sys_stat.
44015         * modules/sys_stat: New module.
44016         * modules/mkstemp (Depends-on): Add sys_stat.
44017
44018 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44019
44020         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
44021
44022 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44023
44024         * m4/c-bs-a.m4: Removed.
44025
44026 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44027
44028         * lib/strftime.c: Assume strftime() exists.
44029
44030 2006-06-29  Derek Price  <derek@ximbiot.com>
44031
44032         * modules/c-bs-a: Removed - \a is C89.
44033         * MODULES.html.sh: Remove c-bs-a.
44034
44035 2006-06-29  Bruno Haible  <bruno@clisp.org>
44036
44037         * modules/wcwidth (License): Change to LGPL.
44038
44039 2006-06-28  Simon Josefsson  <jas@extundo.com>
44040
44041         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
44042         on _WIN32.
44043
44044         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
44045         getnameinfo.
44046
44047 2006-06-28  Simon Josefsson  <jas@extundo.com>
44048
44049         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
44050
44051 2006-06-28  Simon Josefsson  <jas@extundo.com>
44052
44053         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
44054         functions there.  It will succeed on Windows XP, but on Windows
44055         2000 and (presumably) earlier, it will fail, and use the internal
44056         re-implementation.
44057         (use_win32_p): New function.
44058         (getaddrinfo): Use strtoul on servname, to support numeric ports.
44059         Support AI_NUMERICSERV to disable getservbyname.
44060         (getnameinfo): New function, only supports
44061         NI_NUMERICHOST|NI_NUMERICSERV for now.
44062
44063         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
44064         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
44065         getnameinfo.
44066
44067 2006-06-28  Eric Blake  <ebb9@byu.net>
44068
44069         * modules/wcwidth: New file.
44070         * modules/mbchar (Depends-on): Add wcwidth.
44071         * modules/mbswidth (Depends-on): Add wcwidth.
44072         * MODULES.html.sh: Add wcwidth.
44073
44074 2006-06-28  Eric Blake  <ebb9@byu.net>
44075
44076         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
44077         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
44078
44079 2006-06-28  Eric Blake  <ebb9@byu.net>
44080
44081         * lib/xvasprintf.h: Fix comments.
44082
44083 2006-06-28  Eric Blake  <ebb9@byu.net>
44084
44085         * lib/mbchar.h (wcwidth): Include wcwidth.h.
44086         * lib/mbswidth.c (wcwidth): Move from here...
44087         * lib/wcwidth.h: ...to this new file.
44088
44089 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44090
44091         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
44092
44093         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
44094         it's obsolete.
44095         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
44096
44097 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44098
44099         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
44100         Autoconf 2.60 says this stuff was obsolete.
44101
44102 2006-06-28  Bruno Haible  <bruno@clisp.org>
44103
44104         * modules/wcwidth (Files): Add m4/wchar_t.m4.
44105
44106 2006-06-28  Bruno Haible  <bruno@clisp.org>
44107
44108         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
44109         gt_TYPE_WCHAR_T.
44110
44111 2006-06-28  Bruno Haible  <bruno@clisp.org>
44112
44113         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
44114         declaration for wcwidth.
44115         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
44116
44117 2006-06-28  Bruno Haible  <bruno@clisp.org>
44118
44119         * lib/mkdtemp.c [MINGW]: Include <io.h>.
44120         (mkdir): Define using _mkdir.
44121
44122 2006-06-28  Bruno Haible  <bruno@clisp.org>
44123
44124         * lib/getaddrinfo.h: Fix POSIX URL.
44125         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
44126         _WIN32.
44127         (use_win32_p): Make static.
44128         (getaddrinfo): Reject service name if it is empty or does not consist
44129         solely of decimal digits, or if its value is > 65535.
44130         (getnameinfo): Remove useless casts.
44131
44132 2006-06-27  Simon Josefsson  <jas@extundo.com>
44133
44134         * modules/sys_select: New file, suggested by Bruno Haible, Paul
44135         Eggert and Martin Lambers.
44136
44137 2006-06-27  Simon Josefsson  <jas@extundo.com>
44138
44139         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
44140         Eggert and Martin Lambers.
44141
44142 2006-06-27  Bruno Haible  <bruno@clisp.org>
44143
44144         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
44145         result to 0, not to empty.
44146         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
44147
44148 2006-06-27  Bruno Haible  <bruno@clisp.org>
44149
44150         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
44151
44152 2006-06-26  Simon Josefsson  <jas@extundo.com>
44153
44154         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
44155         present.
44156
44157 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
44158
44159         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
44160         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
44161         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
44162
44163 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
44164
44165         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
44166
44167 2006-06-26  Bruno Haible  <bruno@clisp.org>
44168
44169         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
44170
44171 2006-06-26  Bruno Haible  <bruno@clisp.org>
44172
44173         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
44174
44175 2006-06-26  Bruno Haible  <bruno@clisp.org>
44176
44177         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
44178         SGI C compiler in pre-C99 mode.
44179         Suggested by Mark D. Baushke and Larry Jones.
44180
44181 2006-06-26  Bruno Haible  <bruno@clisp.org>
44182
44183         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
44184         WCHAR_MAX.
44185         Reported by Mark D. Baushke and Larry Jones.
44186
44187 2006-06-26  Bruno Haible  <bruno@clisp.org>
44188
44189         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
44190         in pre-C99 mode.
44191         Suggested by Mark D. Baushke and Larry Jones.
44192
44193 2006-06-23  Simon Josefsson  <jas@extundo.com>
44194             Bruno Haible  <bruno@clisp.org>
44195
44196         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
44197         Emit mostlyclean-local rule.
44198         (func_emit_tests_Makefile_am): Likewise.
44199         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
44200
44201 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
44202
44203         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
44204
44205 2006-06-23  Bruno Haible  <bruno@clisp.org>
44206
44207         * tests/test-stdint.c: Update to match ISO C 99 Technical
44208         Corrigendum 1.
44209
44210 2006-06-23  Bruno Haible  <bruno@clisp.org>
44211
44212         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
44213
44214 2006-06-23  Bruno Haible  <bruno@clisp.org>
44215
44216         * lib/stdint_.h: Treat IRIX like OpenBSD.
44217
44218 2006-06-23  Bruno Haible  <bruno@clisp.org>
44219
44220         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
44221         ISO C 99 Technical Corrigendum 1.
44222
44223 2006-06-22  Simon Josefsson  <jas@extundo.com>
44224
44225         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
44226         MinGW.
44227
44228 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
44231         needed.  Some compiler complained about some of them.  Problem reported
44232         by Larry Jones in
44233         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
44234
44235 2006-06-21  Simon Josefsson  <jas@extundo.com>
44236
44237         * tests/test-getaddrinfo.c: New file.
44238
44239         * modules/getaddrinfo-tests: New file.
44240
44241         * MODULES.html.sh: Add inet_pton.
44242
44243         * modules/inet_pton: New file.
44244
44245 2006-06-21  Simon Josefsson  <jas@extundo.com>
44246
44247         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
44248         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
44249         of using the (limited) gnulib implementation on Windows XP.
44250
44251         * m4/inet_pton.m4: New file.
44252
44253 2006-06-21  Simon Josefsson  <jas@extundo.com>
44254
44255         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
44256         variable.
44257
44258         * lib/socket_.h: Don't define WINVER.
44259
44260         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
44261         slightly modified to work in gnulib.
44262
44263 2006-06-21  Simon Josefsson  <jas@extundo.com>
44264
44265         * doc/gnulib.texi (Windows sockets): Add.
44266
44267 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44268
44269         * lib/read-file.c (fread_file): Start with buffer allocation of
44270         0 bytes rather than 1 byte; this simplifies the code.
44271         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
44272         code to free buffer and save/restore errno.
44273         (internal_read_file): Remove unused local.
44274
44275 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44276
44277         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
44278         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
44279         Problem reported by Denis Excoffier in
44280         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
44281
44282 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44283
44284         * modules/sys_socket, modules/socklen: Include sys/types since
44285         FreeBSD 4.x's sys/socket.h needs it.
44286
44287 2006-06-19  Simon Josefsson  <jas@extundo.com>
44288
44289         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
44290
44291 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44292
44293         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
44294
44295 2006-06-19  Bruno Haible  <bruno@clisp.org>
44296
44297         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
44298         and FULL_PATH_INTTYPES_H in angle brackets.
44299         Reported by Mark D. Baushke <mdb@gnu.org>.
44300
44301 2006-06-17  Eric Blake  <ebb9@byu.net>
44302
44303         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
44304         errno.
44305
44306 2006-06-17  Bruno Haible  <bruno@clisp.org>
44307
44308         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
44309         <sys/inttypes.h>.
44310
44311 2006-06-17  Bruno Haible  <bruno@clisp.org>
44312
44313         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
44314         whether errno is declared. Assume <errno.h> declares errno.
44315
44316 2006-06-17  Bruno Haible  <bruno@clisp.org>
44317
44318         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
44319
44320 2006-06-17  Bruno Haible  <bruno@clisp.org>
44321
44322         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
44323         problem on Solaris 2.5.1.
44324
44325 2006-06-16  Eric Blake  <ebb9@byu.net>
44326
44327         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
44328         * lib/unicodeio.c [!defined errno]: Likewise.
44329         * lib/strtol.c [!defined errno]: Likewise.
44330         * lib/strtod.c [!defined errno]: Likewise.
44331
44332 2006-06-15  Eric Blake  <ebb9@byu.net>
44333
44334         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
44335
44336 2006-06-15  Eric Blake  <ebb9@byu.net>
44337
44338         * config/srclist.txt (ssize_t.m4): Lose sync.
44339
44340 2006-06-15  Bruno Haible  <bruno@clisp.org>
44341
44342         * modules/stdint (Files): Include m4/full-header-path.m4,
44343         m4/size_max.m4, m4/wchar_t.m4.
44344         (Makefile.am): Many more substitutions.
44345         * modules/stdint-tests: New file.
44346         * tests/test-stdint.c: New file.
44347
44348 2006-06-15  Bruno Haible  <bruno@clisp.org>
44349
44350         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
44351         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
44352         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
44353         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
44354         gl_CHECK_TYPE_SAME): New macros.
44355
44356 2006-06-15  Bruno Haible  <bruno@clisp.org>
44357
44358         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
44359
44360 2006-06-15  Bruno Haible  <bruno@clisp.org>
44361
44362         * lib/stdint_.h: Rewritten to be fully auto-configured.
44363         Fixes bug on HP-UX/IA64.
44364
44365 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
44366
44367         * lib/getdate.y (__attribute__): Don't define if already defined.
44368         Problem reported by Larry Jones.
44369         * lib/utimens.c (__attribute__): Likewise.
44370
44371 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
44372
44373         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
44374         reported by Andreas Schwab.
44375
44376 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44377             Bruno Haible  <bruno@clisp.org>
44378
44379         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
44380         check for the declaration of strnlen and a run test that exposes the
44381         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
44382         rpl_strndup.
44383
44384 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44385             Bruno Haible  <bruno@clisp.org>
44386
44387         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
44388
44389 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44390
44391         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
44392         compile test, for Tru64 4.0D.
44393
44394 2006-05-28  Karl Berry  <karl@gnu.org>
44395
44396         * config/srclist.txt (printf-args.c): lose sync.
44397
44398 2006-05-26  Martin Lambers  <marlam@marlam.de>
44399
44400         * lib/getpass.c: Updates the test for the native W32 API, and adds
44401         missing includes, thus fixing compilation warnings.
44402
44403 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44404
44405         * lib/exclude.c (exclude_fnmatch): New function.
44406         (excluded_file_name): Call exclude_fnmatch.
44407         * lib/exclude.h (excluded_file_name): New prototype
44408
44409 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
44410
44411         * lib/tempname.c (small_open, large_open): New macros.
44412         (__open, __open64) [!_LIBC]: Remove.
44413         (__gen_tempname): Use small_open and large_open instead of __open
44414         and __open64.  This fixes a portability bug on HP-UX 11.11i
44415         reported by Simon Wing-Tang in
44416         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
44417
44418 2006-05-24  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
44421         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
44422         Reported by Thorsten Maerz <torte@netztorte.de> via
44423         Aaron Stone <aaron@serendipity.cx>.
44424
44425 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44426
44427         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
44428         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
44429         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
44430         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
44431         not really conditional on the cache.
44432         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
44433
44434 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44435
44436         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
44437         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
44438         (my_usleep): Don't mishandle maximum value.
44439
44440 2006-05-19  Jim Meyering  <jim@meyering.net>
44441
44442         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
44443
44444 2006-05-17  Bruno Haible  <bruno@clisp.org>
44445
44446         Cygwin portability.
44447         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
44448
44449 2006-05-17  Bruno Haible  <bruno@clisp.org>
44450
44451         * lib/stdint_.h: Fix recognition of Cygwin.
44452
44453 2006-05-15  Bruno Haible  <bruno@clisp.org>
44454
44455         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
44456         on libtool patch by Ralf Wildenhues.
44457
44458 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44459
44460         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
44461         test for C99 conformance; (bool) 0.5 is an integer constant
44462         expression, but (bool) -0.5 is not.  Problem reported by Fedor
44463         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
44464
44465 2006-05-11  Simon Josefsson  <jas@extundo.com>
44466
44467         * m4/xvasprintf.m4: Fix obvious typo.
44468
44469 2006-05-11  Jim Meyering  <jim@meyering.net>
44470
44471         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
44472         James Lemley.
44473
44474 2006-05-10  Simon Josefsson  <jas@extundo.com>
44475
44476         * lib/md4.c: Typo fix, update copyright years.
44477         (K1, K2): Don't use L because it turn computations into 64-bit on
44478         64-bit platforms.
44479
44480 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
44481
44482         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
44483         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
44484         unwanted sign propagation, e.g., on hosts with 64-bit int.
44485         There still are some problems with reeelly weird theoretical hosts
44486         (e.g., 33-bit int) but it's not worth worrying about now.
44487         * lib/sha1.c (rol): Likewise.
44488         (K1, K2, K3, K4): Remove unnecessary L suffix.
44489
44490 2006-05-10  Bruno Haible  <bruno@clisp.org>
44491
44492         * lib/des.c: Cast to avoid warnings.
44493
44494 2006-05-09  Bruno Haible  <bruno@clisp.org>
44495
44496         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
44497         (Depends-on): Depend also on xsize, stdarg.
44498         (configure.ac): Add gl_XVASPRINTF.
44499
44500 2006-05-09  Bruno Haible  <bruno@clisp.org>
44501
44502         * m4/xvasprintf.m4: New file.
44503
44504 2006-05-09  Bruno Haible  <bruno@clisp.org>
44505
44506         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
44507         (EOVERFLOW): Define fallback value.
44508         (xstrcat): New function.
44509         (xvasprintf): Recognize the special case of a string concatenation.
44510
44511 2006-05-08  Eric Blake  <ebb9@byu.net>
44512
44513         * gnulib-tool (func_version): Base copyright year on CVS date.
44514         (func_emit_copyright_notice): New function.
44515         (func_emit_lib_Makefile_am): Use it.
44516         (func_emit_tests_Makefile_am): Likewise.
44517         (func_import): Likewise.
44518
44519 2006-05-08  Bruno Haible  <bruno@clisp.org>
44520
44521         * modules/stdarg: New file.
44522         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
44523
44524 2006-05-08  Bruno Haible  <bruno@clisp.org>
44525
44526         * m4/stdarg.m4: New file, from GNU gettext.
44527
44528 2006-05-08  Bruno Haible  <bruno@clisp.org>
44529
44530         * config/srclist.txt (build-aux/config.rpath): different from latest
44531         release.
44532
44533 2006-05-08  Bruno Haible  <bruno@clisp.org>
44534
44535         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
44536
44537 2006-05-05  Jim Meyering  <jim@meyering.net>
44538
44539         * m4/warning.m4: New file, derived from bison's file by the same name.
44540
44541 2006-05-03  Bruno Haible  <bruno@clisp.org>
44542
44543         * lib/stdint_.h: Shorter URL.
44544         * lib/inttypes.h: Likewise.
44545
44546 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44547
44548         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
44549
44550 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44551
44552         * lib/verify.h: Document the internals better.  Most of this change
44553         was written by Bruno Haible.
44554
44555 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
44556
44557         * doc/verify.texi: New file, partly based on a proposal by
44558         Bruno Haible.
44559
44560 2006-05-02  Bruno Haible  <bruno@clisp.org>
44561
44562         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
44563         test from here...
44564         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
44565
44566 2006-04-29  Bruno Haible  <bruno@clisp.org>
44567
44568         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
44569         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
44570
44571 2006-04-29  Bruno Haible  <bruno@clisp.org>
44572
44573         * gnulib-tool: Make --update option actually work.
44574
44575 2006-04-29  Bruno Haible  <bruno@clisp.org>
44576
44577         * doc/gcd.texi: New file.
44578         * doc/gnulib.texi: Include it.
44579
44580 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
44581
44582         * lib/getdate.y (get_date): When adding relative date, start with the
44583         initial time, not with the result of the first mktime call.
44584
44585 2006-04-25  Bruno Haible  <bruno@clisp.org>
44586
44587         * gnulib-tool (func_import): Output the include directives in three
44588         blocks, sorted separately.
44589         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44590
44591 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44592
44593         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
44594         to define main with arguments, for C++.  Reported by Eric Blake.
44595         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
44596         Prefer 'int main ()' to 'int main (void)', for C++.
44597         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
44598         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
44599         for 'main', for C99 and C++.
44600
44601 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
44602
44603         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
44604         Don't assume that exit status -1 is valid.
44605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44606         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44607         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44608         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
44609         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
44610         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
44611         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
44612         functions can be used without declaring them, or that you can
44613         exit with status -1.
44614         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
44615
44616 2006-04-24  Karl Berry  <karl@gnu.org>
44617
44618         * config/srclist.txt (longdouble.m4): sync lost.
44619
44620 2006-04-24  Eric Blake  <ebb9@byu.net>
44621
44622         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
44623
44624 2006-04-24  Bruno Haible  <bruno@clisp.org>
44625
44626         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
44627         poll() implementation in AIX.
44628         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44629
44630 2006-04-24  Bruno Haible  <bruno@clisp.org>
44631
44632         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
44633         assigned exactly once.
44634
44635 2006-04-23  Claudio Fontana  <claudio@gnu.org>
44636             Bruno Haible  <bruno@clisp.org>
44637
44638         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
44639         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
44640         for AM_CPPFLAGS.
44641
44642 2006-04-23  Bruno Haible  <bruno@clisp.org>
44643
44644         * modules/copy-file: Depend on unistd.
44645         * modules/execute: Likewise.
44646         * modules/fatal-signal: Likewise.
44647         * modules/findprog: Likewise.
44648         * modules/mkdtemp : Likewise.
44649         * modules/pipe: Likewise.
44650         * modules/wait-process: Likewise.
44651
44652 2006-04-23  Bruno Haible  <bruno@clisp.org>
44653
44654         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
44655         condition was already detected.
44656         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44657
44658 2006-04-23  Bruno Haible  <bruno@clisp.org>
44659
44660         * lib/copy-file.c: Include <unistd.h> unconditionally.
44661         * lib/execute.c: Likewise.
44662         * lib/fatal-signal.c: Likewise.
44663         * lib/findprog.c: Likewise.
44664         * lib/mkdtemp.c: Likewise.
44665         * lib/pipe.h: Likewise.
44666         * lib/pipe.c: Likewise.
44667         * lib/wait-process.h: Likewise.
44668
44669 2006-04-23  Bruno Haible  <bruno@clisp.org>
44670
44671         * gnulib-tool (func_usage): Fix --import description. Document
44672         --update.
44673         (func_import): Create temporary file in a temporary directory, if
44674         --dry-run is specified. Silence errors from 'grep' when there are no
44675         m4 files in $m4dir.
44676         (func_create_testdir): Silence errors from 'grep' when there are no
44677         m4 files in $m4dir.
44678         Reported by Karl Berry <karl@freefriends.org>.
44679
44680 2006-04-20  Bruno Haible  <bruno@clisp.org>
44681
44682         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
44683         one argument, so that the code will be portable to Autoconf 2.60.
44684         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
44685         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
44686         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
44687
44688 2006-04-19  Derek Price  <derek@ximbiot.com>
44689             Eric Blake  <ebb9@byu.net>
44690
44691         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
44692         rather than "/full/path.h".  Update comment to match.  Shorten &
44693         generalize m4_translit call via AS_TR_CPP.
44694
44695 2006-04-19  Derek Price  <derek@ximbiot.com>
44696             Eric Blake  <ebb9@byu.net>
44697
44698         * lib/inttypes.h: Correct grammar in comment.
44699
44700 2006-04-18  Derek Price  <derek@ximbiot.com>
44701             Paul Eggert  <eggert@cs.ucla.edu>
44702
44703         * modules/inttypes: New file.
44704         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
44705
44706 2006-04-18  Derek Price  <derek@ximbiot.com>
44707             Paul Eggert  <eggert@cs.ucla.edu>
44708
44709         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
44710         New files.
44711
44712 2006-04-18  Derek Price  <derek@ximbiot.com>
44713             Paul Eggert  <eggert@cs.ucla.edu>
44714
44715         * lib/inttypes.h: New file.
44716         * lib/strtoimax.c: Assume <inttypes.h>.
44717
44718 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
44719
44720         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
44721         isn't mounted.  Problem reported by Kir Kolyshkin.
44722
44723 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
44724
44725         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
44726         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
44727         Derek R. Price.
44728         * lib/regex.h (RE_DUP_MAX): Update comment to match current
44729         implementation.
44730
44731 2006-04-12  Eric Blake  <ebb9@byu.net>
44732
44733         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
44734         is now done automatically by the corresponding Autoconf macro.
44735
44736 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
44737
44738         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
44739         time_r.h.
44740
44741 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44742
44743         Merge regex changes from libc, removing some of our
44744         POSIX-conformance changes that were rejected and redoing them in a
44745         less-intrusive way.
44746
44747         * lib/regcomp.c (re_compile_internal, init_dfa):
44748         Length arg is now size_t, not Idx.  All uses changed.
44749         (peek_token): Forward decl now says internal_function.
44750         (__re_error_msgid, __re_error_msgid_idx):
44751         Now static rather than extern with attribute_hidden.
44752         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
44753         For some reason libc prefers K&R style defns for external functions.
44754         (regerror) [!defined _LIBC]: Likewise.
44755         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
44756         (seek_collating_symbol_entry, lookup_collation_sequence_value):
44757         (build_range_exp, build_collating_symbol):
44758         Use K&R-style defn.
44759         (re_compile_fastmap): Use '\0' to memset, not 0.
44760         (utf8_sb_map): Make the calculations more obvious.
44761         (init_dfa, parse_bracket_exp, build_charclass_op):
44762         Call calloc and cast result, as glibc does.
44763         (init_word_char, fetch_token, peek_token, peek_token_bracket):
44764         (build_range_exp, build_collating_symbol):
44765         Now internal functions.
44766
44767         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
44768
44769         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
44770         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
44771         Don't depend on VMS; depend on __VMS instead, for POSIX
44772         namespace cleanness.
44773         (regoff_t): Define to ssize_t, not long int.
44774
44775         Remove the REG_ macros named below.  Instead, make the old names
44776         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
44777         __USE_GNU_REGEX.
44778         (REG_BACKSLASH_ESCAPE_IN_LISTS):
44779         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
44780         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
44781         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
44782         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
44783         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
44784         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
44785         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
44786         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
44787         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
44788         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
44789         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
44790         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
44791         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
44792         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
44793         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
44794         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
44795         (REG_NREGS):
44796         Remove.  All uses replaced by the old RE_* names.
44797         (RE_BACKSLASH_ESCAPE_IN_LISTS):
44798         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
44799         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
44800         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
44801         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
44802         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
44803         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
44804         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
44805         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
44806         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
44807         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
44808         Don't bother having these macros be independent of each others'
44809         values, since they no longer exist in the POSIX name space.
44810
44811         Rename the following member names back to their old names,
44812         unless !__USE_GNU_REGEX.  All uses changed back.
44813         (buffer): Renamed from re_buffer.
44814         (allocated): Renamed from re_allocated.
44815         (used): Renamed from re_used.
44816         (syntax): Renamed from re_syntax.
44817         (fastmap): Renamed from re_fastmap.
44818         (translate): Renamed from re_translate.
44819         (can_be_null): Renamed from re_can_be_null.
44820         (regs_allocated): Renamed from re_regs_allocated.
44821         (fastmap_accurate): Renamed from re_fastmap_accurate.
44822         (no_sub): Renamed from re_no_sub.
44823         (not_bol): Renamed from re_not_bol.
44824         (not_eol): Renamed from re_not_eol.
44825         (newline_anchor): Renamed from re_newline_anchor.
44826         (num_regs): Renamed from rm_num_regs.
44827         (start): Renamed from rm_start.
44828         (end): Renamed from rm_end.
44829
44830         (free_state): Move up a bit.
44831
44832         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
44833         #define to be empty.
44834         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
44835         when that is what is intended.
44836         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
44837         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
44838         (MAX): New macro.
44839         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
44840         All uses changed back to re_malloc, etc.  It's now the caller's
44841         responsibility to check for overflow; all callers changed.
44842         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
44843         (re_x2nrealloc): Remove.
44844         (free_state): Remove decl.
44845
44846         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
44847         (re_set_registers, re_exec):
44848         Use K&R-style defn.
44849
44850         2006-01-31  Roland McGrath  <roland@redhat.com>
44851
44852         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
44853         Reported by Mike Frysinger <vapier@gentoo.org>.
44854
44855         2006-01-15  Andreas Jaeger  <aj@suse.de>
44856
44857         [BZ #1950]
44858         * lib/regex_internal.c (re_string_reconstruct): Adjust for
44859         build_wcs_upper_buffer change.
44860         (build_wcs_upper_buffer): Change return type.
44861
44862         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
44863
44864         * lib/regex_internal.h: Include <stdint.h> if available.
44865
44866         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
44867
44868         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
44869
44870         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
44871
44872         * lib/regcomp.c: Adjust for changed secondary hash function.
44873
44874         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
44875
44876         * lib/regex.h: Pretty printing.
44877         Clean up namespace a bit.
44878
44879         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
44880
44881         * lib/regexec.c (update_cur_sifted_state, check_arrival,
44882         check_arrival_add_next_nodes): Avoid using uninitialized variable.
44883
44884         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44885                     Ulrich Drepper  <drepper@redhat.com>
44886
44887         [BZ #1302]
44888         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
44889         changed.
44890         (bitset_word_t): Renamed from bitset_word.  All uses changed.
44891
44892         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
44893
44894         [BZ #281]
44895         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
44896         * lib/regcomp.c: Remove unnecessary uses of
44897         unsigned RE_TRANSLATE_TYPE.
44898         * lib/regex_internal.h: Likewise.
44899         * lib/regex_internal.c: Likewise.
44900         * lib/regexec.c: Likewise.
44901         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
44902
44903         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
44904
44905         * lib/regexec.c (find_recover_state): Remove unnecessary
44906         initialization.
44907         (transit_state_bkref): Make DFA a const pointer.
44908         (get_subexp): Likewise.
44909         (check_arrival): Likewise.
44910         (update_cur_sifted_state): Likewise.
44911         (re_search_internal): Likewise.
44912         (prune_impossible_nodes): Likewise.
44913         (acquire_init_state_context): Likewise.
44914         (proceed_next_node): Likewise.
44915         (set_regs): Likewise.
44916         (free_fail_stack_return): Likewise.
44917         (check_arrival_expand_ecl): Mark DFA parameter as const.
44918         (check_arrival_expand_ecl_sub): Likewise.
44919         (check_subexp_limits): Likewise.
44920         (sub_epsilon_src_nodes):  Likewise.
44921         (add_epsilon_src_nodes):  Likewise.
44922         (merge_state_array): Likewise.
44923         (update_regs): Likewise.
44924         (build_trtable): Likewise.
44925         (sift_states_backward): Mark MCTX parameter as const.
44926         (build_sifted_states): Likewise.
44927         (update_cur_sifted_state): Likewise.
44928         (sift_states_mkref): Likewise.
44929         (check_arrival_expand_ecl): Mark eclosure as const.
44930         (check_dst_limits_calc_pos_1): Likewise.
44931         * lib/regex_internal.h (re_match_context_t): Make dfa a const
44932         pointer.
44933
44934         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
44935
44936         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
44937         (transit_state_sb): Likewise.
44938         (transit_state_mb): Likewise.
44939         (sift_states_iter_mb): Likewise.
44940         (check_arrival_add_next_nodes): Likewise.
44941         (check_node_accept_bytes): Change first parameter to pointer-to-const.
44942         [_LIBC] (re_search_2_stub): Use mempcpy.
44943
44944         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
44945         mbrtowc for very simple UTF-8 case.
44946
44947         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
44948         a pointer-to-const.
44949         (re_acquire_state_context): Likewise.
44950         * lib/regex_internal.h: Adjust prototypes.
44951
44952         * lib/regex.c: Prevent using C++ compilers.
44953
44954         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
44955         (re_acquire_state_context): Likewise.
44956
44957 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44958
44959         * modules/regex (Depends-on): Add ssize_t.
44960
44961 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44962
44963         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
44964         translation table.
44965
44966 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
44967
44968         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
44969
44970 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
44971             Bruno Haible  <bruno@clisp.org>
44972
44973         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
44974         <sys/types.h> and <inttypes.h>.
44975
44976 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44977
44978         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
44979         `__error_t_defined', so argp.h will not typedef the former.
44980
44981 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44982
44983         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
44984         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
44985         glibc names.  Even if glibc is changed to conform to POSIX, the
44986         traditional names will be available anyway, since regex depends on
44987         the extensions module.  Also, fix a longstanding typo in the
44988         implementation of Spencer ERE test #75 from grep 2.3.  Problems
44989         reported by Emanuele Giaquinta.  Also, change sense of cached
44990         variable, so that the message makes sense.
44991
44992 2006-03-24  Simon Josefsson  <jas@extundo.com>
44993
44994         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
44995         including some doc fixes.
44996         (base64_encode_alloc): Fix +1 bug on allocation failures.
44997
44998 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44999
45000         * lib/base64.c (base64_encode): Do not read past end of array with
45001         unsanitized input on systems with CHAR_BIT > 8.
45002
45003 2006-03-24  Eric Blake  <ebb9@byu.net>
45004
45005         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
45006
45007 2006-03-22  Karl Berry  <karl@gnu.org>
45008
45009         * config/srclist.txt (*setenv.[ch]): get from coreutils.
45010         * config/srclistvars.sh (COREUTILS): new var.
45011
45012 2006-03-17  Jim Meyering  <jim@meyering.net>
45013
45014         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
45015         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
45016
45017 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45018
45019         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
45020         no longer needs it.  Instead, check that regoff_t is as least
45021         as wide as ptrdiff_t.
45022
45023         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
45024         so that our regex.h stays compatible with the installed regex.
45025         This is helpful for installers who configure --without-included-regex.
45026         Problem reported by Emanuele Giaquinta.
45027
45028 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45029
45030         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
45031         Typedef to long int, not to off_, as POSIX will likely change
45032         in that direction.
45033
45034 2006-03-15  Eric Blake  <ebb9@byu.net>
45035
45036         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
45037
45038 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45039
45040         * lib/argp-help.c (validate_uparams): Fix typo
45041         * lib/argp-parse.c (argp_default_options): Consistently begin help
45042         messages with a lowercase letter.
45043
45044 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45045
45046         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
45047         overrun buffers and shouldn't be used (much as gets shouldn't be
45048         used).
45049         * lib/time_r.c (asctime_r, ctime_r): Likewise.
45050
45051 2006-03-08  Simon Josefsson  <jas@extundo.com>
45052
45053         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
45054         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45055
45056 2006-03-08  Simon Josefsson  <jas@extundo.com>
45057
45058         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
45059         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45060
45061 2006-03-08  Simon Josefsson  <jas@extundo.com>
45062
45063         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
45064         signal that configure disabled the device.
45065
45066 2006-03-08  Simon Josefsson  <jas@extundo.com>
45067
45068         * build-aux/maint.mk: Fix refresh-po, to handle no translated
45069         languages.
45070
45071 2006-03-07  Simon Josefsson  <jas@extundo.com>
45072
45073         * modules/getopt (Depends-on): Add unistd.
45074
45075         * modules/unistd: New file.
45076
45077 2006-03-07  Simon Josefsson  <jas@extundo.com>
45078
45079         * modules/gc-random: New file.
45080
45081 2006-03-07  Simon Josefsson  <jas@extundo.com>
45082
45083         * m4/unistd_h.m4: New file.
45084
45085 2006-03-07  Simon Josefsson  <jas@extundo.com>
45086
45087         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
45088         test to be side-effect free by storing the result in the cache
45089         variable gl_cv_lib_readline, and moving the assignment of
45090         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
45091         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45092
45093 2006-03-07  Simon Josefsson  <jas@extundo.com>
45094
45095         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
45096         error on missing devices (the functions will return an error).
45097
45098         * m4/gc.m4: Move random stuff to gc-random.m4
45099
45100 2006-03-07  Simon Josefsson  <jas@extundo.com>
45101
45102         * lib/unistd_.h: New file.
45103
45104 2006-03-07  Simon Josefsson  <jas@extundo.com>
45105
45106         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
45107
45108 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45109
45110         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
45111         Problem reported by Juan Manuel Guerrero.
45112
45113 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45114
45115         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
45116         the unistd module.
45117         * lib/getlogin_r.c: Likewise.
45118         * lib/getlogin_r.h: Likewise.
45119         * lib/glob.c: Likewise.
45120         * lib/pagealign_alloc.c: Likewise.
45121         * lib/unistd_.h: Remove; no longer needed.
45122
45123 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45124
45125         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45126         Add unistd.
45127         * modules/c-stack (Depends-on): Add unistd.
45128         * modules/getlogin_r: Likewise.
45129         * modules/glob: Likewise.
45130         * modules/pagealign_alloc: Likewise.
45131         * modules/unistd (Files): Remove lib/unistd_.h.
45132         (EXTRA_DIST): Remove.
45133         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
45134         need unistd_.h.
45135         (MOSTLYCLEANFILES): Remove unistd.h-t.
45136
45137 2006-03-03  Simon Josefsson  <jas@extundo.com>
45138
45139         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
45140
45141 2006-03-03  Simon Josefsson  <jas@extundo.com>
45142
45143         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
45144         libidn and bison.
45145
45146 2006-03-03  Simon Josefsson  <jas@extundo.com>
45147
45148         * build-aux/maint.mk: Add indent target.
45149
45150 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
45151
45152         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
45153         our replacement poll.h in any case, to avoid a differing
45154         declaration from a system header.  Seen on AIX.
45155
45156 2006-03-01  Simon Josefsson  <jas@extundo.com>
45157
45158         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
45159         <kasal@ucw.cz>.
45160
45161 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45162
45163         * modules/gettime (Depends-on): Add extensions module.
45164         * modules/nanosleep (Depends-on): Likewise.
45165         * modules/settime (Depends-on): Likewise.
45166
45167 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45168
45169         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
45170         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
45171         pedantically.
45172         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45173         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
45174
45175         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
45176         not "==".  Reported by Ralf Wildenhues.
45177
45178 2006-03-01  Karl Berry  <karl@gnu.org>
45179
45180         * doc/Copyright/request-*: new files, synced from gnuorg.
45181
45182 2006-03-01  Karl Berry  <karl@gnu.org>
45183
45184         * config/srclist.txt (Copyright/*): new entries.
45185
45186 2006-02-28  Simon Josefsson  <jas@extundo.com>
45187
45188         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
45189
45190 2006-02-27  Simon Josefsson  <jas@extundo.com>
45191
45192         * lib/base64.h: Indent #define's.  From Jim Meyering
45193         <jim@meyering.net>.
45194
45195 2006-02-27  Jim Meyering  <jim@meyering.net>
45196
45197         Revert the change of 2006-02-24, so these files can continue
45198         to be sync'd from gettext.
45199         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
45200         of `config.h'.
45201
45202 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45203
45204         * modules/intprops: New file.
45205         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45206         Add intprops.
45207         * modules/getloadavg (Files): Remove lib/intprops.h.
45208         (Depends-on): Add intprops.
45209         * modules/human: Likewise.
45210         * modules/inttostr: Likewise.
45211         * modules/openat: Likewise.
45212         * modules/sig2str: Likewise.
45213         * modules/userspec: Likewise.
45214         * modules/utimecmp: Likewise.
45215         * modules/xnanosleep: Likewise.
45216         * modules/xstrtol: Likewise.
45217
45218 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
45219
45220         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
45221         * modules/lock-tests (TESTS): Use $(EXEEXT).
45222         * modules/tls-tests: Likewise.
45223         * modules/argp-tests: Likewise.
45224         (check_PROGRAMS): New var, replacing...
45225         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
45226
45227 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45228
45229         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
45230         `config.h'.
45231
45232 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45233
45234         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
45235
45236 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45237
45238         Sync from coreutils.
45239         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
45240         gl_CHDIR_SAFER.
45241
45242 2006-02-22  Jim Meyering  <jim@meyering.net>
45243
45244         Sync from coreutils.
45245         * m4/chdir-safer.m4: New file.
45246
45247 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
45248
45249         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
45250         AT_FDCWD exceeds INT_MAX.
45251         * lib/openat.h (AT_FDCWD): Likewise.
45252
45253 2006-02-17  Eric Blake  <address@hidden>
45254
45255         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
45256
45257 2006-02-16  Simon Josefsson  <jas@extundo.com>
45258
45259         * modules/getaddrinfo (Depends-on): Add sys_socket.
45260
45261 2006-02-15  Simon Josefsson  <jas@extundo.com>
45262
45263         * build-aux/maint.mk: Add dsyntax-check rule.
45264
45265 2006-02-15  Eric Blake  <ebb9@byu.net>
45266
45267         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
45268         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
45269         'present but cannot compile' warnings on cygwin.
45270         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
45271         use ws2tcpip.h if sys/socket.h works.
45272         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
45273         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
45274
45275 2006-02-14  Simon Josefsson  <jas@extundo.com>
45276
45277         * modules/maintainer-makefile (Files): Rename.
45278
45279         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
45280         and (the local) Makefile.cfg to maint-cfg.mk.
45281
45282         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
45283         to the latter.
45284
45285         * modules/maintainer-makefile: New module.
45286
45287         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
45288         severaly stripped to make it possible to build it up from scratch
45289         with reliable tests.
45290
45291         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
45292         fixes to permit overriding the default actions when configure and
45293         makefile are not available.
45294
45295 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
45296
45297         Sync from coreutils.
45298         * modules/lstat (Depends-on): Don't depend on xalloc.
45299         (License): Change from GPL to LGPL, since this is now simply a
45300         replacement for a libc function.
45301
45302 2006-02-14  Jim Meyering  <jim@meyering.net>
45303
45304         Sync from coreutils.
45305
45306         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
45307         failure on deficient systems, and simplify gnulib lgpl dependencies.
45308         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
45309         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
45310
45311         * lib/xalloc-die.c: Remove unused definition of N_.
45312
45313 2006-02-14  Jim Meyering  <jim@meyering.net>
45314
45315         Sync from coreutils.
45316         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
45317         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
45318         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
45319         double-quote uses of that variable, to accommodate the rare case in
45320         which getmntent is available in none of the libraries checked.  This
45321         happens at least on FreeBSD 5.0.
45322
45323 2006-02-13  Simon Josefsson  <jas@extundo.com>
45324
45325         * gnulib-tool (Usage): Fix --import, from
45326         karl@freefriends.org (Karl Berry).
45327
45328 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45329
45330         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
45331
45332 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
45333
45334         * lib/argp-namefrob.h: Restore changes accidentally lost during the
45335         "autoupdate" on 2005-12-12.
45336
45337 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45338
45339         * modules/closeout (Depends-on): Remove atexit.
45340
45341 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45342
45343         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
45344         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
45345
45346 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
45347
45348         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
45349         __EXTENSIONS__ if this causes compilation to fail.  Problem
45350         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
45351         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
45352
45353 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
45354
45355         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
45356         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
45357         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
45358         All uses changed.
45359
45360 2006-01-26  Simon Josefsson  <jas@extundo.com>
45361
45362         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
45363         prototype is visible on mingw32.
45364
45365         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
45366         for mingw32.
45367
45368         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
45369         mingw32).
45370
45371 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45372
45373         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
45374         attempt to open for write; this always fails, at least on POSIX
45375         hosts.  This reinstates the 2006-01-09 change, which was
45376         inadvertently removed.
45377
45378 2006-01-26  Bruno Haible  <bruno@clisp.org>
45379
45380         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
45381         Reported by Paul Eggert.
45382
45383 2006-01-26  Bruno Haible  <bruno@clisp.org>
45384             Paul Eggert  <eggert@cs.ucla.edu>
45385
45386         * lib/stdbool_.h (_Bool)
45387         [(! (defined __cplusplus || defined __BEOS__)
45388           && !defined __GNUC__
45389           && !(defined __HP_cc || defined __xlc__
45390                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
45391                || defined __sgi))]:
45392         #define to signed char in these cases too; this simplifies
45393         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
45394         etc., separately) and makes it more conservative.
45395
45396 2006-01-25  Simon Josefsson  <jas@extundo.com>
45397
45398         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
45399         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
45400         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
45401
45402 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45403
45404         * lib/argp-namefrob.h: Bugfix. Remove stray #
45405
45406 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45407
45408         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
45409         so that we test the test.
45410         Check for yet another HP-UX cc bug involving *bool |= bool.
45411
45412 2006-01-25  Karl Berry  <karl@gnu.org>
45413
45414         * config/srclist.txt (vasnprintf.c): sync lost.
45415
45416 2006-01-25  Jim Meyering  <jim@meyering.net>
45417
45418         Sync from the stable (b5) branch of coreutils:
45419
45420         * lib/fts.c (fts_children): Don't let close() clobber errno from
45421         failed fchdir().
45422
45423         * lib/fts.c (fts_stat): When following a symlink-to-directory,
45424         don't necessarily interpret stat-fails+lstat-succeeds as indicating
45425         a dangling symlink.  That can also happen at least for ELOOP.
45426         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
45427         FYI, this bug predates the inclusion of fts.c in coreutils.
45428
45429         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
45430         in their own block, so pre-c99 compilers don't object.
45431
45432         Avoid the double-free (first in fts_read, second in fts_close) that
45433         would occur when an `active' directory is made inaccessible (e.g.,
45434         via chmod a-x) during a traversal.
45435         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45436         before returning.  Reproduce this failure by
45437         mkdir -p a/b; cd a; chmod a-x . b
45438         Reported by Stavros Passas.
45439
45440 2006-01-25  Jim Meyering  <jim@meyering.net>
45441
45442         * lib/fileblocks.c: Remove more useless parentheses.
45443         * lib/readutmp.h: Likewise.
45444
45445 2006-01-25  Bruno Haible  <bruno@clisp.org>
45446
45447         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
45448         warnings.
45449         Reported by Paul Eggert.
45450
45451 2006-01-25  Bruno Haible  <bruno@clisp.org>
45452
45453         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
45454         rid of a trap command. For Solaris sh.
45455         Reported by Mark D. Baushke <mdb@gnu.org>.
45456
45457 2006-01-24  Simon Josefsson  <jas@extundo.com>
45458
45459         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
45460         Bruno.
45461
45462 2006-01-24  Karl Berry  <karl@gnu.org>
45463
45464         * config/srclist.txt (argp-namefrob.h): sync lost.
45465
45466 2006-01-24  Jim Meyering  <jim@meyering.net>
45467
45468         * modules/openat (Files): Add lib/intprops.h.
45469         From Mark D. Baushke.
45470
45471 2006-01-24  Jim Meyering  <jim@meyering.net>
45472
45473         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
45474         Reported by Mark D. Baushke.
45475
45476 2006-01-24  Jim Meyering  <jim@meyering.net>
45477
45478         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
45479
45480 2006-01-24  Bruno Haible  <bruno@clisp.org>
45481
45482         * modules/strnlen (Maintainer): Change from glibc to all.
45483
45484 2006-01-24  Bruno Haible  <bruno@clisp.org>
45485
45486         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
45487         Patch by Paul Eggert.
45488
45489 2006-01-24  Bruno Haible  <bruno@clisp.org>
45490
45491         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
45492         already has it.
45493         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
45494         2005-11-26.
45495
45496         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
45497         'signed char' to avoid problems with the built-in _Bool type.
45498         Reported by Paul Eggert on 2005-11-26.
45499
45500 2006-01-24  Bruno Haible  <bruno@clisp.org>
45501
45502         * gnulib-tool (func_import): Avoid constructing complicated sed
45503         expressions inside backquote.
45504         Report and solution by Mark D. Baushke <mdb@gnu.org>.
45505
45506 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
45507
45508         These changes imported from libc.
45509         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
45510         test and two separate function calls.
45511         * lib/strndup.c (__strndup): Add libc_hidden_def.
45512
45513 2006-01-23  Simon Josefsson  <jas@extundo.com>
45514
45515         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
45516         Remove the test_*_SOURCES variable: automake infers it by default.
45517         * modules/tls-tests: Likewise.
45518
45519 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45520
45521         Work around porting bugs reported by Dieter in
45522         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
45523         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
45524         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
45525         Include "getopt.h" first, to check interface.
45526         (getenv): Declare only if defined HAVE_DECL_GETENV &&
45527         !HAVE_DECL_GETENV.
45528         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
45529         (__strndup): Revert to K&R-style function dfns, the glibc style.
45530         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
45531         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
45532         Include strnlen.h first, to get prototype properly.
45533         (strnlen): Renamed from __strnlen.
45534         Remove weak alias.
45535
45536 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45537
45538         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
45539
45540 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45541
45542         * config/srclist.txt: Adjust to reflect glibc reorganization.
45543         This affects only comments.
45544
45545 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
45546
45547          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
45548          Reported by Bruce Korb <bkorb@gnu.org>.
45549
45550 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45551
45552         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
45553         to pacify gcc -Wswitch-default.
45554
45555 2006-01-22  Bruno Haible  <bruno@clisp.org>
45556
45557         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
45558         temporary buffer for sprintf, take into account the precision also
45559         for 'd', 'i', 'u', 'o', 'x', 'X'.
45560
45561 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45562
45563         * modules/argp-tests: New module
45564         * tests/test-argp.c: New file
45565         * tests/test-argp-2.sh: New file
45566
45567 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
45568
45569         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
45570         (__argp_base_name): Removed
45571         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
45572         typo.
45573         (__argp_base_name): Provide macro definition or extern declaration
45574         depending on the configuration
45575
45576 2006-01-20  Simon Josefsson  <jas@extundo.com>
45577
45578         * modules/inet_ntop (Depends-on): Depend on sys_socket.
45579
45580 2006-01-20  Simon Josefsson  <jas@extundo.com>
45581
45582         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
45583
45584 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45585
45586         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
45587         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
45588         Suggested by Bruno Haible.
45589
45590 2006-01-20  Karl Berry  <karl@gnu.org>
45591
45592         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
45593         until changes propagate, I guess.
45594
45595 2006-01-19  Simon Josefsson  <jas@extundo.com>
45596
45597         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
45598
45599 2006-01-19  Simon Josefsson  <jas@extundo.com>
45600
45601         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
45602
45603 2006-01-19  Simon Josefsson  <jas@extundo.com>
45604
45605         * gnulib-tool: Set check_PROGRAMS.
45606
45607         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
45608         modules/des-tests, modules/gc-arcfour-tests,
45609         modules/gc-arctwo-tests, modules/gc-des-tests,
45610         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
45611         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
45612         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
45613         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
45614         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
45615         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
45616         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
45617         test_*_SOURCES.
45618
45619 2006-01-18  Simon Josefsson  <jas@extundo.com>
45620
45621         * modules/socklen (Depends-on): Depend on sys_socket.
45622
45623 2006-01-18  Simon Josefsson  <jas@extundo.com>
45624
45625         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
45626         modules/des-tests, modules/gc-arcfour-tests,
45627         modules/gc-arctwo-tests, modules/gc-des-tests,
45628         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
45629         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
45630         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
45631         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
45632         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
45633         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
45634         $(EXEEXT) to automake TESTS variable, for mingw32.
45635
45636 2006-01-17  Simon Josefsson  <jas@extundo.com>
45637
45638         * modules/socklen (Include): Need sys/socket.h.
45639
45640 2006-01-17  Bruno Haible  <bruno@clisp.org>
45641
45642         * modules/ssize_t (Include): Add <sys/types.h>.
45643
45644 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
45645
45646         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
45647         it's not portable and it doesn't work with cross-compiles.
45648         Problem reported by Bruno Haible.  Fix missing-$ typo in
45649         'test "gl_cv_ignore_unused_libraries" ...' that prevented
45650         -zignore from being used with Sun's C compiler.
45651
45652 2006-01-12  Simon Josefsson  <jas@extundo.com>
45653
45654         * lib/base64.c: Fix warning, reported by Bruno Haible
45655         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
45656
45657 2006-01-12  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/ldd: New file.
45660         * build-aux/ldd.sh.in: New file.
45661         * MODULES.html.sh (Support for building libraries and executables): Add
45662         ldd.
45663
45664 2006-01-12  Bruno Haible  <bruno@clisp.org>
45665
45666         * m4/ldd.m4: New file.
45667
45668 2006-01-12  Bruno Haible  <bruno@clisp.org>
45669
45670         * gnulib-tool (func_import, func_create_testdir): Don't go into an
45671         endless loop while replacing $auxdir with build-aux.
45672
45673 2006-01-11  Simon Josefsson  <jas@extundo.com>
45674
45675         * lib/stdint_.h (SIZE_MAX): Add missing (.
45676
45677 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
45678
45679         Sync from coreutils.
45680         * lib/md5.c: Fix commentary typos.
45681         (alignof, UNALIGNED_P): No need for a GCC-specific version.
45682         * lib/md5.h (__attribute__): Remove; unused.
45683         * lib/sha1.c: Fix commentary to match md5 better.
45684         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
45685         so that we don't need to worry about alignment.  All uses changed.
45686         This merges the 2005-10-28 md5 change into sha1.
45687
45688 2006-01-11  Jim Meyering  <jim@meyering.net>
45689
45690         Sync from coreutils.
45691         * lib/md5.c (OP): Fix spacing.
45692
45693 2006-01-11  Bruno Haible  <bruno@clisp.org>
45694
45695         Ensure automatic ordering between gl_LOCK and gl_ARGP.
45696         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
45697         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
45698
45699 2006-01-11  Bruno Haible  <bruno@clisp.org>
45700
45701         Ensure automatic ordering between gl_LOCK and gl_ARGP.
45702         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
45703         the "early" section as well.
45704
45705 2006-01-11  Bruno Haible  <bruno@clisp.org>
45706
45707         Avoid "ar: no archive members specified" error on MacOS X.
45708         * gnulib-tool (func_modules_add_dummy): New function.
45709         (func_import, func_create_testdir): Invoke it.
45710
45711 2006-01-11  Bruno Haible  <bruno@clisp.org>
45712
45713         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
45714         with $auxdir in AC_CONFIG_FILES statements.
45715
45716 2006-01-11  Bruno Haible  <bruno@clisp.org>
45717
45718         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45719         Initialize also noinst_HEADERS to empty.
45720
45721 2006-01-11  Bruno Haible  <bruno@clisp.org>
45722
45723         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
45724         variables.
45725         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
45726         autoreconf.
45727
45728 2006-01-11  Bruno Haible  <bruno@clisp.org>
45729
45730         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
45731         overridable by the user.
45732         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45733
45734 2006-01-10  Simon Josefsson  <jas@extundo.com>
45735
45736         * modules/sys_socket: New file.
45737
45738 2006-01-10  Simon Josefsson  <jas@extundo.com>
45739
45740         * m4/sys_socket_h.m4: New file.
45741
45742 2006-01-10  Simon Josefsson  <jas@extundo.com>
45743
45744         * lib/socket_.h: New file.
45745
45746 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45747
45748         * modules/readutmp (Maintainer): Add myself.
45749
45750 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45751
45752         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
45753         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
45754         People who are still concerned with buggy memcmp implementations
45755         can invoke gl_FUNC_MEMCMP themselves.
45756
45757 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45758
45759         * lib/regex_internal.h (BITSET_WORD_BITS):
45760         Work around a bug in 64-bit PGC (before version 6.1-2), where the
45761         preprocessor mishandles large unsigned values as if they were signed.
45762         Problem reported by Claudio Fontana in
45763         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
45764
45765 2006-01-10  Jim Meyering  <jim@meyering.net>
45766
45767         Avoid the double-free (first in fts_read, second in fts_close) that
45768         would occur when an `active' directory is made inaccessible (e.g.,
45769         via chmod a-x) during a traversal.
45770         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45771         before returning.  Reproduce this failure by
45772         mkdir -p a/b; cd a; chmod a-x . b
45773         Reported by Stavros Passas.
45774
45775         Sync from coreutils.
45776         * lib/sha1.c: Tweak grammar in a comment.
45777
45778 2006-01-10  Jim Meyering  <jim@meyering.net>
45779
45780         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
45781         Patch by Joerg Sonnenberger.
45782
45783 2006-01-10  Bruno Haible  <bruno@clisp.org>
45784
45785         * modules/readutmp: Depend on module free.
45786         * modules/strtok_r: Depend on module restrict.
45787
45788 2006-01-10  Bruno Haible  <bruno@clisp.org>
45789
45790         * modules/gettext (configure.ac): Add an invocation of
45791         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
45792
45793 2006-01-10  Bruno Haible  <bruno@clisp.org>
45794
45795         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
45796         Reported by Werner Lemberg <wl@gnu.org>.
45797
45798 2006-01-10  Bruno Haible  <bruno@clisp.org>
45799
45800         * lib/localcharset.c: Update from GNU gettext.
45801
45802 2006-01-10  Bruno Haible  <bruno@clisp.org>
45803
45804         * lib/argp.h (__const): Remove macro. Use const instead.
45805         * lib/argp-fmtstream.h (__const): Likewise.
45806         * lib/glob_.h (__const): Remove macro.
45807         * lib/glob-libc.h: Use const instead of __const.
45808
45809 2006-01-10  Bruno Haible  <bruno@clisp.org>
45810
45811         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
45812         variable.
45813         Needed to avoid an automake error regarding the 'gettext' module.
45814
45815 2006-01-09  Simon Josefsson  <jas@extundo.com>
45816
45817         * modules/inet_ntop (Depends-on): Add restrict.
45818
45819 2006-01-09  Simon Josefsson  <jas@extundo.com>
45820
45821         * modules/gc-rijndael-tests (License): Put under LGPL.
45822
45823         * modules/gc-des-tests (License): Likewise.
45824
45825         * modules/gc-arcfour-tests (License): Likewise.
45826
45827         * modules/gc-arctwo-tests (License): Likewise.
45828
45829         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
45830
45831         * modules/gc-hmac-sha1-tests (Files): Likewise.
45832
45833         * modules/gc-hmac-md5-tests (License): Likewise.
45834
45835         * modules/gc-sha1-tests (License): Likewise.
45836
45837         * modules/gc-md5-tests (License): Likewise.
45838
45839         * modules/gc-md4-tests (License): Likewise.
45840
45841         * modules/gc-md2-tests (License): Likewise.
45842
45843         * modules/gc-tests (License): Likewise.
45844
45845         * modules/des-tests (License): Likewise.
45846
45847         * modules/md4-tests (License): Likewise.
45848
45849         * modules/md2-tests (License): Likewise.
45850
45851 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45852
45853         Sync from coreutils:
45854
45855         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
45856         * modules/lib-ignore: New file.
45857         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
45858         chdir-safer.m4, lchmod.m4.
45859         * modules/openat: Add mkdirat.c, openat-priv.h.
45860
45861 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45862
45863         Sync from coreutils.
45864         * m4/lib-ignore.m4: New file.
45865         * m4/lchmod.m4: New file.
45866
45867 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45868
45869         Sync from coreutils.
45870         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
45871         for write access: POSIX says that must fail.
45872         * lib/fts.c (diropen): Likewise.
45873         * lib/save-cwd.c (save_cwd): Likewise.
45874         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
45875         well, for minor improvements on hosts that lack O_DIRECTORY.
45876         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
45877         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
45878         Fall back on chown if open failed with EACCES.
45879
45880         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
45881         Report an error at compile-time if only a 1-second nominal clock
45882         resolution is found.
45883
45884         * lib/lchmod.h: New file.
45885         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
45886         (make_dir_parents): Use lchown rather than chown, and
45887         lchmod rather than chmod.
45888
45889         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
45890         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
45891         "proc" reported by n0dalus.
45892
45893         * lib/mountlist.c: Include <limits.h>.
45894         (dev_from_mount_options)
45895         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
45896         New function.  It no longer assumes "dev=" has the System V meaning
45897         on Linux (since it doesn't).  It also parses "dev=" more carefully.
45898         (read_file_system_list)
45899         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
45900         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
45901         dev= in that case.
45902
45903         * lib/posixtm.h (PDS_PRE_2000): New macro.
45904         * lib/posixtm.c (year): Arg is now syntax_bits rather than
45905         allow_century.  All usages changed.  Reject dates outside the range
45906         1969-1999 if PDS_PRE_2000 is used.
45907
45908 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
45909
45910         Sync from coreutils.
45911         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
45912         (Time of day items): Mention the possibility of leap seconds.
45913         Problem reported by Dr. David Alan Gilbert.
45914
45915 2006-01-09  Jim Meyering  <jim@meyering.net>
45916
45917         Sync from coreutils.
45918
45919         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
45920
45921         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
45922
45923         * lib/modechange.c (mode_compile): Reject an invalid mode string
45924         that starts with an octal digit.  From Andreas Gruenbacher.
45925
45926         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
45927         and dup to open_safer and dup_safer, respectively.
45928         (openat_permissive): Fix typo in comment.
45929
45930         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
45931         "gettext.h"; either no longer needed or are guaranteed by openat.h.
45932         (_): Remove; no longer needed.
45933         (openat): Renamed from rpl_openat; no need for rpl_openat
45934         since openat.h renames openat for us.
45935         Replace most of the body with a call to openat_permissive,
45936         to avoid duplicate code.
45937         Port to (probably hypothetical) environments were mode_t is
45938         wider than int.
45939         (openat_permissive): Require mode arg, so that we can check
45940         types better.  Put it just after flags.  Change cwd failure
45941         indicator from pointer-to-bool to pointer-to-errno-value.
45942         All callers changed.
45943         Invoke openat_save_fail and/or openat_restore_fail if
45944         cwd_errno is null, so that openat can call us.
45945         (openat_permissive, fdopendir, fstatat, unlinkat):
45946         Simplify errno handling to avoid some duplicate code,
45947         as it's OK to set errno on success.
45948         * lib/openat.h: Revamp code so that function macros depend on
45949         __OPENAT_PREFIX only, not also on AT_FDCWD.
45950         (openat_ro): Remove.  Caller changed to use openat_permissive.
45951         (openat_permissive): Now a macro, if not a function.
45952         (openat_restore_fail, openat_save_fail): Now always functions,
45953         since mkdirat needs them even if __OPENAT_PREFIX is defined.
45954
45955         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
45956         and openat.c.
45957         * lib/mkdirat.c: Include openat-priv.h.
45958         Remove definitions of macros defined therein.
45959         * lib/openat.c: Likewise.
45960
45961         * lib/mkdirat.c (mkdirat): New file and function.
45962         * lib/openat.h (mkdirat): Declare.
45963
45964         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
45965
45966         * lib/openat.h (openat_permissive): Declare.
45967         (openat_ro): Define.
45968
45969         * lib/openat.c (EXPECTED_ERRNO): New macro.
45970         (openat_permissive): New function -- used in remove.c rewrite.
45971         (all functions): Set errno just before returning, only if there
45972         was an actual failure.
45973         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
45974
45975         Emulate openat-family functions using Linux's procfs, if possible.
45976         Idea and some code based on Ulrich Drepper's glibc changes.
45977
45978         * lib/openat.c: (BUILD_PROC_NAME): New macro.
45979         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
45980         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
45981         before falling back on save_cwd and restore_cwd.
45982         (fdopendir, fstatat, unlinkat): Likewise.
45983
45984         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
45985         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
45986
45987         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
45988         as second argument to va_arg.  Otherwise, some versions of gcc
45989         warn that `if this code is reached, the program will abort'.
45990
45991 2006-01-09  Jim Meyering  <jim@meyering.net>
45992
45993         Sync from coreutils.
45994         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
45995         Require openat-priv.h.
45996
45997 2006-01-09  Bruno Haible  <bruno@clisp.org>
45998
45999         * modules/strnlen (Include): Use strnlen.h.
46000
46001 2006-01-09  Bruno Haible  <bruno@clisp.org>
46002
46003         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
46004
46005 2006-01-09  Bruno Haible  <bruno@clisp.org>
46006
46007         * lib/sysexit_.h (EX_OK): New macro.
46008         Suggested by Martin Lambers <marlam@marlam.de>.
46009
46010 2006-01-09  Bruno Haible  <bruno@clisp.org>
46011
46012         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
46013         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
46014
46015 2006-01-09  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
46018         numbers.
46019
46020 2006-01-09  Bruno Haible  <bruno@clisp.org>
46021
46022         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
46023         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
46024         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
46025         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
46026
46027 2006-01-09  Bruno Haible  <bruno@clisp.org>
46028
46029         * build-aux/javacomp.sh.in: New file, moved from lib/.
46030         * modules/javacomp-script (Files): Update.
46031         (configure.ac): Add AC_CONFIG_FILES invocation.
46032         (EXTRA_DIST): Remove variable.
46033
46034         * build-aux/javaexec.sh.in: New file, moved from lib/.
46035         * modules/javaexec (Files): Update.
46036         (configure.ac): Add AC_CONFIG_FILES invocation.
46037         (EXTRA_DIST): Remove javaexec.sh.in.
46038
46039         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
46040         * modules/csharpcomp-script (Files): Update.
46041         (configure.ac): Add AC_CONFIG_FILES invocation.
46042         (EXTRA_DIST): Remove variable.
46043
46044         * build-aux/csharpexec.sh.in: New file, moved from lib/.
46045         * modules/csharpexec (Files): Update.
46046         (configure.ac): Add AC_CONFIG_FILES invocation.
46047         (EXTRA_DIST): Remove csharpexec.sh.in.
46048
46049 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46050
46051         Sync from coreutils.
46052
46053         Add POSIX ACL support
46054         * lib/acl.h (copy_acl, set_acl): Add declarations.
46055         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
46056         systems other than Linux.
46057         (chmod_or_fchmod): New function: use fchmod when possible,
46058         and chmod otherwise.
46059         (file_has_acl): Add a POSIX ACL implementation, with a
46060         Linux-specific subcase.
46061         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
46062         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
46063         acls are unsupported.
46064         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
46065         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
46066         are unsupported.
46067
46068 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46069
46070         Sync from coreutils.
46071         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
46072
46073 2006-01-07  Bruno Haible  <bruno@clisp.org>
46074
46075         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
46076         gl_EARLY.
46077
46078 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46079
46080         * lib/strftime.c (tzname): Don't declare if it is already #defined.
46081         Problem reported for Mingw by Mark Junker.
46082
46083 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46084
46085         * README: Gnulib normally doesn't generate a tarball.
46086
46087 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
46088
46089         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
46090         long int, not int, for nanosecond counts, so that people who are
46091         used to POSIX struct timespec won't be surprised.  Reported by Jim
46092         Meyering.
46093
46094 2005-12-28  Bruno Haible  <bruno@clisp.org>
46095
46096         * build-aux/config.rpath: Update from GNU gettext.
46097
46098 2005-12-16  Jim Meyering  <jim@meyering.net>
46099
46100         * modules/fprintftime: New module.
46101         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
46102
46103 2005-12-16  Jim Meyering  <jim@meyering.net>
46104
46105         * m4/fprintftime.m4: New file.
46106
46107 2005-12-16  Jim Meyering  <jim@meyering.net>
46108
46109         * lib/fprintftime.c, lib/fprintftime.h: New files.
46110
46111 2005-12-15  Simon Josefsson  <jas@extundo.com>
46112
46113         * modules/socklen (configure.ac): Fix M4 macro name, to align with
46114         new m4/socklen.m4.
46115
46116 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46117
46118         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
46119         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
46120
46121 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46122
46123         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
46124         * lib/argp-help.c (fill_in_uparams): Check if the constructed
46125         struct uparams is valid. Fall back to the default values if it is
46126         not.
46127
46128 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46129
46130         * modules/argp (Files): Add argp-pin.c
46131         (Depends-on): dirname
46132         (lib_SOURCES): Add argp-pin.c
46133
46134 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46135
46136         * m4/argp.m4:  Check if program_invocation_name and
46137         program_invocation_short_name are declared and define appropriate
46138         macros if they are not.
46139
46140 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46141
46142         * lib/argp-help.c (__argp_base_name): New function
46143         (__argp_short_program_name): Rewrite using __argp_base_name
46144         * lib/argp-namefrob.h: Define program_invocation_name and
46145         program_invocation_short_name if requested
46146         (__argp_base_name): Add prototype
46147         * lib/argp-parse.c (argp_def): Use gettext wrappers
46148         (argp_default_parser): Use __argp_base_name
46149         * lib/argp-pin.c: New file. Defines program_invocation_name and
46150         program_invocation_short_name on systems that lack them.
46151
46152 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46153
46154         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
46155         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46156         porting problem reported by Georg Schwarz in
46157         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46158
46159 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46160
46161         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
46162         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46163         porting problem reported by Georg Schwarz in
46164         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46165
46166 2005-12-05  Bruno Haible  <bruno@clisp.org>
46167
46168         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
46169         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
46170         Reported by Mark Junker <mjscod@gmx.de>.
46171
46172 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
46173
46174         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
46175         Use implementation from Albert Chin, with some
46176         comments/corrections by Stepan Kasal and myself.
46177
46178 2005-12-02  Bruno Haible  <bruno@clisp.org>
46179
46180         * gnulib-tool (func_import): Accept GPLed build tool modules when
46181         --lgpl is given.
46182         * modules/csharpcomp-script: New file.
46183         * modules/csharpcomp: Depend on it.
46184         * modules/javacomp-script: New file.
46185         * modules/javacomp: Depend on it.
46186         Suggested by Simon Josefsson.
46187
46188 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46189
46190         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
46191         statement, to work around an HP-UX 10.20 compiler bug reported by
46192         Peter O'Gorman.
46193
46194 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46195
46196         * modules/savedir (Depends-on): Add openat.
46197
46198 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46199
46200         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
46201         (uintmax_t) [defined uintmax_t]: Do not declare.
46202         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
46203         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
46204         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
46205         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
46206         sake of portability to weird hosts that C allows (though we don't
46207         know of any practical examples).
46208
46209         * lib/savedir.h (fdsavedir): New decl.
46210         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
46211         contains most of the former guts of savedir.
46212         (savedir): Use savedirstream.
46213         Include "openat.h".
46214
46215 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46216
46217         * modules/obstack (Files): Add m4/ulonglong.m4.
46218         Problem reported by Davide Angelocola.
46219
46220 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46221
46222         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
46223         coreutils no longer futzes with rounding modes.
46224
46225 2005-11-14  Jim Meyering  <jim@meyering.net>
46226
46227         * lib/mkstemp-safer.c: Include <config.h>, required for possible
46228         replacement of mkstemp.
46229
46230 2005-11-10  Simon Josefsson  <jas@extundo.com>
46231
46232         * lib/readline.c: Remove EOL.
46233
46234 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46235
46236         * modules/gethrxtime (Depends-on): Add gettime.
46237
46238 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46239
46240         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
46241         or gettimeofday; no longer needed.
46242
46243 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46244
46245         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
46246         time business.
46247         (gethrxtime) [! (HAVE_NANOUPTIME
46248         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
46249         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
46250         our own approximation.
46251
46252 2005-11-08  Eric Blake  <ebb9@byu.net>
46253
46254         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46255
46256 2005-11-08  Eric Blake  <ebb9@byu.net>
46257
46258         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46259
46260 2005-11-04  Bruno Haible  <bruno@clisp.org>
46261
46262         * gnulib-tool: Implement --update mode.
46263
46264 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46265
46266         Fix porting problem reported by Theodoros V. Kalamatianos.
46267         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
46268         Don't assume that futimes failing means we must fail.
46269
46270 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46271
46272         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
46273         variables to suggest the intended function of the PATH_MAX check.
46274
46275 2005-10-30  Kean Johnston  <jkj@sco.com>
46276
46277         Trivial changes to support SCO systems.
46278         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
46279         as PATH_MAX.
46280         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
46281         where __ptr is null when no I/O is pending.
46282
46283 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46284
46285         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
46286         leave errno alone.  Problem reported by Dmitry V. Levin.
46287
46288 2005-10-28  Simon Josefsson  <jas@extundo.com>
46289
46290         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
46291         Test more.
46292
46293         * tests/test-gc-md2.c, tests/test-md2.c: New files.
46294
46295         * modules/md2, modules/md2-tests: New files.
46296
46297 2005-10-28  Simon Josefsson  <jas@extundo.com>
46298
46299         * m4/inet_ntop.m4: More tests.
46300
46301         * m4/gc-md2.m4, md2.m4: New file.
46302
46303 2005-10-28  Simon Josefsson  <jas@extundo.com>
46304
46305         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
46306         "restrict" keywords, as per POSIX.  Protect the function
46307         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
46308         Don't use K&R prototypes.  Check the sprintf return values.
46309         Re-define EAFNOSUPPORT if not present.  Indent.
46310
46311         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
46312         suggested by Bruno Haible <bruno@clisp.org>.
46313
46314         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
46315
46316         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
46317
46318         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
46319         libgcrypt).
46320
46321         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
46322
46323         * lib/md2.h, lib/md2.c: New files.
46324
46325 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
46326
46327         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
46328         errno alone.  Problem reported by Frederic Jolliton.
46329
46330 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46331
46332         * modules/verify (License): Change from GPL to LGPL.  This is a
46333         tiny module and there are apparently near-equivalents that are
46334         under the BSD license.
46335
46336 2005-10-24  Simon Josefsson  <jas@extundo.com>
46337
46338         * modules/sha1: Relicense to LGPL.
46339
46340 2005-10-24  Simon Josefsson  <jas@extundo.com>
46341
46342         * lib/md4.h: Shrink buffer size, now that we changed the type.
46343
46344 2005-10-23  Simon Josefsson  <jas@extundo.com>
46345
46346         * gnulib-tool (func_import): Fix --tests-base.
46347
46348 2005-10-22  Simon Josefsson  <jas@extundo.com>
46349
46350         * modules/arcfour (Depends-on): Need stdint.
46351
46352 2005-10-22  Simon Josefsson  <jas@extundo.com>
46353
46354         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
46355         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
46356
46357 2005-10-22  Simon Josefsson  <jas@extundo.com>
46358
46359         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
46360         suggested by Bruno Haible <bruno@clisp.org>.
46361
46362 2005-10-22  Simon Josefsson  <jas@extundo.com>
46363
46364         * lib/crc.h: Include stddef.h, for size_t.
46365
46366 2005-10-22  Simon Josefsson  <jas@extundo.com>
46367
46368         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
46369         arcfour_context struct (simplify test vector testing in GNU
46370         Shishi).
46371
46372 2005-10-21  Simon Josefsson  <jas@extundo.com>
46373
46374         * modules/des, modules/des-tests: New files.
46375
46376         * modules/gc-des, modules/gc-des-tests: New files.
46377
46378         * tests/test-des.c, tests/test-gc-des.c: New file.
46379
46380 2005-10-21  Simon Josefsson  <jas@extundo.com>
46381
46382         * modules/arctwo, modules/arctwo-tests: New files.
46383
46384         * tests/test-arctwo.c: New file.
46385
46386         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
46387
46388         * tests/test-gc-arctwo.c: New file.
46389
46390 2005-10-21  Simon Josefsson  <jas@extundo.com>
46391
46392         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
46393         Bruno Haible <bruno@clisp.org>.
46394
46395         * m4/gc-des.m4: New file.
46396
46397 2005-10-21  Simon Josefsson  <jas@extundo.com>
46398
46399         * m4/arctwo.m4: New file.
46400
46401         * m4/gc-arctwo.m4: New file.
46402
46403 2005-10-21  Simon Josefsson  <jas@extundo.com>
46404
46405         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
46406         block.
46407
46408 2005-10-21  Simon Josefsson  <jas@extundo.com>
46409
46410         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
46411         <bruno@clisp.org>.
46412
46413         * lib/hmac-sha1.c (hmac_sha1): Likewise.
46414
46415         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
46416         Bruno Haible <bruno@clisp.org>.
46417
46418         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
46419         <bruno@clisp.org>.
46420
46421 2005-10-21  Simon Josefsson  <jas@extundo.com>
46422
46423         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
46424
46425 2005-10-21  Simon Josefsson  <jas@extundo.com>
46426
46427         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
46428
46429 2005-10-21  Simon Josefsson  <jas@extundo.com>
46430
46431         * lib/des.h, lib/des.c: New files.
46432
46433         * lib/gc-gnulib.c: Support DES.c
46434
46435 2005-10-21  Simon Josefsson  <jas@extundo.com>
46436
46437         * lib/arctwo.h, lib/arctwo.c: New files.
46438
46439         * lib/gc-gnulib.c: Support ARCTWO.
46440
46441 2005-10-21  Simon Josefsson  <jas@extundo.com>
46442
46443         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
46444         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46445
46446 2005-10-21  Simon Josefsson  <jas@extundo.com>
46447
46448         * gnulib-tool (func_import, func_create_testdir): Define automake
46449         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
46450         Makefile.am snippet),
46451         suggested by Bruno Haible <bruno@clisp.org>.
46452
46453         * modules/gc (Makefile.am): Use it.
46454
46455 2005-10-21  Bruno Haible  <bruno@clisp.org>
46456
46457         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
46458         patch.
46459
46460 2005-10-19  Simon Josefsson  <jas@extundo.com>
46461
46462         * tests/test-gc-rijndael.c: New file.
46463
46464         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
46465
46466 2005-10-19  Simon Josefsson  <jas@extundo.com>
46467
46468         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
46469         interface too.
46470
46471 2005-10-19  Simon Josefsson  <jas@extundo.com>
46472
46473         * tests/test-gc-arcfour.c: New file.
46474
46475         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
46476
46477 2005-10-19  Simon Josefsson  <jas@extundo.com>
46478
46479         * modules/gc-md4, modules/gc-md4-tests: New file.
46480
46481         * tests/test-gc-md4.c: New file.
46482
46483 2005-10-19  Simon Josefsson  <jas@extundo.com>
46484
46485         * m4/gc-md4.m4: New file.
46486
46487 2005-10-19  Simon Josefsson  <jas@extundo.com>
46488
46489         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
46490         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
46491         <kasal@ucw.cz>.
46492
46493 2005-10-19  Simon Josefsson  <jas@extundo.com>
46494
46495         * m4/gc-arcfour.m4: New file.
46496
46497         * m4/gc-rijndael.m4: New file.
46498
46499 2005-10-19  Simon Josefsson  <jas@extundo.com>
46500
46501         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
46502
46503 2005-10-19  Simon Josefsson  <jas@extundo.com>
46504
46505         * lib/gc-gnulib.c: Support ARCFOUR.
46506
46507 2005-10-19  Simon Josefsson  <jas@extundo.com>
46508
46509         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
46510         support.
46511
46512         * lib/gc.h: Add ECB enum type.
46513
46514         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
46515
46516 2005-10-18  Simon Josefsson  <jas@extundo.com>
46517
46518         * tests/test-md5.c: New file.
46519
46520         * modules/md5-tests: New file.
46521
46522 2005-10-18  Simon Josefsson  <jas@extundo.com>
46523
46524         * tests/test-md4.c: New file.
46525
46526         * modules/md4, modules/md4-tests: New files.
46527
46528 2005-10-18  Simon Josefsson  <jas@extundo.com>
46529
46530         * m4/md4.m4: New file.
46531
46532 2005-10-18  Simon Josefsson  <jas@extundo.com>
46533
46534         * lib/md4.h, lib/md4.c: New files, based on md5.?.
46535
46536 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
46537
46538         * gnulib-tool (func_create_testdir): Omit the second check whether
46539         BUILT_SOURCES in nonempty.
46540
46541 2005-10-17  Simon Josefsson  <jas@extundo.com>
46542
46543         * tests/test-rijndael.c: New file.
46544
46545 2005-10-17  Simon Josefsson  <jas@extundo.com>
46546
46547         * modules/sha1: Depend on stdint instead of md5.
46548
46549         * modules/md5: Depend on stdint, remove uint32_t.
46550
46551 2005-10-17  Simon Josefsson  <jas@extundo.com>
46552
46553         * modules/gc-sha1-tests: New file.
46554
46555         * tests/test-gc-sha1.c: New file.
46556
46557 2005-10-17  Simon Josefsson  <jas@extundo.com>
46558
46559         * m4/md5.m4: Remove call to uint32_t.m4.
46560
46561 2005-10-17  Simon Josefsson  <jas@extundo.com>
46562
46563         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
46564
46565         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
46566         md5.h.
46567
46568         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
46569
46570         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
46571
46572 2005-10-17  Simon Josefsson  <jas@extundo.com>
46573
46574         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
46575
46576 2005-10-17  Simon Josefsson  <jas@extundo.com>
46577
46578         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
46579
46580 2005-10-17  Simon Josefsson  <jas@extundo.com>
46581
46582         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
46583
46584         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
46585
46586 2005-10-17  Bruno Haible  <bruno@clisp.org>
46587
46588         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
46589         that it can also be used in a test.
46590
46591 2005-10-16  Bruno Haible  <bruno@clisp.org>
46592
46593         * gnulib-tool (func_emit_tests_Makefile_am): Also define
46594         TESTS_ENVIRONMENT, so that individual tests can augment it.
46595
46596         * gnulib-tool (func_create_testdir): Use an intermediate target for
46597         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
46598         macros, like $(ALLOCA_H), which cannot be passed through the command
46599         line.
46600
46601 2005-10-15  Simon Josefsson  <jas@extundo.com>
46602
46603         * modules/rijndael-tests: New file.
46604
46605         * modules/rijndael: New file.
46606
46607 2005-10-15  Simon Josefsson  <jas@extundo.com>
46608
46609         * m4/rijndael.m4: New file.
46610
46611 2005-10-15  Simon Josefsson  <jas@extundo.com>
46612
46613         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
46614
46615         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
46616
46617 2005-10-14  Simon Josefsson  <jas@extundo.com>
46618
46619         * tests/test-arcfour.c: New file.
46620
46621         * modules/arcfour, modules/arcfour-tests: New files.
46622
46623 2005-10-14  Simon Josefsson  <jas@extundo.com>
46624
46625         * m4/arcfour.m4: New file.
46626
46627 2005-10-14  Simon Josefsson  <jas@extundo.com>
46628
46629         * lib/arcfour.h, lib/arcfour.c: New files.
46630
46631 2005-10-14  Roland McGrath  <roland@redhat.com>
46632
46633         Import from libc.  [BZ #1331]
46634         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
46635         macro argument.
46636         Reported by Matej Vela <vela@debian.org>.
46637
46638 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46639
46640         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
46641         include <wchar.h>; no longer needed.
46642
46643 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46644
46645         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
46646
46647 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
46648         and  Ulrich Drepper  <drepper@redhat.com>
46649
46650         Import from libc.
46651         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
46652         instead of inline stream orientation test and two separate
46653         function calls.  Pay no attention to USE_IN_LIBIO.
46654
46655 2005-10-13  Simon Josefsson  <jas@extundo.com>
46656
46657         * modules/gc-hmac-md5-tests: New file.
46658
46659         * tests/test-gc-hmac-sha1.c: New file.
46660
46661         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
46662
46663         * modules/gc-hmac-md5-tests: New file.
46664
46665         * tests/test-gc-md5.c: New file.
46666
46667         * modules/gc-md5-tests: New file.
46668
46669 2005-10-13  Simon Josefsson  <jas@extundo.com>
46670
46671         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
46672         Move memory allocation outside of loop.
46673
46674 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
46675
46676         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
46677         intermediate directory is in a read-only file system.  Problem
46678         reported by Eric Blake.
46679
46680 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
46681
46682         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
46683
46684 2005-10-12  Simon Josefsson  <jas@extundo.com>
46685
46686         * tests/test-hmac-sha1.c: New file.
46687
46688         * modules/hmac-sha1-tests: New file.
46689
46690         * modules/hmac-sha1: New file.
46691
46692 2005-10-12  Simon Josefsson  <jas@extundo.com>
46693
46694         * modules/gc-sha1: New file.
46695
46696 2005-10-12  Simon Josefsson  <jas@extundo.com>
46697
46698         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
46699
46700         * tests/test-gc-pbkdf2-sha1.c: New file.
46701
46702 2005-10-12  Simon Josefsson  <jas@extundo.com>
46703
46704         * modules/gc-md5, modules/gc-hmac-md5: New files.
46705
46706         * modules/gc (Files): Remove md5, memxor and hmac files.
46707
46708 2005-10-12  Simon Josefsson  <jas@extundo.com>
46709
46710         * m4/gc-pbkdf2-sha1.m4: New file.
46711
46712         * m4/gc-hmac-sha1.m4: New file.
46713
46714         * m4/gc-sha1: New file.
46715
46716         * m4/hmac-sha1.m4: New file.
46717
46718 2005-10-12  Simon Josefsson  <jas@extundo.com>
46719
46720         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
46721
46722         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
46723
46724 2005-10-12  Simon Josefsson  <jas@extundo.com>
46725
46726         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
46727         suggested by Bruno Haible <bruno@clisp.org>.
46728
46729 2005-10-12  Simon Josefsson  <jas@extundo.com>
46730
46731         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
46732
46733 2005-10-12  Simon Josefsson  <jas@extundo.com>
46734
46735         * lib/gc-pbkdf2-sha1.c: New file.
46736
46737         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
46738
46739 2005-10-12  Simon Josefsson  <jas@extundo.com>
46740
46741         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
46742
46743         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
46744
46745 2005-10-12  Simon Josefsson  <jas@extundo.com>
46746
46747         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
46748         GC_USE_HMAC_MD5, respectively.
46749
46750         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
46751         (gc_md5): Fix typo.
46752
46753         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
46754
46755         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
46756
46757         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
46758
46759 2005-10-12  Bruno Haible  <bruno@clisp.org>
46760
46761         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
46762         Reported by Stepan Kasal <kasal@ucw.cz>.
46763
46764 2005-10-11  Simon Josefsson  <jas@extundo.com>
46765
46766         * tests/test-crc.c: New file.
46767
46768         * modules/crc, modules/crc-tests: New files.
46769
46770 2005-10-11  Simon Josefsson  <jas@extundo.com>
46771
46772         * m4/crc.m4: New file.
46773
46774 2005-10-11  Simon Josefsson  <jas@extundo.com>
46775
46776         * lib/gc.h: Add gc_hash and gc_hash_buffer.
46777
46778         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
46779
46780         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
46781
46782 2005-10-11  Simon Josefsson  <jas@extundo.com>
46783
46784         * lib/crc.h, lib/crc.c: New files.
46785
46786         * lib/gc.h (gc_hash_buffer): Add doc.
46787
46788 2005-10-11  Bruno Haible  <bruno@clisp.org>
46789
46790         * modules/c-strcasestr: New file.
46791         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
46792
46793 2005-10-11  Bruno Haible  <bruno@clisp.org>
46794
46795         * modules/c-strcase: New file.
46796         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
46797
46798 2005-10-11  Bruno Haible  <bruno@clisp.org>
46799
46800         * lib/strcasecmp.c: Include limits.h.
46801         (strcasecmp): Avoid integer overflow on exotic platforms.
46802         * lib/strncasecmp.c: Include limits.h.
46803         (strncasecmp): Avoid integer overflow on exotic platforms.
46804         Reported by Paul Eggert.
46805
46806 2005-10-11  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/c-strcasestr.h: New file, from GNU gettext.
46809         * lib/c-strcasestr.c: New file, from GNU gettext.
46810
46811 2005-10-11  Bruno Haible  <bruno@clisp.org>
46812
46813         * lib/c-strcase.h: New file, from GNU gettext.
46814         * lib/c-strcasecmp.c: New file, from GNU gettext.
46815         * lib/c-strncasecmp.c: New file, from GNU gettext.
46816
46817 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46818
46819         * modules/mempcpy (License): GPL -> LGPL.
46820         * modules/strchrnul (License): Likewise.
46821         * modules/sysexits (License): Likewise.
46822
46823 2005-10-08  Simon Josefsson  <jas@extundo.com>
46824
46825         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
46826
46827 2005-10-07  Simon Josefsson  <jas@extundo.com>
46828
46829         * m4/memxor.m4: Remove gl_C_RESTRICT call.
46830
46831 2005-10-06  Simon Josefsson  <jas@extundo.com>
46832
46833         * tests/test-hmac-md5.c: New file.
46834
46835         * modules/hmac-md5-tests: New file.
46836
46837         * modules/hmac-md5: New file.
46838
46839 2005-10-06  Simon Josefsson  <jas@extundo.com>
46840
46841         * m4/hmac-md5.m4: New file.
46842
46843         * m4/memxor.m4: Require gl_C_RESTRICT.
46844
46845 2005-10-06  Simon Josefsson  <jas@extundo.com>
46846
46847         * lib/memxor.c (memxor): Avoid casts and warnings.
46848
46849 2005-10-06  Simon Josefsson  <jas@extundo.com>
46850
46851         * lib/hmac-md5.c: New file.
46852
46853         * lib/hmac.h: New file.
46854
46855 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46856
46857         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
46858         promotes to int, not unsigned int, to catch the AIX 5.3
46859         compiler bug.
46860
46861 2005-10-05  Simon Josefsson  <jas@extundo.com>
46862
46863         * modules/memxor: New file.
46864
46865         * modules/iconv (Files): Move config.rpath to havelib, it is used
46866         there.
46867
46868         * modules/havelib (Files): Add config.rpath.
46869
46870 2005-10-05  Simon Josefsson  <jas@extundo.com>
46871
46872         * m4/memxor.m4: New file.
46873
46874 2005-10-05  Simon Josefsson  <jas@extundo.com>
46875
46876         * lib/memxor.c (memxor): Fix compiler error.
46877
46878         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
46879         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
46880
46881         * lib/memxor.h, lib/memxor.c: New files.
46882
46883         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
46884         we assume all systems have it, suggested by Jim Meyering
46885         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
46886         any systems lack sys/socket.h; mingw32 is known to lack it, but we
46887         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
46888         same reasons.
46889
46890 2005-10-05  Simon Josefsson  <jas@extundo.com>
46891
46892         * config/srclist.txt: Add glibc bug 1423 for md5.h.
46893
46894 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46895
46896         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
46897         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
46898         needed, since the source code now assumes these .h files.
46899
46900 2005-10-05  Derek Price  <derek@ximbiot.com>
46901
46902         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
46903
46904 2005-10-05  Bruno Haible  <bruno@clisp.org>
46905
46906         * modules/stdint (License): Change to LGPL.
46907
46908 2005-10-04  Simon Josefsson  <jas@extundo.com>
46909
46910         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
46911         D. Baushke" <mdb@gnu.org>.
46912
46913 2005-10-04  Bruno Haible  <bruno@clisp.org>
46914
46915         * lib/verify.h (verify_true): Provide alternative definition for C++.
46916
46917 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
46918
46919         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
46920         (SSIZE_MAX): New macro, if not already defined.
46921         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
46922         than 2 GiB.
46923
46924 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46925
46926         Sync from coreutils.
46927         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
46928         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
46929         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
46930         ULLONG_MAX doesn't work with 2.7.2.1.
46931
46932 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46933
46934         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
46935         From Ben Pfaff.
46936
46937         * modules/exclude (Depends-on): Depend on verify.
46938         * modules/strtoimax (Depends-on): Likewise.
46939         * modules/utimecmp (Depends-on): Likewise.
46940
46941 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
46942
46943         * lib/exclude.c: Include verify.h.
46944         (verify): Remove.  All callers changed to use verify.h's version.
46945         * lib/strtoimax.c: Likewise.
46946         * lib/utimecmp.c: Likewis.e
46947
46948         Sync from coreutils.
46949         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
46950         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
46951         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
46952         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
46953         bother returning ENOSYS if settimeofday or stime fails; just let
46954         them return whatever errno they want to return.
46955         * lib/utimens.c: Include unistd.h, for dup2.
46956         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
46957         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
46958
46959 2005-10-02  Jim Meyering  <jim@meyering.net>
46960
46961         Sync from coreutils.
46962         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
46963         from glibc-2.2.5 that fails for read-only files.
46964
46965 2005-10-02  Jim Meyering  <jim@meyering.net>
46966
46967         Sync from coreutils.
46968         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
46969         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
46970         `#if HAVE_CONFIG_H'.
46971         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
46972         Remove AT_FDCWD test.
46973         Do not consume the fd unless successful.
46974         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
46975         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
46976         block, so that we don't even try to compile it if settimeofday is
46977         available.  This works around a compilation failure on OSF1 V5.1,
46978         due to stime requiring a `long int*' while tv_sec is `int'.
46979
46980 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
46981
46982         Sync from coreutils.
46983         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
46984         against `yes', rather than just testing for nonempty.
46985
46986 2005-10-01  Simon Josefsson  <jas@extundo.com>
46987
46988         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
46989         and Darwin.
46990
46991         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
46992         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
46993         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
46994         freeaddrinfo and gai_strerror are declared by the POSIX headers.
46995         Check if struct addrinfo is declared.
46996
46997 2005-10-01  Simon Josefsson  <jas@extundo.com>
46998
46999         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
47000         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
47001         AI_* and EAI_* definitions.  Protect function declarations.
47002
47003 2005-10-01  Jim Meyering  <jim@meyering.net>
47004
47005         Sync from coreutils.
47006
47007         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
47008         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
47009         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
47010         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47011         in the inet and nsl libraries.  Required on Solaris 5.7.
47012
47013 2005-10-01  Jim Meyering  <jim@meyering.net>
47014
47015         Sync from coreutils.
47016         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47017         in the inet and nsl libraries.  Required on Solaris 5.7.
47018
47019 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
47020
47021         * lib/getdelim.c (getdelim): Remove unused variables.
47022
47023 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47024
47025         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
47026         so that the code works even with ancient cpp.  Portability problem
47027         with GCC 2.7.2.1 reported by Thomas M.Ott.
47028
47029 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47030
47031         * modules/regex (Depends-on): Add strcase.
47032
47033         * modules/gethostname (Licence): Change from GPL to LGPL, since
47034         gethostname.c is a trivial implementation of a standard library
47035         function.
47036         * modules/poll (License): Change from GPL to LGPL, since it's
47037         derived from LGPL code.
47038
47039 2005-09-27  Jim Meyering  <jim@meyering.net>
47040
47041         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
47042         HAVE_CONFIG_H.
47043
47044         * lib/intprops.h (signed_type_or_expr__): Define.
47045         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
47046         for unsigned types.
47047
47048 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47049
47050         * lib/verify.h (verify_expr): Remove, replacing with:
47051         (verify_true): New macro that returns true instead of void.
47052         (verify_type__): Remove.
47053         (verify): Use verify_true rather than verify_type__.
47054
47055 2005-09-26  Bruno Haible  <bruno@clisp.org>
47056
47057         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
47058         is necessary.
47059         (lib_SOURCES): Remove mbchar.c.
47060         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
47061         (Files): Add m4/mbrtowc.m4.
47062         * modules/mbiter: Likewise.
47063         * modules/mbuiter: Likewise.
47064
47065 2005-09-26  Bruno Haible  <bruno@clisp.org>
47066
47067         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
47068         compile mbchar.c if they are not both present.
47069         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
47070         * m4/mbiter.m4 (gl_MBITER): Likewise.
47071         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
47072         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
47073         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
47074
47075 2005-09-25  Jim Meyering  <jim@meyering.net>
47076
47077         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
47078         also uses socklen_t.
47079
47080 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47081
47082         * lib/utimens.c (ENOSYS): Define if not already defined.
47083         (futimens): Support having a null PATH if the file descriptor
47084         is nonnegative.
47085
47086         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
47087         Remove.
47088         (__attribute): Define to empty unless GCC 3.1 or later.
47089         This works around a core dump on OpenBSD 3.4, which has GCC
47090         2.95.3, which dumps core when given __attribute__(()).  It also
47091         simplifies other tests, since we really don't want to bother with
47092         worrying about which ancient version of GCC supported what.
47093         Original problem reported by Yoann Vandoorselaere, with part of
47094         the fix suggested by Derek Price.
47095
47096 2005-09-24  Jim Meyering  <jim@meyering.net>
47097
47098         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
47099         so we can once again use a positive bitfield width of 1 -- now we
47100         don't have to explain why we were using a bitfield width of 2.
47101
47102 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47103
47104         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
47105         and similarly for the other external symbols.  Problem reported
47106         by James Gallager.
47107
47108         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
47109         bug reported by Jim Meyering.
47110
47111         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
47112         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
47113         not needed, since socklen is a prerequisite module.
47114
47115 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47116
47117         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
47118         Problem reported by Eric Blake.
47119         (getaddrinfo): Initialize se so that it's not garbage.
47120         Redo internal storage allocation so that it doesn't make unportable
47121         assumptions about alignment.
47122         Fix a memory leak.
47123
47124         * lib/utimens.c (futimens): Use futimesat if available.
47125         Prefer it to futimes since it doesn't have the futimes bug.
47126
47127         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
47128         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
47129         Instead, declare a function that returns a pointer to an array,
47130         and use verify_type__ to declare the size of the array.
47131         Problem and germ of a solution reported by Bruno Haible.
47132         (verify_type__): Use 2, not 1, for bitfield size, to avoid
47133         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
47134
47135 2005-09-23  Jim Meyering  <jim@meyering.net>
47136
47137         Sync from coreutils.
47138         Correct build failure (socklen_t not defined) on at least
47139         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
47140         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
47141
47142 2005-09-23  Jim Meyering  <jim@meyering.net>
47143
47144         * modules/getaddrinfo (Depends-on): Add socklen.
47145
47146 2005-09-23  Bruno Haible  <bruno@clisp.org>
47147
47148         * tests/test-verify.c: New file.
47149
47150 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47151
47152         Sync from coreutils.
47153
47154         * modules/argmatch (Depends-on): Add verify.
47155         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
47156         unistd-safer.
47157         * modules/save-cwd (Depends-on): Likewise.
47158
47159         * modules/openat (Files): Add lib/openat-die.c.
47160         (Depends-on): Remove error, exitfail.
47161         Add dirname.
47162
47163         * modules/verify: New file.
47164         * MODULES.html.sh (Diagnostics <assert.h>): New section,
47165         with "verify" module.
47166
47167 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47168
47169         Sync from coreutils.
47170
47171         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
47172         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
47173         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
47174         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
47175         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
47176         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
47177         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
47178         Don't bother checking for string.h, stdlib.h, unistd.h.
47179         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
47180         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
47181         module's job.
47182         * m4/jm-macros.m4 (gl_MACROS): Likewise.
47183         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
47184
47185         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
47186         (gl_GETDATE): Use it.
47187
47188         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
47189
47190 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47191
47192         Sync from coreutils.
47193
47194         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
47195         stat-time.h.
47196         * lib/argmatch.h: Include verify.h
47197         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
47198         (ARGMATCH_ASSERT): Remove; unused.
47199         * lib/canonicalize.c: Assume STDC_HEADERS.
47200         * lib/exclude.c: Include "strcase.h".
47201         * lib/regex_internal.h [!defined _LIBC]: Likewise.
47202         * lib/getusershell.c: Include stdio--.h rather than stdio.h
47203         and stdio-safer.h.
47204         (getusershell): Call fopen, not fopen_safer.
47205         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
47206         Do not include unistd-safer.h.
47207         (save_cwd): Don't call fd_safer; no longer needed
47208         now that we include fcntl--.h.
47209
47210         * lib/getdate.y (relative_time): New type.
47211         (RELATIVE_TIME_0): New constant.
47212         (parser_control): Use relative_time instead of doing it ourselves.
47213         (%union): Add new relative_time rel member.
47214         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
47215         Now typeless.
47216         (relunit, relunit_snumber): Now of type rel.
47217         (zone, rel, relunit, get_date): Adjust to above changes.
47218
47219         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
47220         Do not include unistd-safer.h.
47221         (getloadavg): Don't call fd_safer; no longer needed
47222         now that we include fcntl--.h.
47223
47224         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
47225         (make_dir_parents): Treat ENOSYS like EEXIST.
47226
47227         Improve quality of diagnostics on restore_cwd failure.
47228         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
47229         (make_dir_parents): Last arg is now int * (for errno), not bool *.
47230         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
47231         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
47232         each time through the loop.  Do not diagnose restore_cwd failure;
47233         that is the caller's job (and perhaps the caller does not care).
47234
47235         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
47236         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
47237         If the file already exists but is not a directory, don't bother
47238         to try to make its parents.
47239         Close potential file descriptor leak if we can't chdir("/") (!).
47240         Don't always return true if chdir($PWD) fails; return true only
47241         if the requested action was done successfully (except for the
47242         chdir($PWD)).
47243         Don't log final directory unless we actually made it.
47244         Refactor to avoid duplicate code to fix up permissions.
47245         Don't attempt to fix up parent permissions if chdir($PWD) fails.
47246
47247         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
47248         to make it a bit faster and (I hope) clearer.
47249         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
47250         Fix bug in formats like %2N.
47251
47252         * lib/verify.h: New file.
47253
47254 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47255
47256         Sync from coreutils.
47257         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
47258
47259 2005-09-22  Jim Meyering  <jim@meyering.net>
47260
47261         Sync from coreutils.
47262
47263         * m4/lstat.m4 (gl_FUNC_LSTAT):
47264         Use AC_LIBSOURCES to require lstat.c and lstat.h.
47265         Remove obsolete comment.
47266         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
47267         * m4/xstrtod.m4: Likewise.
47268
47269         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
47270
47271 2005-09-22  Jim Meyering  <jim@meyering.net>
47272
47273         Sync from coreutils.
47274
47275         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
47276
47277         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
47278         the .tm_year member, since otherwise gcc-4.0 would now warn about
47279         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
47280
47281         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
47282         order to avoid an unsuppressible warning from gcc on 64-bit systems.
47283
47284         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
47285         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
47286         when run in a time zone for which daylight savings time is in effect
47287         for the starting date.
47288
47289         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
47290         stop us from restricting permissions of just-created absolute-named
47291         directories.
47292         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
47293         to restore initial working directory.
47294         * lib/mkdir-p.c (make_dir_parents): New parameter:
47295         different_working_dir, to tell caller if/when we change the working
47296         directory and are unable to return to the initial one.
47297         * lib/mkdir-p.h (make_dir_parents): Update prototype.
47298         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
47299         `return false'.  This fixes a bug introduced on 2004-07-30.
47300
47301         * lib/openat.c (fdopendir): Be sure to close the supplied
47302         file descriptor before returning.  This makes our replacement
47303         implementation a little closer to Solaris's, where fdopendir
47304         ties the file descriptor to the returned DIR* pointer.
47305         * lib/openat.c (unlinkat): New function.
47306         * lib/openat.h (unlinkat): Add prototype.
47307         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
47308         (openat_restore_fail): Rename from openat_restore_die.
47309         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
47310
47311         Provide an alternative to exiting immediately upon save_cwd or
47312         restore_cwd failure.  Now, an application can arrange e.g.,
47313         to perform a longjump in that case.
47314         * lib/openat.c: Include dirname.h.
47315         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
47316         (rpl_openat, fdopendir, fstatat): Call openat_save_die
47317         and openat_restore_die rather than calling error directly.
47318         Don't include "error.h" or "exitfail.h"; they're no longer needed.
47319
47320         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
47321         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
47322         define.
47323
47324         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
47325         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
47326                             int utc, int nanoseconds);
47327         Background:
47328         date should not have to allocate a megabyte of virtual memory to
47329         handle a format argument like +%1048575T.  When implemented with
47330         strftime, it must allocate such a buffer, use strftime to fill it
47331         in, print it, then free it.
47332         With fprintftime, it simply prints everything and exits.
47333         With no need for memory allocation, that's one fewer way to fail.
47334         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
47335         optional field width, not before, so we accept %9:z, not %:9z.
47336         (my_strftime): Be sure to use L_('x') for literals.
47337
47338         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
47339         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
47340         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
47341         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
47342         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
47343         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
47344         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
47345         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
47346         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
47347         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
47348         * lib/xgethostname.c, lib/xreadlink.c:
47349         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
47350
47351         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
47352         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
47353         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
47354         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
47355         and don't include <sys/file.h>).
47356
47357 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
47358
47359         Sync from coreutils.
47360
47361         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
47362         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
47363         [!LDAV_DONE]: Avoid unused variable warning.
47364
47365 2005-09-21  Bruno Haible  <bruno@clisp.org>
47366
47367         * lib/unicodeio.h (unicode_to_mb): New declaration.
47368
47369 2005-09-20  Derek Price  <derek@ximbiot.com>
47370
47371         * lib/getaddrinfo.c: Don't include <netdb.h> included from
47372         getaddrinfo.h.
47373
47374 2005-09-20  Bruno Haible  <bruno@clisp.org>
47375
47376         * gnulib-tool: Remove trailing slashes from the values specified for
47377         --source-base, --m4-base, --tests-base, --aux-dir.
47378         Suggested by Simon Josefsson <jas@extundo.com>.
47379
47380 2005-09-20  Bruno Haible  <bruno@clisp.org>
47381
47382         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
47383         func_modules_to_filelist, func_import, func_create_testdir): Make all
47384         sorting results locale-independent, so that gnulib-cache.m4 doesn't
47385         change when gnulib-tool is invoked in a different locale.
47386
47387 2005-09-19  Simon Josefsson  <jas@extundo.com>
47388
47389         * m4/socklen.m4: Fix typo.
47390
47391 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47392
47393         Use a consistent style for including <config.h>.
47394         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
47395         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
47396         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
47397         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
47398         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
47399         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
47400         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
47401         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
47402         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
47403         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
47404         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
47405         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
47406         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
47407         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
47408         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
47409         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
47410         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
47411         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
47412         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
47413         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
47414         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
47415         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
47416         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
47417         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
47418         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
47419         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
47420         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
47421         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
47422         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
47423         lib/xstrtoumax.c, lib/yesno.c:
47424         Standardize inclusion of config.h.
47425         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
47426         lib/inttostr.h:  Removed inclusion of config.h from header files.
47427         * lib/inttostr.c:  Adjusted in-tree users.
47428         * lib/timespec.h: Remove superfluous warning to include config.h.
47429         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
47430         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
47431         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
47432         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
47433         config.h with HAVE_CONFIG_H.
47434
47435 2005-09-19  Jim Meyering  <jim@meyering.net>
47436
47437         * modules/pathmax (License): Change to LGPL.
47438
47439 2005-09-19  Derek Price  <derek@ximbiot.com>
47440
47441         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
47442
47443 2005-09-19  Bruno Haible  <bruno@clisp.org>
47444
47445         * gnulib-tool (import): Provide default for --tests-base.
47446
47447 2005-09-19  Bruno Haible  <bruno@clisp.org>
47448
47449         * doc/quote.texi: New file, extracted from gnulib.texi.
47450         * doc/ctime.texi: New file, extracted from gnulib.texi.
47451         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
47452         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
47453         * doc/gnulib.texi: Include them.
47454
47455 2005-09-18  Bruno Haible  <bruno@clisp.org>
47456
47457         Portability fix.
47458         * gnulib-tool (func_readlink): New function.
47459         (func_ln_if_changed): Use it.
47460
47461 2005-09-18  Bruno Haible  <bruno@clisp.org>
47462
47463         * gnulib-tool: Support --with-tests also with --import.
47464         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
47465         (func_import): Use variables $testsbase and $inctests. Emit a
47466         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
47467         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
47468         SUBDIRS += $testsdir.
47469         (func_create_testdir): Update.
47470
47471 2005-09-18  Bruno Haible  <bruno@clisp.org>
47472
47473         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
47474         instead of $dry_run.
47475         (func_cp_if_changed, func_mv_if_changed): Remove functions.
47476         (func_ln_if_changed): Don't handle dry-run here.
47477         (func_import): In dry-run mode, detect more precisely which actions
47478         would be performed, and don't use "...ing" verbs.
47479
47480 2005-09-18  Bruno Haible  <bruno@clisp.org>
47481
47482         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
47483         (func_import): Use join on two temporary files instead of three nested
47484         loops, in order to determine which files are new or old.
47485
47486 2005-09-18  Bruno Haible  <bruno@clisp.org>
47487
47488         * gnulib-tool (func_import): Comment out code that spits out the
47489         new files with --dry-run.
47490
47491 2005-09-18  Bruno Haible  <bruno@clisp.org>
47492
47493         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
47494
47495 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47496
47497         * lib/stat-time.h: New file.
47498         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
47499         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
47500         in a different way.
47501         (timespec_cmp): New function.
47502         * lib/utimecmp.c: Include stat-time.h.
47503         (SYSCALL_RESOLUTION): Depend on whether various struct stat
47504         members exist, not on the obsolescent ST_MTIM_NSEC.
47505         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
47506
47507 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47508
47509         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
47510
47511 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47512
47513         * MODULES.html.sh (File system functions): Add stat-time.
47514         * modules/stat-time: New file.
47515         * modules/timespec (Files): Remove m4/st_mtim.m4; this
47516         is now done in a different way, by the stat-time module.
47517         * modules/utimecmp (Depends-on): Add stat-time.
47518
47519 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47520
47521         * m4/st_mtim.m4: Remove.  Superseded by...
47522         * m4/stat-time.m4: New file.
47523         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
47524         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
47525
47526 2005-09-15  Derek Price  <derek@ximbiot.com>
47527
47528         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
47529
47530 2005-09-15  Derek Price  <derek@ximbiot.com>
47531
47532         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
47533         * lib/regex_internal.c: Ditto, using this...
47534         (__GNUC_PREREQ): ...new macro.
47535         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
47536         using...
47537         (__GNUC_PREREQ): ...this new macro.
47538
47539         * lib/strstr.h: Include string.h. Define strstr as a macro here.
47540
47541 2005-09-15  Derek Price  <derek@ximbiot.com>
47542             Paul Eggert  <eggert@cs.ucla.edu>
47543
47544         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
47545         changes, consolidating in...
47546         * lib/regex_internal.h: ...this file.
47547
47548 2005-09-13  Jim Meyering  <jim@meyering.net>
47549
47550         * lib/canon-host.c: Filter through gnu indent and reword comments
47551         slightly.
47552         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
47553
47554 2005-09-13  Derek Price  <derek@ximbiot.com>
47555
47556         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
47557         failure.
47558         Reported by Jim Meyering  <jim@meyering.net>.
47559
47560 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47561
47562         * lib/base64.c: Typo.
47563         (base64_encode): Put b64str in initialized data section.
47564
47565 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47566
47567         Merge glibc and coreutils changes into gnulib, plus a few
47568         extra fixes.
47569         * lib/md5.c: Use #error rather than a string.
47570         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
47571         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
47572         (__attribute__): Define to empty for non recent-GCC.
47573         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
47574         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
47575         Renamed from their non-__ counterparts, with new macros replacing
47576         them if not _LIBC.  Add __THROW attribute.
47577         (rol): Remove.
47578         (struct md5_ctx): Align buffer if using GCC.
47579         * lib/sha1.h (struct sha1_ctx): Likewise.
47580         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
47581         The old name was backwards.
47582         (NOTSWAP): Remove; not used.
47583         (rol): New macro, moved here from md5.h.
47584         (sha1_process_block): Remove a FIXME that doesn't make sense.
47585
47586 2005-09-12  Derek Price  <derek@ximbiot.com>
47587
47588         Return usable errors from canon-host.
47589         * lib/canon-host.h: New file.
47590         * lib/canon-host.c (canon_host): Wrap...
47591         (canon_host_r): ...this new function, which now relies exclusively on
47592         getaddrinfo.
47593         (ch_strerror): New function.
47594         (last_cherror): New global.
47595         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
47596         interface.
47597         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
47598         void *.
47599         (freeaddrinfo): Free ai->ai_canonname when set.
47600
47601 2005-09-12  Derek Price  <derek@ximbiot.com>
47602
47603         Make canon-host require getaddrinfo.
47604         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
47605         AC_LIBSOURCE canon-host.h.  Call...
47606         (gl_PREREQ_CANON_HOST): ...this new function, which requires
47607         gl_GETADDRINFO.
47608         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
47609
47610 2005-09-12  Derek Price  <derek@ximbiot.com>
47611
47612         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
47613         LGPL.
47614         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
47615
47616 2005-09-12  Derek Price  <derek@ximbiot.com>
47617
47618         * lib/gai_strerror.c: Include config.h when available.  Include
47619         getaddrinfo.h before other headers to test interface.
47620         Reported by Larry Jones <lawrence.jones@ugs.com>.
47621
47622 2005-09-12  Derek Price  <derek@ximbiot.com>
47623             Paul Eggert  <eggert@cs.ucla.edu>
47624
47625         * modules/glob (Files): Add glob-libc.h.
47626
47627 2005-09-12  Derek Price  <derek@ximbiot.com>
47628             Paul Eggert  <eggert@cs.ucla.edu>
47629
47630         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
47631         glob_.h, glob-libc.h.
47632         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
47633
47634 2005-09-12  Derek Price  <derek@ximbiot.com>
47635             Paul Eggert  <eggert@cs.ucla.edu>
47636
47637         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
47638         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
47639         protecting things that should be done only in gnulib contexts.
47640         * lib/glob_.h: New file, containing only the glob things needed for
47641         gnulib.
47642         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
47643         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
47644         (glob, globfree, glob_pattern_p): Now defined simply in terms of
47645         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
47646         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
47647         and to respect the namespace rules better.
47648
47649 2005-09-08  Simon Josefsson  <jas@extundo.com>
47650
47651         * modules/socklen: New file.
47652
47653 2005-09-08  Simon Josefsson  <jas@extundo.com>
47654
47655         * m4/socklen.m4: New file.
47656
47657 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47658
47659         * modules/utimens (Files): Add m4/utimbuf.m4, since
47660         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
47661         Reported by Sergey Poznyakoff.
47662
47663 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47664
47665         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
47666         definitions, since that's the preferred style in glibc.
47667         Fix a minor spacing issue, and update copyright notice to match
47668         glibc's.
47669
47670 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47671
47672         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
47673
47674 2005-09-06  Simon Josefsson  <jas@extundo.com>
47675
47676         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
47677         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
47678
47679 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47680
47681         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
47682         warning.
47683
47684 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47685
47686         * config/srclist.txt: Add glibc bug 1302.
47687
47688 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
47689
47690         Change bitset word type from unsigned int to unsigned long int,
47691         as this has better performance on typical 64-bit hosts.
47692         Port bitset code to hosts with unusual word sizes.
47693         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
47694         (build_collating_symbol):
47695         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
47696         argument is a bitset.  This is merely a style issue, but it makes
47697         it clearer that an entire array is expected.
47698         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
47699         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
47700         Port to the case where bitset_word is not the same as unsigned int.
47701         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
47702         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
47703         Likewise.
47704         * lib/regexec.c (check_dst_limits_calc_pos_1,
47705         check_subexp_matching_top):
47706         (build_trtable, group_nodes_into_DFAstates):
47707         Likewise.
47708         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
47709         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
47710         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
47711         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
47712         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
47713         * lib/regcomp.c (optimize_subexps, lower_subexp):
47714         Work even if bitset_word has holes in its bitwise representation.
47715         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
47716         * lib/regexec.c (check_dst_limits_calc_pos_1,
47717         check_subexp_matching_top):
47718         Likewise.
47719         * lib/regex_internal.c (re_string_reconstruct):
47720         Don't assume UCHAR_MAX == 255.
47721         * lib/regex_internal.h (bitset_set_all): Likewise.
47722         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
47723         All uses changed.
47724         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
47725         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
47726         All uses changed.
47727         (BITSET_WORD_MAX): New macro.
47728         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
47729         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
47730         (bitset_empty, bitset_copy):
47731         Prefer sizeof (bitset) to multiplying it out ourselves.
47732         (bitset_not_merge): Remove; unused.
47733         (bitset_contain): Return bool, not unsigned int with one bit on.
47734         All callers changed.
47735         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
47736         alignment than re_node_set; do this by defining a new internal
47737         type struct dests_alloc and using it to allocate memory.
47738
47739 2005-09-05  Bruno Haible  <bruno@clisp.org>
47740
47741         * gnulib-tool (func_import): Fix comparison in handling of symbolic
47742         links.
47743
47744 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
47745
47746         * modules/size_max (Makefile.am): Add size_max.h
47747
47748 2005-09-04  Derek Price  <derek@ximbiot.com>
47749
47750         * gnulib-tool (func_import): Fix reversed $symbolic logic.
47751
47752 2005-09-03  Simon Josefsson  <jas@extundo.com>
47753
47754         * gnulib-tool: Fix typo.
47755
47756 2005-09-03  Simon Josefsson  <jas@extundo.com>
47757
47758         * config/srclist.txt: Add glibc bug 1293.
47759
47760 2005-09-03  Derek Price  <derek@ximbiot.com>
47761
47762         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
47763         From Larry Jones <lawrence.jones@ugs.com>.
47764
47765 2005-09-02  Simon Josefsson  <jas@extundo.com>
47766
47767         * modules/socklen: New file.
47768
47769 2005-09-02  Simon Josefsson  <jas@extundo.com>
47770
47771         * modules/havelib: New module.
47772
47773         * modules/gettext, modules/iconv, modules/lock, modules/readline:
47774         Use havelib.
47775
47776 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47777
47778         Check for arithmetic overflow when calculating sizes, to prevent
47779         some buffer-overflow issues.  These patches are conservative, in the
47780         sense that when I couldn't determine whether an overflow was possible,
47781         I inserted a run-time check.
47782         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
47783         macros.
47784         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
47785         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
47786         (re_xnrealloc, re_x2nrealloc): New inline functions.
47787         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
47788         parse_bracket_exp):
47789         (build_equiv_class, build_charclass): Check for arithmetic overflow
47790         in size expression calculations.
47791         * lib/regex_internal.c (re_string_realloc_buffers):
47792         (build_wcs_upper_buffer, re_node_set_add_intersect):
47793         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
47794         (re_dfa_add_node, register_state): Likewise.
47795         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
47796         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
47797         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
47798         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
47799
47800 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47801
47802         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
47803         m4/ulonglong.m4.  Problem reported by Martin Lambers.
47804
47805 2005-09-02  Bruno Haible  <bruno@clisp.org>
47806
47807         Support for lib vs. lib64 distinction on biarch platforms.
47808         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
47809         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
47810         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
47811
47812 2005-09-02  Bruno Haible  <bruno@clisp.org>
47813
47814         * gnulib-tool (import): In the other first-use case, provide defaults
47815         as well.
47816
47817 2005-09-02  Bruno Haible  <bruno@clisp.org>
47818
47819         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
47820         patches not yet found in the latest gettext release.
47821
47822 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47823
47824         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
47825         to avoid a collision with bits/local_lim.h in glibc.
47826         All uses changed.  Problem reported by Dmitry V. Levin in
47827         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
47828
47829         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
47830         bugs in int versus size_t comparisons.
47831         (re_string_context_at): Fix bug where the code assumed that
47832         Idx is signed.
47833
47834         Use bool where appropriate.
47835         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
47836         All callers changed.
47837         (calc_eclosure_iter): Likewise, for ROOT arg.
47838         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
47839         (build_charclass_op): Likewise, for NON_MATCH arg.
47840         * lib/regex_internal.c (re_string_allocate, re_string_construct):
47841         (re_string_construct_common): Likewise, for ICASE arg.
47842         * lib/regexec.c (re_search_2_stub, re_search_stub):
47843         Likewise, for RET_LEN arg.
47844         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
47845         (set_regs): Likewise, for FL_BACKTRACK arg.
47846         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
47847         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
47848         (calc_eclosure_iter, parse_bracket_exp):
47849         Use bool for internal variables that are booleans.
47850         * lib/regexec.c (re_search_internal, check_matching,
47851         proceed_next_node):
47852         (set_regs, build_sifted_states, sift_states_bkref):
47853         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
47854         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
47855         (find_collation_sequence_value):
47856         Likewise.
47857         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
47858         (re_node_set_compare):
47859         Return bool, not int. All callers changed.
47860         * lib/regexec.c (check_halt_node_context, check_dst_limits):
47861         (build_trtable, check_node_accept): Likewise.
47862         * lib/regex_internal.h: Include stdbool.h.
47863
47864         Fix bugs uncovered when converting to bool.
47865         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
47866         failure instead of charging ahead blindly.
47867         * lib/regex_internal.c (register_state): Likewise.
47868         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
47869         for freeing internal storage.
47870         (group_nodes_into_DFA_states): Use unsigned int, not int, for
47871         bitset pieces used as boolean, to avoid undefined behavior
47872         on hosts that do int overflow checking.
47873
47874 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47875
47876         * config/srclist.txt: Add glibc bugs 1285-1287.
47877
47878 2005-09-01  Jim Meyering  <jim@meyering.net>
47879
47880         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
47881         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
47882         Require gl_STAT_MACROS, too.
47883
47884 2005-09-01  Bruno Haible  <bruno@clisp.org>
47885
47886         * gnulib-tool (import): In the first-use case, provide defaults.
47887
47888 2005-09-01  Bruno Haible  <bruno@clisp.org>
47889
47890         * gnulib-tool (func_import): Remove the .tmp files.
47891
47892 2005-09-01  Bruno Haible  <bruno@clisp.org>
47893
47894         * gnulib-tool (func_import): Fix handling of symbolic links.
47895
47896 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47897
47898         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
47899         old glibc regex code mishandles strings longer than 2**31 bytes.
47900         This patch fixes this when the regex code is used in gnulib
47901         (i.e., outside glibc).
47902
47903         This patch should not affect the use of the regex code inside
47904         glibc.  No doubt this problem also needs to be handled for glibc
47905         as well, but the result will be an incompatible change to the
47906         glibc ABI, and the old ABI will have to be supported too.  That
47907         can be the the subject for another patch.
47908
47909         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
47910         governing whether the rest of this patch is active.  By default,
47911         the macro is disabled and the patch has no effect.
47912         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
47913         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
47914         (struct re_pattern_buffer, re_search, re_search_2, re_match):
47915         (re_match_2, re_set_registers): Use the new types.
47916         * lib/regex_internal.h (Idx, re_hashval_t): New types.
47917         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
47918         New macros.
47919         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
47920         (re_string_context_at, bin_tree_t, re_dfastate_t):
47921         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
47922         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
47923         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
47924         (re_string_char_size_at, re_string_wchar_at):
47925         (re_string_elem_size_at):
47926         Use the new types and macros to port to 64-bit hosts.
47927         Use unsigned types for internal values, so that the code
47928         mostly works even for arrays larger than SSIZE_MAX.
47929         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
47930         (search_duplicated_node, calc_eclosure_iter, fetch_number):
47931         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
47932         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
47933         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
47934         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
47935         (calc_inveclosure, parse_dup_op, build_range_exp):
47936         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
47937         (fetch_number, create_token_tree, mark_opt_subexp):
47938         Likewise.
47939         * lib/regex_internal.c (re_string_construct_common,
47940         create_ci_newstate):
47941         (create_cd_newstate, re_string_allocate, re_string_construct):
47942         (re_string_realloc_buffers, build_wcs_upper_buffer):
47943         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
47944         (re_string_reconstruct, re_string_peek_byte_case):
47945         (re_string_fetch_byte_case, re_string_context_at):
47946         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
47947         (re_node_set_init_copy, re_node_set_add_intersect):
47948         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47949         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47950         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
47951         (re_acquire_state, re_acquire_state_context, register_state):
47952         Likewise.
47953         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
47954         search_cur_bkref_entry):
47955         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
47956         (re_search_internal, re_search_2_stub, re_search_stub)
47957         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
47958         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
47959         (update_cur_sifted_state, check_dst_limits):
47960         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
47961         (check_subexp_limits, sift_states_bkref, merge_state_array):
47962         (check_subexp_matching_top, get_subexp, get_subexp_sub):
47963         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
47964         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
47965         (expand_bkref_cache, check_node_accept_bytes):
47966         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
47967         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
47968         (acquire_init_state_context, check_halt_node_context):
47969         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
47970         (sift_states_backward, clean_state_log_if_needed):
47971         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
47972         (find_recover_state, transit_state_sb, transit_state_mb):
47973         (transit_state_bkref, build_trtable, match_ctx_clean):
47974         Likewise.
47975         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
47976         to work around an assumption that REG_MISSING is negative.
47977
47978         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
47979         (seek_collating_symbol_entry) [defined _LIBC]:
47980         (lookup_collation_sequence_value) [defined _LIBC]:
47981         (build_range_exp, build_collating_symbol) [defined _LIBC]:
47982         Use prototypes rather than old-style function definitions.
47983         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
47984         (transit_state_sb) [0]:
47985         (find_collation_sequence_value) [defined _LIBC]: Likewise.
47986
47987         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
47988         rm_eo.
47989
47990         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
47991         (optimize_subexps, lower_subexp):
47992         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
47993         since the signed shift might overflow.  Use 1u<<31 instead.
47994         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
47995         Likewise.
47996         * lib/regexec.c (check_dst_limits_calc_pos_1,
47997         check_subexp_matching_top): Likewise.
47998
47999         * lib/regcomp.c (optimize_subexps, lower_subexp):
48000         Use CHAR_BIT rather than 8, for clarity.
48001         * lib/regexec.c (check_dst_limits_calc_pos_1):
48002         (check_subexp_matching_top): Likewise.
48003         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
48004         have to worry about portability issues when shifting it left.
48005         Remove no-longer-needed test for table_size > 0.
48006         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
48007         in a word, as the resulting behavior is undefined.
48008         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
48009         in one case, a <= should have been an <, and in another case the
48010         whole test was missing.
48011         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
48012         the standard name CHAR_BIT.
48013         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
48014         this is not true on one's complement and signed-magnitude hosts.
48015
48016         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
48017         next_last_offset.
48018         (struct re_dfa_t): Remove unused member states_alloc.
48019         * lib/regcomp.c (init_dfa): Don't initialize unused members.
48020
48021 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48022
48023         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
48024         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
48025         and large-file glibc and in 32-bit large-file Solaris.
48026
48027 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48028
48029         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
48030         lengths fit in regoff_t; this isn't true if regoff_t is the same
48031         width as size_t.
48032         * lib/regex.c (re_search_internal): 5th arg is LAST_START
48033         (= START + RANGE) instead of RANGE.  This avoids overflow
48034         problems when regoff_t is the same width as size_t.
48035         All callers changed.
48036         (re_search_2_stub): Check for overflow when adding the
48037         sizes of the two strings.
48038         (re_search_stub): Check for overflow when adding START
48039         to RANGE; if it occurs, substitute the extreme value.
48040
48041 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48042
48043         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
48044
48045 2005-08-31  Jim Meyering  <jim@meyering.net>
48046
48047         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
48048         a pointer-to-const.
48049         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
48050         (register_state): Likewise.
48051         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
48052         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48053         (group_nodes_into_DFAstates): Likewise.
48054
48055 2005-08-31  Jim Meyering  <jim@meyering.net>
48056
48057         * check-module: Add a FIXME comment.
48058
48059 2005-08-31  Eric Blake  <ebb9@byu.net>
48060
48061         * modules/unistd-safer (Files): Add unistd--.h.
48062         * modules/stdio-safer (Files): Add stdio--.h.
48063
48064 2005-08-31  Derek Price  <derek@ximbiot.com>
48065
48066         * lib/getdelim.c (getdelim): Return EOF on EOF.
48067         Reported by Larry Jones <lawrence.jones@ugs.com>.
48068
48069 2005-08-31  Bruno Haible  <bruno@clisp.org>
48070
48071         Avoid unnecessary diffs in the generated lib/Makefile.am.
48072         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
48073         the generated files.
48074         (func_import): Don't set cmd.
48075
48076 2005-08-31  Bruno Haible  <bruno@clisp.org>
48077
48078         * lib/strstr.c: Include <stddef.h>, for NULL.
48079         * lib/strcasestr.c: Likewise.
48080         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48081
48082 2005-08-31  Bruno Haible  <bruno@clisp.org>
48083
48084         * gnulib-tool: New option --macro-prefix.
48085         (func_import): Use macro_prefix.
48086         (import): Handle option --macro-prefix.
48087
48088 2005-08-31  Bruno Haible  <bruno@clisp.org>
48089
48090         * gnulib-tool (import): Rename most ac_* variables to cached_*.
48091         Also use new variables cached_lgpl, cached_libtool.
48092
48093 2005-08-31  Bruno Haible  <bruno@clisp.org>
48094
48095         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
48096         always instantiating them.
48097
48098 2005-08-31  Bruno Haible  <bruno@clisp.org>
48099
48100         * gnulib-tool (func_import): Read the previous cached settings
48101         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
48102         earlier added by gnulib but are now dropped. Warn when a gnulib file
48103         overwrites a non-gnulib file.
48104
48105 2005-08-31  Bruno Haible  <bruno@clisp.org>
48106
48107         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
48108         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
48109         projects that don't keep autogenerated files in CVS. Put into
48110         actioncmd only the specified modules, not the transitive closure.
48111
48112 2005-08-31  Bruno Haible  <bruno@clisp.org>
48113
48114         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
48115         Create directories that shall be filled.
48116         (import): Don't look for gl_* macros in configure.ac. Recurse across
48117         all directories containing a gnulib-cache.m4 files, if meaningful.
48118
48119 2005-08-31  Bruno Haible  <bruno@clisp.org>
48120
48121         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
48122         (import): Set seen_libtool when we see gl_LIBTOOL.
48123
48124 2005-08-31  Bruno Haible  <bruno@clisp.org>
48125
48126         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
48127         declaration macro definitions from generated gnulib.m4.
48128
48129 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
48130
48131         * lib/iconvme.h: Add prototype for iconv_alloc.
48132
48133 2005-08-29  Simon Josefsson  <jas@extundo.com>
48134
48135         * lib/iconvme.c: Fix errno.
48136
48137 2005-08-29  Bruno Haible  <bruno@clisp.org>
48138
48139         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
48140         that it works when the directory contains spaces.
48141
48142 2005-08-29  Bruno Haible  <bruno@clisp.org>
48143
48144         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
48145
48146 2005-08-29  Bruno Haible  <bruno@clisp.org>
48147
48148         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
48149         Emit more advice.
48150
48151 2005-08-29  Bruno Haible  <bruno@clisp.org>
48152         and Stepan Kasal  <kasal@ucw.cz>
48153
48154         * check-module: If more parameters are given, check each of them
48155         separately; add more exceptions, as noted by Jim Meyering.
48156         (check_module): New procedure.
48157         (%exempt_header): Now contains all exceptions.
48158
48159 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
48160
48161         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
48162
48163 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
48164
48165         * lib/iconvme.c: Split iconv_string into iconv_alloc.
48166
48167 2005-08-28  Bruno Haible  <bruno@clisp.org>
48168
48169         * m4/gnulib-tool.m4: New file.
48170
48171 2005-08-27  Jim Meyering  <jim@meyering.net>
48172
48173         * modules/unistd-safer (Files): Add pipe-safer.c.
48174         * modules/fcntl-safer (Files): Add creat-safer.c.
48175
48176 2005-08-27  Jim Meyering  <jim@meyering.net>
48177
48178         * m4/stdlib-safer.m4: New file.  From coreutils.
48179         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
48180         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
48181         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
48182         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
48183         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
48184
48185 2005-08-27  Jim Meyering  <jim@meyering.net>
48186
48187         * lib/fopen-safer.c: Merge minor changes from coreutils.
48188         * lib/dup-safer.c: Likewise.
48189         * lib/fd-safer.c: Likewise.
48190
48191         Merge from coreutils.
48192         * lib/stdio--.h: New file.
48193         * lib/stdlib--.h: New file.
48194         * lib/mkstemp-safer.c: New file.
48195
48196         GNU tar needs these.
48197         * lib/pipe-safer.c: New file.
48198         * lib/creat-safer.c: New file.
48199         * lib/fcntl--.h (creat): Define to creat_safer.
48200         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
48201         * lib/unistd--.h (pipe): Define to pipe_safer.
48202         * lib/unistd-safer.h: Declare pipe_safer.
48203
48204 2005-08-26  Simon Josefsson  <jas@extundo.com>
48205
48206         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
48207         Haible <bruno@clisp.org>.
48208
48209 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
48210
48211         * lib/regex_internal.h: Remove all references to
48212         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
48213         or better.
48214         (bitset_not, bitset_merge, bitset_not_merge):
48215         (bitset_mask, re_string_allocate, re_string_construct):
48216         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
48217         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
48218         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
48219         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
48220         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48221         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48222         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
48223         (re_acquire_state_context):
48224         Remove unnecessary forward decls.
48225         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
48226         Put __attribute at function definition,
48227         now that the function decl has been removed.
48228         * lib/regex_internal.c (re_string_peek_byte_case):
48229         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
48230         Likewise.
48231
48232 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
48233
48234         * m4/regex.m4: Add AC_PREREQ(2.50).
48235         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
48236
48237 2005-08-25  Simon Josefsson  <jas@extundo.com>
48238
48239         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
48240         __fsetlocking.
48241
48242 2005-08-25  Simon Josefsson  <jas@extundo.com>
48243
48244         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
48245         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
48246         GLIBC specific code.
48247
48248 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48249
48250         Make regex safe for g++.  This fixes one real bug (an "err"
48251         that should have been "*err").  g++ problem reported by
48252         Sam Steingold.
48253         * lib/regex_internal.h (re_calloc): New macro, consistent with
48254         re_malloc etc.  All callers of calloc changed to use re_calloc.
48255         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
48256         not int.  All callers changed.
48257         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
48258         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
48259         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
48260         (find_recover_state): Change "err" to "*err"; this fixes what
48261         appears to be a real bug.
48262         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
48263         versus int.
48264
48265 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48266
48267         * modules/regex (Depends-on): Add malloc, since the code
48268         assumes that !malloc(0) means failure.
48269
48270 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48271
48272         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
48273
48274         alloca modernization/simplification for regex.
48275         * lib/regex.c: Remove portability cruft for alloca.  This no longer
48276         needs to be at the start of the file, and can be moved into
48277         regex_internal.h and simplified.
48278         * lib/regex_internal.h: Include <alloca.h>.
48279         (__libc_use_alloca) [!defined _LIBC]: New macro.
48280         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
48281         now works outside glibc.
48282
48283 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48284
48285         * config/srclist.txt: Add glibc bugs 1241, 1245.
48286
48287 2005-08-25  Jim Meyering  <jim@meyering.net>
48288
48289         * lib/open-safer.c: Include <config.h>.
48290         Otherwise, we'd lose LARGEFILE support in any file using
48291         e.g. "fcntl--.h"
48292
48293 2005-08-25  Bruno Haible  <bruno@clisp.org>
48294
48295         * m4/minmax.m4: Require autoconf 2.52.
48296         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
48297         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
48298         alternatives of translit over the alphabet.
48299         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
48300
48301 2005-08-24  Simon Josefsson  <jas@extundo.com>
48302
48303         * tests/test-getpass.c: New file.
48304
48305 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48306
48307         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
48308         for GNU regex features.
48309
48310 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48311
48312         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
48313         * lib/regex.h (regerror): Likewise.
48314
48315         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
48316         requires this.  (The code never needed it.)
48317
48318         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
48319         All uses of recently-renamed identifiers changed to use the new,
48320         POSIX-compliant names.  The code will build and run just fine
48321         without these changes, but it's better to eat our own dog food
48322         and use the standard-conforming names.
48323
48324         * lib/regex.h: Fix a multitude of POSIX name space violations.
48325         These changes have an effect only for programs that define
48326         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
48327         do not change anything for programs compiled in the normal way.
48328         Also, there is no effect on the ABI.
48329
48330         (_REGEX_SOURCE): New macro.
48331         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
48332         defined and _GNU_SOURCE is not; this fixes a name space violation.
48333
48334         Rename the following macros to obey POSIX requirements.
48335         The old names are still visible as macros if _REGEX_SOURCE is defined.
48336         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
48337         RE_BACKSLASH_ESCAPE_IN_LISTS.
48338         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
48339         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
48340         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
48341         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
48342         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
48343         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
48344         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
48345         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
48346         (REG_INTERVALS): renamed from RE_INTERVALS.
48347         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
48348         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
48349         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
48350         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
48351         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
48352         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
48353         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
48354         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
48355         RE_UNMATCHED_RIGHT_PAREN_ORD.
48356         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
48357         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
48358         (REG_DEBUG): renamed from RE_DEBUG.
48359         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
48360         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
48361         unusual, since we can't clash with the POSIX REG_ICASE.
48362         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
48363         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
48364         (REG_NO_SUB): renamed from RE_NO_SUB.
48365         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
48366         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
48367         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
48368         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
48369         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
48370         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
48371         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
48372         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
48373         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
48374         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
48375         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
48376         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
48377         RE_SYNTAX_POSIX_MINIMAL_BASIC.
48378         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
48379         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
48380         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
48381         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
48382         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
48383         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
48384         (REG_FIXED): Renamed from REGS_FIXED.
48385         (REG_NREGS): Renamed from RE_NREGS.
48386
48387         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
48388         of other REG_* macros, since POSIX says the user is allowed to
48389         #undef these macros selectively.
48390
48391         (reg_errcode_t): Update comment stating what other tables need
48392         to be consistent.
48393
48394         Rename the following enum values to obey POSIX requirements.
48395         The old names are still visible as macros.
48396         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
48397         is not defined, since GNU is supposed to be a superset of POSIX as
48398         much as possible, and since we want reg_errcode_t to be a signed
48399         type for implementation consistency.
48400         (_REG_NOERROR): Renamed from REG_NOERROR.
48401         (_REG_NOMATCH): Renamed from REG_NOMATCH.
48402         (_REG_BADPAT): Renamed from REG_BADPAT.
48403         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
48404         (_REG_ECTYPE): Renamed from REG_ECTYPE.
48405         (_REG_EESCAPE): Renamed from REG_EESCAPE.
48406         (_REG_ESUBREG): Renamed from REG_ESUBREG.
48407         (_REG_EBRACK): Renamed from REG_EBRACK.
48408         (_REG_EPAREN): Renamed from REG_EPAREN.
48409         (_REG_EBRACE): Renamed from REG_EBRACE.
48410         (_REG_BADBR): Renamed from REG_BADBR.
48411         (_REG_ERANGE): Renamed from REG_ERANGE.
48412         (_REG_ESPACE): Renamed from REG_ESPACE.
48413         (_REG_BADRPT): Renamed from REG_BADRPT.
48414         (_REG_EEND): Renamed from REG_EEND.
48415         (_REG_ESIZE): Renamed from REG_ESIZE.
48416         (_REG_ERPAREN): Renamed from REG_ERPAREN.
48417         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
48418         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
48419         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
48420         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
48421
48422         (_REG_RE_NAME, _REG_RM_NAME): New macros.
48423         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
48424         changed.  But support the old name if the new one is not defined
48425         and if _REGEX_SOURCE.
48426
48427         Change the following member names in struct re_pattern_buffer.
48428         The old names are still supported if !_REGEX_SOURCE.
48429         The new names are always supported, regardless of _REGEX_SOURCE.
48430         (re_buffer): Renamed from buffer.
48431         (re_allocated): Renamed from allocated.
48432         (re_used): Renamed from used.
48433         (re_syntax): Renamed from syntax.
48434         (re_fastmap): Renamed from fastmap.
48435         (re_translate): Renamed from translate.
48436         (re_can_be_null): Renamed from can_be_null.
48437         (re_regs_allocated): Renamed from regs_allocated.
48438         (re_fastmap_accurate): Renamed from fastmap_accurate.
48439         (re_no_sub): Renamed from no_sub.
48440         (re_not_bol): Renamed from not_bol.
48441         (re_not_eol): Renamed from not_eol.
48442         (re_newline_anchor): Renamed from newline_anchor.
48443
48444         Change the following member names in struct re_registers.
48445         The old names are still supported if !_REGEX_SOURCE.
48446         The new names are always supported, regardless of _REGEX_SOURCE.
48447         (rm_num_regs): Renamed from num_regs.
48448         (rm_start): Renamed from start.
48449         (rm_end): Renamed from end.
48450
48451         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
48452         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
48453         Prepend __ to parameter names.
48454
48455         Undo yesterday's changes.
48456
48457 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48458
48459         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
48460         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
48461         lib/regex.c.
48462
48463 2005-08-24  Jim Meyering  <jim@meyering.net>
48464
48465         Sync from coreutils.
48466         * m4/fcntl-safer.m4: New file.
48467
48468         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
48469         and object files for this module.
48470
48471 2005-08-24  Jim Meyering  <jim@meyering.net>
48472
48473         Sync from coreutils.
48474         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
48475
48476 2005-08-24  Jim Meyering  <jim@meyering.net>
48477
48478         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
48479         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
48480
48481 2005-08-24  Jim Meyering  <jim@meyering.net>
48482
48483         * modules/fcntl-safer: New module.
48484         * modules/fts (Depends-on): Add fcntl-safer.
48485         * MODULES.html.sh (File descriptor based Input/Output):
48486         Add fcntl-safer.
48487
48488 2005-08-24  Bruno Haible  <bruno@clisp.org>
48489
48490         Support for unit test modules.
48491         * modules/README: Mention tests modules.
48492         * modules/TEMPLATE-TESTS: New file.
48493         * gnulib-tool: New options --extract-tests-module, --with-tests and
48494         --tests-base (unused for the moment).
48495         (testsbase, inctests): New variables.
48496         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
48497         (func_verify_module): Exclude TEMPLATE-TESTS.
48498         (func_verify_nontests_module, func_verify_tests_module): New functions.
48499         (func_get_dependencies): Add implicit dependency for tests modules.
48500         (func_get_tests_module): New function.
48501         (func_modules_transitive_closure): When --with-tests was specified,
48502         include the unit tests as well, unless explicitly avoided.
48503         (func_emit_lib_Makefile_am): Ignore the tests modules here.
48504         (func_emit_tests_Makefile_am): New function.
48505         (func_create_testdir): When --with-tests was specified, emit a
48506         tests/ directory.
48507         * MODULES.html.sh (Future developments): Update.
48508
48509 2005-08-24  Bruno Haible  <bruno@clisp.org>
48510
48511         * modules/tls-tests: New file.
48512         * tests/test-tls.c: New file, from GNU gettext.
48513
48514 2005-08-24  Bruno Haible  <bruno@clisp.org>
48515
48516         * modules/lock-tests: New file.
48517         * tests/test-lock.c: New file, from GNU gettext.
48518
48519 2005-08-24  Bruno Haible  <bruno@clisp.org>
48520
48521         * lib/lock.h: Add multiple inclusion guard.
48522         * lib/tls.h: Add multiple inclusion guard.
48523
48524 2005-08-24  Bruno Haible  <bruno@clisp.org>
48525
48526         * gnulib-tool: Add support for the --aux-dir option to
48527         --create-testdir, --create-megatestdir, --test, --megatest.
48528         (func_create_testdir, func_create_megatestdir): Optionally emit a
48529         AC_CONFIG_AUX_DIR directive.
48530         (create-testdir, create-megatestdir, test, megatest): Provide a
48531         default value for $auxdir.
48532
48533 2005-08-24  Bruno Haible  <bruno@clisp.org>
48534
48535         * gnulib-tool (import): Use compound statement instead of subshell
48536         where possible.
48537
48538 2005-08-24  Bruno Haible  <bruno@clisp.org>
48539
48540         * gnulib-tool (import): Change --aux-dir default to "build-aux".
48541
48542 2005-08-24  Bruno Haible  <bruno@clisp.org>
48543
48544         * gnulib-tool (func_version): Update.
48545
48546 2005-08-24  Bruno Haible  <bruno@clisp.org>
48547
48548         * gnulib-tool (func_import, func_create_testdir,
48549         func_create_megatestdir): Quote all autoconf macro arguments.
48550
48551 2005-08-24  Bruno Haible  <bruno@clisp.org>
48552
48553         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
48554         option --force, because --force causes the aclocal.m4 of each
48555         subdirectory to be newer than the corresponding config.h.in.
48556
48557 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48558
48559         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
48560         All contents moved to gl_REGEX.
48561         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
48562         assume that it does.
48563
48564 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48565
48566         * lib/regex.h (REG_NOSYS)
48567         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
48568         Define, since POSIX requires it as of 2001.
48569         (_REG_ENOSYS)
48570         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
48571         New private symbol, used to keep the enum signed in all cases.
48572         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
48573         Youngman in
48574         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
48575
48576         * lib/regex_internal.c (re_string_skip_chars, register_state):
48577         (calc_state_hash):
48578         Remove forward decls; no longer needed now that we use prototypes.
48579         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
48580         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
48581         (clean_state_log_if_needed): Likewise.
48582
48583 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48584
48585         * config/srclist.txt: Add glibc bugs 1231-1233.
48586
48587 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48588
48589         Fix problems reported by Sam Steingold in
48590         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
48591         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
48592         assumed that reg_errcode_t is a signed type, which is not
48593         necessarily true if _XOPEN_SOURCE is not defined.
48594         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
48595         since some compilers warn about it otherwise.
48596
48597 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48598
48599         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
48600         (init_word_char, create_initial_state, duplicate_node_closure):
48601         (fetch_token, peek_token_bracket, build_range_exp):
48602         (build_collating_symbol): Remove forward decls; no longer needed
48603         now that we use prototypes.
48604
48605         * lib/regcomp.c:
48606         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
48607         (re_compile_fastmap_iter, regcomp, regerror, regfree):
48608         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
48609         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
48610         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
48611         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
48612         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
48613         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
48614         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
48615         (build_range_exp, build_collating_symbol, parse_bracket_exp):
48616         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
48617         (build_charclass, build_charclass_op, fetch_number, create_tree):
48618         (create_token_tree, mark_opt_subexp, duplicate_tree):
48619         Use prototypes rather than old-style definitions.
48620
48621         * lib/regex_internal.c:
48622         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
48623         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
48624         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
48625         (re_string_reconstruct, re_string_peek_byte_case):
48626         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
48627         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
48628         (re_node_set_init_copy, re_node_set_add_intersect):
48629         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48630         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48631         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
48632         (re_acquire_state, re_acquire_state_context, register_state):
48633         (create_ci_newstate, create_cd_newstate, free_state):
48634         Likewise.
48635         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
48636         re_search_2):
48637         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
48638         (re_search_internal, prune_impossible_nodes):
48639         (acquire_init_state_context, check_matching, static):
48640         (check_halt_node_context, check_halt_state_context, proceed_next_node):
48641         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
48642         (update_regs, sift_states_backward, build_sifted_states):
48643         (clean_state_log_if_needed, merge_state_array):
48644         (update_cur_sifted_state, add_epsilon_src_nodes):
48645         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
48646         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
48647         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
48648         (find_recover_state, check_subexp_matching_top, transit_state_mb):
48649         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
48650         (check_arrival, check_arrival_add_next_nodes):
48651         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
48652         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
48653         (check_node_accept_bytes, check_node_accept, extend_buffers):
48654         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
48655         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
48656         (sift_ctx_init):
48657         Likewise.
48658
48659         * lib/regex_internal.h:
48660         (re_string_allocate, re_string_construct, re_string_reconstruct):
48661         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
48662         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
48663         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
48664         (re_string_context_at, re_string_peek_byte_case):
48665         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
48666         is defined, since we now use prototypes always.
48667
48668         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
48669         C89 or better.  All uses removed.
48670
48671 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48672
48673         * config/srclist.txt: Add glibc bugs 1220-1227.
48674
48675 2005-08-20  Jim Meyering  <jim@meyering.net>
48676
48677         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
48678         of unused local, dfa.
48679
48680 2005-08-20  Bruno Haible  <bruno@clisp.org>
48681
48682         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
48683
48684 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48685
48686         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
48687         (re_node_set_insert_last, re_dfa_add_node):
48688         Rename local variables to avoid GCC shadowing warnings.
48689
48690 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48691
48692         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
48693         [defined lint]: Suppress bogus uninitialized-variable warnings.
48694
48695         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
48696         and let the caller return REG_ESPACE if out of space.  This
48697         removes an uninitialied-variable warning with GCC 4.0.1, and also
48698         avoids taking the address of a local variable.  All callers
48699         changed.
48700
48701 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48702
48703         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
48704         $LIBCSRC/posix/regexec.c.
48705         Add glibc bug 1217 for regcomp.c.
48706
48707 2005-08-19  Jim Meyering  <jim@meyering.net>
48708
48709         * lib/regexec.c (proceed_next_node): Redo local variables to
48710         avoid GCC shadowing warnings.
48711
48712 2005-08-18  Bruno Haible  <bruno@clisp.org>
48713
48714         * lib/strstr.c (strstr): Fix return value in multibyte case.
48715         * lib/strcasestr.c (strcasestr): Likewise.
48716
48717 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48718
48719         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
48720
48721 2005-08-17  Jim Meyering  <jim@meyering.net>
48722
48723         Make the %s format (seconds since the epoch) work for a negative
48724         number and when used with a zero-padded field width, e.g. %015s.
48725
48726         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
48727         label so that it precedes the code to set `digits'.  Otherwise,
48728         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
48729         print `00-22'.  Now, it prints `-0022', as it should.
48730
48731 2005-08-17  Bruno Haible  <bruno@clisp.org>
48732
48733         * modules/strstr (Files): Add m4/mbrtowc.m4.
48734         (Depends-on): Add mbuiter.
48735
48736 2005-08-17  Bruno Haible  <bruno@clisp.org>
48737
48738         * modules/strcasestr: New file.
48739         * MODULES.html.sh (String handling, based on ANSI C 89): Add
48740         strcasestr.
48741
48742 2005-08-17  Bruno Haible  <bruno@clisp.org>
48743
48744         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
48745
48746 2005-08-17  Bruno Haible  <bruno@clisp.org>
48747
48748         * modules/mbuiter: New file.
48749         * MODULES.html.sh (Extended multibyte and wide character utilities):
48750         Add mbuiter.
48751
48752 2005-08-17  Bruno Haible  <bruno@clisp.org>
48753
48754         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
48755         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
48756
48757 2005-08-17  Bruno Haible  <bruno@clisp.org>
48758
48759         * m4/strcasestr.m4: New file.
48760
48761 2005-08-17  Bruno Haible  <bruno@clisp.org>
48762
48763         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
48764         * lib/strstr.c: Completely rewritten, with multibyte locale support.
48765
48766 2005-08-17  Bruno Haible  <bruno@clisp.org>
48767
48768         * lib/strcasestr.h: New file.
48769         * lib/strcasestr.c: New file.
48770
48771 2005-08-17  Bruno Haible  <bruno@clisp.org>
48772
48773         * lib/strcasecmp.c: Use mbuiter.h.
48774
48775 2005-08-17  Bruno Haible  <bruno@clisp.org>
48776
48777         * lib/mbuiter.h: New file.
48778
48779 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48780
48781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
48782         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
48783         and gl_GETOPT are both invoked via different paths (as happens
48784         with GNU tar CVS because it uses both argp and getopt), the former
48785         wins.
48786
48787 2005-08-16  Bruno Haible  <bruno@clisp.org>
48788
48789         * modules/tls: New file.
48790         * MODULES.html.sh (Multithreading): Add tls.
48791
48792 2005-08-16  Bruno Haible  <bruno@clisp.org>
48793
48794         * modules/strnlen1: New file.
48795         * MODULES.html.sh (String handling): Add strnlen1.
48796
48797 2005-08-16  Bruno Haible  <bruno@clisp.org>
48798
48799         * modules/strcase (Files): Add m4/mbrtowc.m4.
48800         (Depends-on): Add strnlen1, mbchar.
48801
48802 2005-08-16  Bruno Haible  <bruno@clisp.org>
48803
48804         * modules/mbiter: New file.
48805         * MODULES.html.sh (Extended multibyte and wide character utilities):
48806         Add mbiter.
48807
48808 2005-08-16  Bruno Haible  <bruno@clisp.org>
48809
48810         * modules/mbfile: New file.
48811         * MODULES.html.sh (Extended multibyte and wide character utilities):
48812         Add mbfile.
48813
48814 2005-08-16  Bruno Haible  <bruno@clisp.org>
48815
48816         * modules/mbchar: New file.
48817         * MODULES.html.sh (Extended multibyte and wide character utilities):
48818         New section.
48819
48820 2005-08-16  Bruno Haible  <bruno@clisp.org>
48821
48822         * m4/tls.m4: New file, from GNU gettext.
48823
48824 2005-08-16  Bruno Haible  <bruno@clisp.org>
48825
48826         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
48827         always.
48828         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
48829
48830 2005-08-16  Bruno Haible  <bruno@clisp.org>
48831
48832         * m4/mbiter.m4: New file.
48833
48834 2005-08-16  Bruno Haible  <bruno@clisp.org>
48835
48836         * m4/mbfile.m4: New file.
48837
48838 2005-08-16  Bruno Haible  <bruno@clisp.org>
48839
48840         * m4/mbchar.m4: New file.
48841
48842 2005-08-16  Bruno Haible  <bruno@clisp.org>
48843
48844         * lib/tls.h: New file, from GNU gettext.
48845         * lib/tls.c: New file, from GNU gettext.
48846
48847 2005-08-16  Bruno Haible  <bruno@clisp.org>
48848
48849         * lib/strnlen1.h: New file.
48850         * lib/strnlen1.c: New file.
48851
48852 2005-08-16  Bruno Haible  <bruno@clisp.org>
48853
48854         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
48855         (mbi_init): Update.
48856         (mbi_avail, mbi_advance): Let the iteration end before the terminating
48857         NUL byte, not after it.
48858
48859 2005-08-16  Bruno Haible  <bruno@clisp.org>
48860
48861         * lib/strcase.h (strcasecmp): Add note in comments.
48862         * lib/strncasecmp.c: Use code from strcasecmp.c.
48863         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
48864         (strcasecmp): Work correctly in multibyte locales.
48865
48866 2005-08-16  Bruno Haible  <bruno@clisp.org>
48867
48868         * lib/mbiter.h: New file.
48869
48870 2005-08-16  Bruno Haible  <bruno@clisp.org>
48871
48872         * lib/mbfile.h: New file.
48873
48874 2005-08-16  Bruno Haible  <bruno@clisp.org>
48875
48876         * lib/mbchar.h: New file.
48877         * lib/mbchar.c: New file.
48878
48879 2005-08-16  Bruno Haible  <bruno@clisp.org>
48880
48881         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
48882         the valid ones. Makes the comparison operations transitive:
48883         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
48884         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
48885
48886 2005-08-15  Simon Josefsson  <jas@extundo.com>
48887
48888         * modules/ssize_t (License): Change to 'unlimited'.
48889
48890         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
48891
48892 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48893
48894         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
48895         Add comments for each pending glibc patch.
48896
48897 2005-08-15  Bruno Haible  <bruno@clisp.org>
48898
48899         * lib/regex.h (__restrict_arr): Don't define to __restrict if
48900         __cplusplus is defined.
48901
48902 2005-08-14  Jim Meyering  <jim@meyering.net>
48903
48904         Sync from coreutils.
48905
48906         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
48907         Use the hash-table-based cycle-detection code not just when
48908         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
48909         Reported by James Youngman in
48910         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
48911         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
48912         FTS_TIGHT_CYCLE_CHECK.
48913         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
48914         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
48915         once again.
48916         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
48917         * lib/fts.c (fd_safer): Remove decl.
48918         Include fcntl--.h rather than unistd-safer.h
48919         (fts_safe_changedir): Don't call fd_safer; no longer needed
48920         now that we include fcntl--.h.
48921
48922 2005-08-12  Simon Josefsson  <jas@extundo.com>
48923
48924         * modules/getndelim2: Use ssize_t module.
48925         * modules/getnline: Likewise.
48926         * modules/safe-read: Likewise.
48927         * modules/xreadlink: Likewise.
48928
48929         * modules/ssize_t: New file.
48930
48931 2005-08-12  Simon Josefsson  <jas@extundo.com>
48932
48933         * m4/readline.m4: Look for termcap, curses or ncurses if required.
48934
48935 2005-08-12  Simon Josefsson  <jas@extundo.com>
48936
48937         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48938         ssize_t.
48939
48940 2005-08-12  Simon Josefsson  <jas@extundo.com>
48941
48942         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
48943         readline, getdelim and check_version.
48944         (Support for systems lacking ISO C 99: Sizes of integer types):
48945         Add size_max.
48946
48947 2005-08-12  Bruno Haible  <bruno@clisp.org>
48948
48949         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
48950
48951 2005-08-11  Simon Josefsson  <jas@extundo.com>
48952
48953         * modules/readline: New file.
48954
48955         * modules/strnlen (Files): Add strnlen.h.
48956
48957 2005-08-11  Simon Josefsson  <jas@extundo.com>
48958
48959         * m4/readline.m4: New file.
48960
48961 2005-08-11  Simon Josefsson  <jas@extundo.com>
48962
48963         * lib/readline.h, readline.c: New file.
48964
48965 2005-08-11  Simon Josefsson  <jas@extundo.com>
48966
48967         * doc/gnulib.texi (Initial import, Finishing touches): Mention
48968         gl_AVOID.
48969
48970 2005-08-11  Bruno Haible  <bruno@clisp.org>
48971
48972         * lib/strnlen.h (strnlen): Change parameter name to match comment.
48973
48974 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
48975
48976         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
48977
48978 2005-08-10  Simon Josefsson  <jas@extundo.com>
48979
48980         * tests/test-iconvme.c: New file.
48981
48982 2005-08-10  Simon Josefsson  <jas@extundo.com>
48983
48984         * m4/strnlen.m4: New file.
48985
48986         * m4/strndup.m4: Don't check for strnlen declaration, done in
48987         strnlen.m4.
48988
48989 2005-08-10  Simon Josefsson  <jas@extundo.com>
48990
48991         * lib/strndup.c: Use strnlen.h.
48992
48993         * lib/strnlen.h: New file.
48994
48995 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48996
48997         * README: Typos.
48998
48999 2005-08-02  Simon Josefsson  <jas@extundo.com>
49000
49001         * modules/readline: New file.
49002
49003 2005-08-02  Simon Josefsson  <jas@extundo.com>
49004
49005         * modules/getdelim: New file.
49006
49007         * modules/getline: Rewrite, don't use getndelim2.
49008
49009 2005-08-02  Simon Josefsson  <jas@extundo.com>
49010
49011         * m4/getline.m4: Separate out getdelim stuff into separate module.
49012
49013         * m4/getdelim.m4: New file.
49014
49015 2005-08-02  Simon Josefsson  <jas@extundo.com>
49016
49017         * lib/getline.h, getline.c: Rewrite.
49018
49019         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
49020
49021 2005-07-31  Bruno Haible  <bruno@clisp.org>
49022
49023         * lib/lock.h (gl_lock_initializer): New macro.
49024         (gl_lock_define_initialized): Use it.
49025         (gl_rwlock_initializer): New macro.
49026         (gl_rwlock_define_initialized): Use it.
49027         (gl_recursive_lock_initializer): New macro.
49028         (gl_recursive_lock_define_initialized): Use it.
49029
49030 2005-07-30  Karl Berry  <karl@gnu.org>
49031
49032         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
49033         Report from Ben Pfaff, regarding getopt.
49034
49035 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
49036
49037         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
49038         normal way.
49039         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
49040         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
49041         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
49042         (gl_GETOPT): Use the new macros.  Most of the implementation
49043         is moved to the new macros.  This is for programs like Emacs
49044         that don't want all the functionality of gl_GETOPT.
49045
49046 2005-07-26  Bruno Haible  <bruno@clisp.org>
49047
49048         * m4/lock.m4: Update from GNU gettext.
49049
49050 2005-07-26  Bruno Haible  <bruno@clisp.org>
49051
49052         * lib/lock.h: Update from GNU gettext.
49053         * lib/lock.c: Update from GNU gettext.
49054
49055 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49056
49057         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
49058         obsolescent AC_TRY_RUN.  Include the default includes files, for
49059         'exit'.
49060
49061 2005-07-24  Bruno Haible  <bruno@clisp.org>
49062
49063         * modules/visibility: New file.
49064         * MODULES.html.sh (Misc): Add visibility.
49065
49066 2005-07-24  Bruno Haible  <bruno@clisp.org>
49067
49068         * m4/visibility.m4: New file.
49069
49070 2005-07-24  Bruno Haible  <bruno@clisp.org>
49071
49072         * doc/visibility.texi: New file.
49073
49074 2005-07-22  Bruno Haible  <bruno@clisp.org>
49075
49076         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
49077         $(ALLOCA_H), redundant through BUILT_SOURCES.
49078         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
49079         redundant through BUILT_SOURCES.
49080         * modules/byteswap (Makefile.am): Remove explicit dependency on
49081         $(BYTESWAP_H), redundant through BUILT_SOURCES.
49082         * modules/fnmatch (Makefile.am): Remove explicit dependency on
49083         $(FNMATCH_H), redundant through BUILT_SOURCES.
49084         * modules/getopt (Makefile.am): Remove explicit dependency on
49085         $(GETOPT_H), redundant through BUILT_SOURCES.
49086         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
49087         redundant through BUILT_SOURCES.
49088         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
49089         redundant through BUILT_SOURCES.
49090         * modules/stdbool (Makefile.am): Remove explicit dependency on
49091         $(STDBOOL_H), redundant through BUILT_SOURCES.
49092         * modules/stdint (Makefile.am): Remove explicit dependency on
49093         $(STDINT_H), redundant through BUILT_SOURCES.
49094         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
49095         Remove explicit dependency on $(SYSEXITS_H).
49096         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
49097
49098 2005-07-18  Simon Josefsson  <jas@extundo.com>
49099
49100         * lib/check-version.c (check_version): Accept identical versions too.
49101
49102 2005-07-18  Bruno Haible  <bruno@clisp.org>
49103
49104         * modules/lock: New file.
49105         * MODULES.html.sh (Multithreading): New section.
49106
49107 2005-07-18  Bruno Haible  <bruno@clisp.org>
49108
49109         * m4/lock.m4: New file, from GNU gettext.
49110
49111 2005-07-18  Bruno Haible  <bruno@clisp.org>
49112
49113         * lib/lock.h: New file, from GNU gettext.
49114         * lib/lock.c: New file, from GNU gettext.
49115
49116 2005-07-18  Bruno Haible  <bruno@clisp.org>
49117
49118         * lib/lock.h (gl_once_t): New type.
49119         (gl_once_define, gl_once): New macros.
49120         * lib/lock.c (fresh_once): New variable.
49121         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
49122         functions.
49123
49124 2005-07-16  Simon Josefsson  <jas@extundo.com>
49125
49126         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
49127         workaround, suggested by Bruno.
49128
49129 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49130
49131         * modules/xalloc (Depends-on): Add xalloc-die.
49132         * modules/xvasprintf (Depends-on): Add xalloc-die.
49133
49134 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49135
49136         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
49137         with a minor change.
49138
49139 2005-07-15  Bruno Haible  <bruno@clisp.org>
49140
49141         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
49142         When using lib/poll.c, define poll as rpl_poll.
49143
49144 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
49145
49146         * modules/argp (Depends-on): Remove unlocked-io.
49147
49148 2005-07-14  Derek Price  <derek@ximbiot.com>
49149
49150         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
49151         for glob symlink bug.
49152
49153 2005-07-14  Bruno Haible  <bruno@clisp.org>
49154
49155         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
49156         Instead, test for *_unlocked function declarations directly.
49157
49158 2005-07-11  Simon Josefsson  <jas@extundo.com>
49159
49160         * modules/size_max: New file.
49161
49162         * modules/xsize: Depend on size_max module for size_max.m4.
49163
49164 2005-07-11  Simon Josefsson  <jas@extundo.com>
49165
49166         * lib/size_max.h: New file.
49167
49168 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49169
49170         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
49171         copyright symbol and the year.
49172         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
49173         (version_etc_va): Use parameterized copyright notice.
49174         Reword to conform to the current GNU coding standards.
49175
49176 2005-07-11  Karl Berry  <karl@gnu.org>
49177
49178         * doc/gnulib.texi (Quoting): new node.
49179         (Initial import): more info, from Patrice.
49180
49181 2005-07-11  Bruno Haible  <bruno@clisp.org>
49182
49183         * gnulib-tool (func_usage): Document option --avoid.
49184         (Command line options): Handle --avoid.
49185         (func_acceptable): New function.
49186         (func_modules_transitive_closure): Use it.
49187
49188 2005-07-11  Bruno Haible  <bruno@clisp.org>
49189
49190         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
49191         Reported by Jim Meyering.
49192
49193 2005-07-10  Bruno Haible  <bruno@clisp.org>
49194
49195         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
49196         Needed when size_t is smaller than 'unsigned int'.
49197         Reported by Paul Eggert.
49198
49199 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49200
49201         * modules/argp (Depends-on): Add unlocked-io
49202
49203 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49204
49205         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
49206         block of defines.
49207
49208 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49209
49210         * config/srclist.txt: Comment out regcomp.c, since we have a porting
49211         fix now.
49212
49213 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
49214         and Paul Eggert  <eggert@cs.ucla.edu>
49215
49216         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
49217         in wint_t, not wchar_t.  Remove now-unnecessary cast.
49218
49219 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49220
49221         * modules/regex (Files): Add lib/regex_internal.c,
49222         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
49223         (Depends-on): Add extensions.
49224         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
49225
49226 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49227
49228         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
49229         pathconf.
49230         * m4/same.m4 (gl_SAME): Likewise.
49231         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
49232
49233         * m4/regex.m4: Adjust to new libc regex implementation.
49234         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
49235         all the .c and .h parts of (the new) regex.
49236         Quote the m4 stuff better.
49237         Check for RE_ICASE bug of old gnulib.
49238         Check for REG_STARTEND of recent libc.
49239         Rename local variables from jm_* to gl_*.
49240         Quote operand of "test -f".
49241         Say "recent enough" version of libc, not "version 2".
49242         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
49243         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
49244         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
49245         Remove check for btowc, isascii.
49246         Require AM_LANGINFO_CODESET.
49247
49248 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49249
49250         * lib/regex.c, regex.h: Sync from libc.
49251         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
49252         * lib/regexec.c:
49253         New files, synced from libc, except that regex_internal.h
49254         currently has a small porting fix.
49255
49256 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49257
49258         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
49259         regex_internal.c, regexec.c.
49260         Add regex_internal.h too, but as a comment, since the libc version
49261         is currently broken in gnulib mode.
49262
49263 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49264
49265         Support programs like Emacs that use gnulib but not gettext.
49266         * MODULES.html.sh (Internationalization functions): Add gettext-h.
49267         * modules/gettext-h: New file.
49268         * modules/gettext (Files): Remove lib/gettext.h.
49269         (Depends-on): Add gettext-h.
49270         (Makefile.am): Remove lib_SOURCES.
49271         * modules/argmatch, modules/c-stack, modules/closeout:
49272         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
49273         * modules/execute, modules/file-type, modules/getaddrinfo:
49274         * modules/getopt, modules/human, modules/javacomp:
49275         * modules/javaexec, modules/mkdir-p, modules/obstack:
49276         * modules/openat, modules/pagealign_alloc, modules/pipe:
49277         * modules/quotearg, modules/regex, modules/rpmatch:
49278         * modules/unicodeio, modules/userspec, modules/version-etc:
49279         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
49280         * modules/xsetenv:
49281         Depend on gettext-h, not gettext.
49282
49283 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49284
49285         * gnulib-tool (func_import): Add support for 'public domain' license.
49286         * modules/alloca, modules/atexit, modules/memmove:
49287         Now public domain, not GPL.
49288         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
49289         * modules/realloc, modules/strerror, modules/strtod:
49290         Now LGPL, not GPL.
49291
49292 2005-07-05  Bruno Haible  <bruno@clisp.org>
49293
49294         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
49295         autoconf CVS. Needed for mingw.
49296
49297 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49298
49299         Remove the dependency of the strftime module on the tzset module.
49300         * modules/strftime (Depends-on): Remove dependency on tzset.
49301
49302 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49303
49304         Remove the dependency of the strftime module on the tzset module.
49305         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
49306         gl_FUNC_TZSET_CLOBBER.
49307
49308 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49309
49310         Remove the dependency of the strftime module on the tzset module.
49311         * lib/strftime.c (my_strftime)
49312         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
49313         Copy the input structure, to work around some of the bug with
49314         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
49315         Solaris releases, you should also use the tzset module, but we won't
49316         require it as a dependency any more since we don't want LGPLed code
49317         to depend on GPLed code.
49318
49319 2005-07-02  Jim Meyering  <jim@meyering.net>
49320
49321         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
49322         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
49323         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
49324         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
49325
49326 2005-07-02  Jim Meyering  <jim@meyering.net>
49327
49328         * lib/backupfile.c (backup_args): Change a `0' to NULL.
49329
49330 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49331
49332         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
49333         declares only 'struct timespec;' (!).
49334
49335 2005-07-01  Jim Meyering  <jim@meyering.net>
49336
49337         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
49338         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
49339         * lib/save-cwd.c, tempname.c:
49340         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
49341         and don't include <sys/file.h>).
49342
49343 2005-06-29  Jim Meyering  <jim@meyering.net>
49344
49345         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
49346         type name.  Use the variable name instead.
49347         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
49348         Likewise.
49349
49350 2005-06-28  Simon Josefsson  <jas@extundo.com>
49351
49352         * modules/check-version (Files): Add check-version.m4.
49353
49354 2005-06-28  Simon Josefsson  <jas@extundo.com>
49355
49356         * m4/check-version.m4: New file, suggested by Jim Meyering
49357         <jim@meyering.net>.
49358
49359 2005-06-28  Simon Josefsson  <jas@extundo.com>
49360
49361         * lib/check-version.h, lib/check-version.c: New files.
49362
49363 2005-06-28  Simon Josefsson  <jas@extundo.com>
49364
49365         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
49366         collision with global variable.  Better indentation.  Don't
49367         increment buffer pointer beyond buffer end.  Based on comments
49368         from Paul Eggert <eggert@cs.ucla.edu>.
49369
49370         * lib/base64.h: Indent.
49371
49372 2005-06-28  Simon Josefsson  <jas@extundo.com>
49373
49374         * doc/gnulib.texi (Library version handling): New section.
49375
49376 2005-06-28  Jim Meyering  <jim@meyering.net>
49377
49378         * check-module (find_included_lib_files): Hard-code another
49379         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
49380         but modules/fts-lgpl (correctly) does not list those files.
49381
49382         * modules/canonicalize (Files): Add lib/pathmax.h.
49383
49384 2005-06-25  Simon Josefsson  <jas@extundo.com>
49385
49386         * modules/check-version: New file.
49387
49388 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
49389
49390         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
49391         initializer of struct addrinfo, as an indication that we don't
49392         care how many members the structure has.
49393
49394 2005-06-24  Derek Price  <derek@ximbiot.com>
49395         and Bruno Haible  <bruno@clisp.org>
49396
49397         Remove stat module & update lstat.
49398         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
49399         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49400         * m4/stat.m4: Remove this file.
49401
49402 2005-06-24  Derek Price  <derek@ximbiot.com>
49403         and Bruno Haible  <bruno@clisp.org>
49404
49405         Remove stat module & update lstat.
49406         * lib/stat.c: Remove this file...
49407         (slash_aware_lstat): ...moving this content and its support...
49408         * lib/lstat.c (rpl_lstat): ...into here.
49409         * lib/lstat.h: New file.
49410
49411 2005-06-24  Derek Price  <derek@ximbiot.com>
49412         and Bruno Haible  <bruno@clisp.org>
49413
49414         Remove stat module & update lstat.
49415         * config/srclist.txt (libc sources): Remove stat.
49416
49417 2005-06-24  Derek Price  <derek@ximbiot.com>
49418         and Bruno Haible  <bruno@clisp.org>
49419
49420         Remove stat module & update lstat.
49421         * MODULES.html.sh (stat): Remove.
49422         * MODULES.html: Regenerated.
49423         * modules/lstat (Description): Correct function name.
49424         (Files): Add "lstat.h".
49425         (Depends-on): Remove stat, add xalloc, stat-macros.
49426         * modules/stat: Remove this file.
49427         (Include): Add "lstat.h", remove <sys/stat.h>.
49428
49429 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49430
49431         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
49432         (ranged_convert): Don't save conversion in a temporary struct.
49433         This causes a warning with GCC 4.0.0, and anyway in the typical
49434         case it's not worth the extra 100 bytes or so of code.
49435         (ranged_convert, __mktime_internal): When calling a function via a
49436         pointer P, use P () rather than (*P) (), as we now assume C89 or
49437         better.
49438
49439 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49440
49441         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
49442         "who -r" failed to give output.  Problem reported by Tim Waugh.
49443
49444         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
49445         (xcalloc): Use it to avoid needless tests.
49446         Problem reported by Jim Meyering.
49447
49448 2005-06-20  Derek Price  <derek@ximbiot.com>
49449
49450         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
49451         unnecessary for Autoconfs > 2.59c.
49452
49453 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49454
49455         * lib/argp.h (__option_is_short): Check upper limit of
49456         __key. Isprint() requires its argument to have the value
49457         of an unsigned char or EOF.
49458
49459 2005-06-16  Jim Meyering  <jim@meyering.net>
49460
49461         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
49462         when either N or S is zero.
49463
49464 2005-06-16  Derek Price  <derek@ximbiot.com>
49465
49466         * m4/bison.m4: Declare YACC & YFLAGS precious.
49467
49468 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
49469
49470         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
49471         multibyte string or pattern, fall back on unibyte matching.
49472         Problem reported by James Youngman.
49473
49474 2005-06-08  Bruno Haible  <bruno@clisp.org>
49475
49476         * modules/csharpcomp: New file.
49477         * MODULES.html.sh (C#): Add csharpcomp.
49478
49479 2005-06-08  Bruno Haible  <bruno@clisp.org>
49480
49481         * m4/csharpcomp.m4: New file, from GNU gettext.
49482
49483 2005-06-08  Bruno Haible  <bruno@clisp.org>
49484
49485         * lib/csharpcomp.h: New file, from GNU gettext.
49486         * lib/csharpcomp.c: New file, from GNU gettext.
49487         * lib/csharpcomp.sh.in: New file, from GNU gettext.
49488
49489 2005-06-08  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
49492         warning on mingw.
49493
49494 2005-06-07  Derek Price  <derek@ximbiot.com>
49495
49496         Sync from CVS.
49497         * lib/glob_.h: Indent nested #ifdef.
49498
49499 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49500
49501         Sync from coreutils.
49502         Use "file name" when talking about file names, instead of "filename"
49503         or "path", as per the GNU coding standards.
49504         * lib/mkdir-p.c: Renamed from makepath.c.
49505         (make_dir_parents): Renamed from make_path.  All callers changed.
49506         * lib/mkdir-p.h: Likewise.  All includers changed.
49507         * lib/filenamecat.c: Renamed from path-concat.c.
49508         (file_name_concat): Renamed from path_concat.  All callers changed.
49509         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
49510         * lib/filenamecat.h: Likewise.  All includers changed.
49511         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
49512         in comments or local variable names.
49513         * lib/basename.c: Likewise.
49514         * lib/canonicalize.c, canonicalize.h: Likewise.
49515         * lib/dirname.c, dirname.h: Likewise.
49516         * lib/euidaccess.c: Likewise.
49517         * lib/exclude.c: Likewise
49518         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
49519         * lib/fsusage.c, fsuage.h: Likewise.
49520         * lib/fts.c, fts_.h: Likewise.
49521         * lib/getcwd.c: Likewise.
49522         * lib/getloadavg.c: Likewise.
49523         * lib/mkstemp.c: Likewise.
49524         * lib/mountlist.c, mountlist.h: Likewise.
49525         * lib/openat.c, openat.h: Likewise.
49526         * lib/readlink-stub.c: Likewise.
49527         * lib/readutmp.c, readutmp.h: Likewise.
49528         * lib/rename.c: Likewise.
49529         * lib/rmdir.c: Likewise.
49530         * lib/same.c: Likewise.
49531         * lib/savedir.c: Likewise.
49532         * lib/stripslash.c: Likewise.
49533         * lib/tempname.c: Likewise.
49534         * lib/xreadlink.c: Likewise.
49535         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
49536         All uses changed.
49537         * lib/exclude.h: Likewise.
49538
49539         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
49540         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49541         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
49542         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49543         * lib/pathmax.h: Include <limits.h> unconditionally, since other
49544         files have been getting away with it for years (MORE/BSD 4.3
49545         is extinct now).
49546         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
49547         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
49548
49549         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
49550         Define to 256, not 255, as per modern POSIX.
49551
49552 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49553
49554         Sync from coreutils.
49555         Use "file name" when talking about file names, instead of "filename"
49556         or "path", as per the GNU coding standards.
49557         * MODULES.html.sh: mkdir-p renamed from makepath.
49558         filenamecat renamed from path-concat.
49559         * modules/filenamecat: Renamed from modules/path-concat.
49560         (Files): filenamecat.h and filenamecat.c renamed from
49561         path-concat.h and path-concat.c.
49562         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
49563         (Include): filenamecat.h, not path-concat.h.
49564         * modules/mkdir-p: Renamed from modules/makepath.
49565         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
49566         makepath.c.
49567         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
49568         (Include): mkdir-p.h, not makepath.h.
49569
49570 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
49571
49572         Sync from coreutils.
49573         * m4/mkdir-p.m4: Renamed from makepath.m4.
49574         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
49575         Rename files from makepath.c to mkdir-p.c, and from
49576         makepath.h to mkdir-p.h.
49577         * m4/filenamecat.m4: Renamed from path-concat.m4.
49578         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
49579         Rename files from path-concat.c to filenamecat.c,
49580         and from path-concat.h to filenamecat.h.
49581         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
49582         "file name" in local variables or comments.
49583         * m4/rename.m4: Likewise.
49584
49585 2005-06-01  Bruno Haible  <bruno@clisp.org>
49586
49587         * modules/csharpexec: New file.
49588         * MODULES.html.sh (C#): New section.
49589
49590 2005-06-01  Bruno Haible  <bruno@clisp.org>
49591
49592         * m4/csharp.m4: New file, from GNU gettext.
49593         * m4/csharpexec.m4: New file, from GNU gettext.
49594
49595 2005-06-01  Bruno Haible  <bruno@clisp.org>
49596
49597         * lib/csharpexec.h: New file, from GNU gettext.
49598         * lib/csharpexec.c: New file, from GNU gettext.
49599         * lib/csharpexec.sh.in: New file, from GNU gettext.
49600
49601 2005-05-31  Derek Price  <derek@ximbiot.com>
49602             Paul Eggert  <eggert@cs.ucla.edu>
49603
49604         Sync from cvs.
49605         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49606
49607 2005-05-31  Derek Price  <derek@ximbiot.com>
49608             Paul Eggert  <eggert@cs.ucla.edu>
49609
49610         Sync from cvs.
49611         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
49612
49613 2005-05-29  Derek Price  <derek@ximbiot.com>
49614
49615         * config/srclist.txt (glob_.h, glob.c): Add these files.
49616
49617 2005-05-29  Derek Price  <derek@ximbiot.com>
49618
49619         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
49620         * modules/glob: New file.
49621         * modules/getlogin_r: Add link to POSIX spec in description.
49622
49623 2005-05-29  Derek Price  <derek@ximbiot.com>
49624             Paul Eggert  <eggert@cs.ucla.edu>
49625
49626         * m4/glob.m4: New file.
49627
49628 2005-05-29  Derek Price  <derek@ximbiot.com>
49629             Paul Eggert  <eggert@cs.ucla.edu>
49630
49631         * lib/glob_.h, lib/glob.c: New files.
49632
49633 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49634
49635         * modules/fts (Files): Remove m4/inttypes-pri.m4.
49636         * modules/fts-lgpl (Depends-on): Remove gettext.
49637
49638 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49639
49640         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
49641         and don't require gt_INTTYPES_PRI.
49642
49643 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
49644
49645         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
49646
49647         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
49648         the configuration hassle isn't worth it.
49649         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
49650         (LONGEST_MODIFIER, PRIuMAX): Remove.
49651
49652 2005-05-27  Bruno Haible  <bruno@clisp.org>
49653
49654         * lib/getlogin_r.h: Remove second include of <stddef.h>.
49655
49656 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
49657
49658         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
49659         _POSIX_PTHREAD_SEMANTICS for Solaris.
49660
49661 2005-05-25  Derek Price  <derek@ximbiot.com>
49662
49663         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
49664
49665 2005-05-25  Derek Price  <derek@ximbiot.com>
49666             Paul Eggert  <eggert@cs.ucla.edu>
49667
49668         * modules/getlogin_r, m4/getlogin_r.m4: New files.
49669         * lib/getlogin_r.c, getlogin_r.h: New files.
49670
49671 2005-05-25  Bruno Haible  <bruno@clisp.org>
49672             Derek Price  <derek@ximbiot.com>
49673
49674         * lib/getlogin_r.h: Simplify API documentation.
49675
49676 2005-05-23  Derek Price  <derek@ximbiot.com>
49677
49678         * modules/minmax (Files): Add m4/minmax.m4.
49679         (configure.ac): Add gl_MINMAX.
49680
49681 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49682
49683         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
49684         so that unistd-safer.h (GPL'ed code) need not be included.
49685
49686 2005-05-22  Bruno Haible  <bruno@clisp.org>
49687
49688         * m4/minmax.m4: New file.
49689         Based on a patch by Derek Price <derek@ximbiot.com>.
49690
49691 2005-05-22  Bruno Haible  <bruno@clisp.org>
49692
49693         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
49694         (INT64_MIN): Fix definition.
49695         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
49696
49697         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
49698         NEED_SIGNED_INT_TYPES.
49699
49700         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
49701         HAVE_SYSTEM_INTTYPES.
49702
49703 2005-05-22  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
49706         Also include <sys/param.h> if it defines MIN, MAX.
49707         Based on a patch by Derek Price <derek@ximbiot.com>.
49708
49709 2005-05-21  Jim Meyering  <jim@meyering.net>
49710
49711         * modules/fts (Files): Add m4/inttypes-pri.m4.
49712         (Depends-on): Add lstat and remove gettext.  Alphabetize.
49713
49714 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49715
49716         New fts module.
49717         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
49718         (setup_dir, free_dir): New functions.
49719         (enter_dir, leave_dir): Define trivial
49720         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
49721         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
49722         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
49723         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
49724         Move to fts-cycle.c.
49725         (fts_open): Use setup_dir.
49726         (fts_close): Use free_dir.
49727         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
49728         This adds a label and some gotos, but the alternatives were messier.
49729         Check for memory allocation failure when entering a dir.
49730         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
49731         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
49732         (FTS): New member fts_cycle, that is a union that contains the
49733         old active_dir_ht and cycle_state.  All uses changed to mention
49734         fts_cycle.ht and fts_cycle.state.
49735         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
49736         fts.c, with the following changes:
49737         (setup_dir, free_dir): New functions.
49738         (enter_dir): Now returns bool.  Return true if successful, false
49739         if memory exhausted.  All callers changed.
49740         Do not bother partly cleaning up on
49741         memory allocation failure; that is free_dir's job.
49742         However, free ad if hash_insert fails, to avoid memory leak.
49743         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
49744         fts->fts_options to see which union member to use.
49745
49746 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49747
49748         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
49749         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
49750
49751 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49752
49753         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
49754
49755 2005-05-20  Jim Meyering  <jim@meyering.net>
49756
49757         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
49758         Now a macro, to pacify GCC.
49759
49760 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
49761
49762         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
49763         of -1.
49764
49765 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
49766
49767         * lib/chown.c (rpl_chown): Return -1 on failure.
49768
49769 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49770
49771         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
49772         Don't check for stddef.h.
49773         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
49774         don't use its results.
49775         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
49776         since we include them unconditionally.  Don't require
49777         AM_STDBOOL_H, since stdbool is a prerequisite.
49778         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
49779         since we assume C89 or better.
49780         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
49781         as we don't use their results.
49782         Don't check for fchdir, memmove, memset, strrchr, as we use
49783         them unconditionally.
49784         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
49785         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
49786
49787 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
49788
49789         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
49790         Include <stddef.h> unconditionally, since we assume C89 now.
49791         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
49792         * lib/fts.c: Include fts_.h first, to check interface.
49793         Do not include intprops.h; no longer needed.
49794         Include cycle-check.h and hash.h, since fts_.h no longer does.
49795         Remove unnecessary casts of closedir to void.
49796         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
49797         decide whether to decrement nlinks.
49798         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
49799         (FTS): Use struct hash_table * instead of Hash_table, so that
49800         we no longer need to include hash.h here.
49801
49802 2005-05-18  Jim Meyering  <jim@meyering.net>
49803
49804         * modules/dirfd (License): Change to LGPL.  Most of the code
49805         is already in the public domain.
49806
49807 2005-05-18  Jim Meyering  <jim@meyering.net>
49808
49809         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
49810         Reported by Yoann Vandoorselaere.
49811
49812 2005-05-17  Jim Meyering  <jim@meyering.net>
49813
49814         * m4/fts.m4: New file, from coreutils.
49815
49816 2005-05-17  Jim Meyering  <jim@meyering.net>
49817
49818         * lib/fts.c, lib/fts_.h: New files, from coreutils.
49819
49820 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49821
49822         Sync from coreutils.
49823         * m4/unlinkdir.m4: New file.
49824
49825 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49826
49827         Sync from coreutils.
49828         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
49829         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
49830         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
49831         White space changes only.
49832         * lib/makepath.c (make_path): Port to hosts where leading "//" is
49833         special.
49834         * lib/yesno.c: Include getline.h, not ctype.h.
49835         (yesno): Don't remove leading white space; POSIX doesn't allow it.
49836         Use getline to remove arbitrary restriction on response length.
49837
49838 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49839
49840         * config/srclist-update: Spell out "Street" in FSF postal
49841         mail address; this is the style the FSF seems to prefer.
49842
49843         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
49844         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
49845         this updates FSF postal mail address.
49846
49847         Sync from coreutils.
49848         * modules/unlinkdir: New file.
49849         * modules/yesno (Depends-on): Add getline.
49850         * MODULES.html.sh (File system functions): Add unlinkdir.
49851
49852 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
49853
49854         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
49855         lib/strsep.h:
49856         Change the initial comment to refer to GPL, not LGPL.
49857         gnulib-tool will change it to LGPL as needed.
49858
49859         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
49860         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
49861         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
49862         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
49863         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
49864         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
49865         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
49866         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
49867         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
49868         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
49869         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
49870         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
49871         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
49872         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
49873         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
49874         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
49875         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
49876         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
49877         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
49878         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
49879         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
49880         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
49881         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
49882         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
49883         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
49884         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
49885         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
49886         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
49887         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
49888         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
49889         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
49890         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
49891         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
49892         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
49893         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
49894         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
49895         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
49896         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
49897         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
49898         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
49899         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
49900         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
49901         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
49902         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
49903         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
49904         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
49905         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
49906         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
49907         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
49908         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
49909         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
49910         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
49911         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
49912         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
49913         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
49914         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
49915         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
49916         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
49917         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
49918         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
49919         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
49920         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
49921         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
49922         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
49923         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
49924         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
49925         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
49926         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
49927         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
49928         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
49929         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
49930         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
49931         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
49932         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
49933         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
49934         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
49935         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
49936         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
49937         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
49938         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
49939         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
49940         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
49941         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
49942         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
49943         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
49944         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
49945         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
49946         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
49947         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
49948         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
49949         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
49950         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
49951         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
49952         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
49953         lib/yesno.c, lib/yesno.h:
49954         Update FSF postal mail address.
49955
49956 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
49957
49958         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
49959         tests/test-memmem.c, tests/test-stpncpy.c:
49960         Update FSF postal mail address.
49961
49962 2005-05-13  Bruno Haible  <bruno@clisp.org>
49963
49964         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
49965         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
49966         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
49967         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
49968         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
49969         Add support for 64-bit integers in the MSVC compiler.
49970
49971 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49972
49973         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
49974
49975 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
49976
49977         * gnulib-tool (func_import): Sort and uniquify recommended includes.
49978
49979 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
49980
49981         * doc/getdate.texi (General date syntax): Don't say that date
49982         date --iso-8601=ns generates acceptable dates; it doesn't yet.
49983         Problem reported by Nic Ferrier.
49984
49985 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49986
49987         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
49988         specified in ai_socktype. Fix invalid ai_protocol
49989         check. ai_protocol is usually set to 0 or depending on
49990         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
49991         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
49992         ai_socktype / ai_protocol in the returned addrinfo structure.
49993
49994 2005-05-10  Simon Josefsson  <jas@extundo.com>
49995
49996         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
49997         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49998
49999 2005-05-10  Karl Berry  <karl@gnu.org>
50000
50001         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
50002         (from http://www.gnu.org/licenses).
50003         * doc/COPYING.LIB: also rename to COPYING.LESSER.
50004         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
50005         fdl.texi suffices.
50006
50007 2005-05-10  Karl Berry  <karl@gnu.org>
50008
50009         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
50010         (COPYING.DOC): remove.
50011
50012         * config/srclist-update: new FSF address.
50013
50014 2005-05-10  Derek Price  <derek@ximbiot.com>
50015
50016         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
50017         possible.
50018
50019 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50020             Bruno Haible  <bruno@clisp.org>
50021
50022         * modules/inet_ntop: New file.
50023         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50024         inet_ntop.
50025
50026 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50027             Bruno Haible  <bruno@clisp.org>
50028
50029         * m4/inet_ntop.m4: New file.
50030
50031 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50032             Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/inet_ntop.h: New file.
50035         * lib/inet_ntop.c: New file, from glibc with modifications.
50036
50037 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
50038
50039         * modules/time_r (License): Change to LGPL.
50040         * modules/extensions (License): Change to LGPL.  Actually,
50041         the license is more permissive than that, but currently gnulib-tool
50042         doesn't know how to handle more-permissive licenses.
50043
50044         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
50045         Problem reported by Dave Love.
50046
50047 2005-05-08  Jim Meyering  <jim@meyering.net>
50048
50049         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
50050         blank.
50051
50052 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50053
50054         * modules/argmatch (Depends-on): Add stdbool.
50055         * modules/backupfile (Depends-on): Likewise.
50056         * modules/chdir-long (Depends-on): Likewise.
50057         * modules/closeout (Depends-on): Likewise.
50058         * modules/cycle-check (Depends-on): Likewise.
50059         * modules/dirname (Depends-on): Likewise.
50060         * modules/fnmatch (Depends-on): Likewise.
50061         * modules/fsusage (Depends-on): Likewise.
50062         * modules/fwriteerror (Depends-on): Likewise.
50063         * modules/getcwd (Depends-on): Likewise.
50064         * modules/getloadavg (Depends-on): Likewise.
50065         * modules/hard-locale (Depends-on): Likewise.
50066         * modules/makepath (Depends-on): Likewise.
50067         * modules/mountlist (Depends-on): Likewise.
50068         * modules/nanosleep (Depends-on): Likewise.
50069         * modules/posixtm (Depends-on): Likewise.
50070         * modules/quotearg (Depends-on): Likewise.
50071         * modules/readtokens (Depends-on): Likewise.
50072         * modules/readtokens0 (Depends-on): Likewise.
50073         * modules/readutmp (Depends-on): Likewise.
50074         * modules/save-cwd (Depends-on): Likewise.
50075         * modules/strftime (Depends-on): Likewise.
50076         * modules/userspec (Depends-on): Likewise.
50077         * modules/utimecmp (Depends-on): Likewise.
50078         * modules/xgetcwd (Depends-on): Likewise.
50079         * modules/xnanosleep (Depends-on): Likewise.
50080         * modules/xstrtod (Depends-on): Likewise.
50081         * modules/yesno (Depends-on): Likewise.
50082
50083 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50084
50085         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
50086         needless checks.
50087
50088 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50089
50090         Merge from coreutils.  Among other things,
50091         add bulletproofing for cases where stdin, stdout, or stderr are closed.
50092         * lib/fd-safer.c: New file.
50093         * lib/fcntl-safer.h, open-safer.c: Remove.
50094         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
50095         * lib/dup-safer.c: Include unistd-safer.h first.
50096         Don't include errno.h.
50097         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
50098         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
50099         * lib/file-type.c: Rely on file-type.h change.
50100         * lib/getloadavg.c: Include unistd-safer.h.
50101         (getloadavg): Use safer open.
50102         * lib/getusershell.c: Include "stdio-safer.h".
50103         (getusershell): Use safer fopen.
50104         * lib/long-options.c (long_options): Use NULL rather than 0.
50105         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
50106         'free'.
50107         * lib/modechange.c: Likewise.
50108         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
50109         (MODE_DONE): New constant.
50110         (struct mode_change): Remove 'next' member.
50111         (make_node_op_equals): New function; like the old one of the
50112         same name, except it allocates an array.
50113         (mode_compile, mode_create_from_ref): Use it.
50114         (mode_compile): Allocate result as an array, not a linked list.
50115         Parse octal string ourself, so that we catch mistakes like "+0".
50116         (mode_adjust): Arg is an array, not a linked list.
50117         * lib/modechange.c: Include stat-macros.h, xalloc.h.
50118         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
50119         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
50120         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
50121         Remove.  This is now stat-macros.h's job.
50122         (talloc): Remove.  All callers replaced by xalloc, so that
50123         our invokers don't have to worry about reporting memory failures.
50124         (make_node_op_equals): Remove.
50125         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50126         New constants.
50127         (struct mode_change): Moved here from modechange.h.
50128         (mode_append_entry): Remove.
50129         (mode_compile): Remove MASKED_OPS arg, since it encouraged
50130         apps to have incorrect behavior.  Use simpler algorithm for head
50131         and tail.  Don't futz with umask; that's now the job of mode_adjust.
50132         Detect more invalid usages rather than having somewhat-random behavior.
50133         Don't insert an "a=" action, as that leads to incorrect behavior.
50134         (mode_compile, mode_create_from_ref): Return NULL on error instead
50135         of an enum, since now there's only one way to have an error.  All
50136         callers changed.
50137         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
50138         at the correct time.  Simplify calculation of "+u" and its ilk.
50139         Don't mishandle "+X".
50140         (mode_free): Remove "register" and localize decls.
50141         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50142         (struct mode_change): Move to modechange.c; callers don't
50143         need to see this stuff.
50144         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
50145         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
50146         (mode_change, mode_adjust): Reflect the new signatures noted above.
50147         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
50148         that might redefine system include files.
50149         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
50150         (my_usleep): Use NULL rather than (void *) 0.
50151         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
50152         Use siginterrupt to specify that system calls should be interrupted.
50153         (rpl_nanosleep): Move initialization of suspended closer to call of
50154         my_usleep.
50155         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
50156         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
50157         (desirable_utmp_entry): New function.
50158         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
50159         using x2nrealloc, to simplify logic.
50160         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
50161         size calculation.  Do not assume utmp file is a regular file.
50162         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
50163         (READ_UTMP_CHECK_PIDS): New constant.
50164         * lib/save-cwd.c: Include unistd-safer.h.
50165         (save_cwd): Use fd_safer.
50166         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
50167         [!_LIBC] Include "stat-macros.h" instead.
50168         * lib/unistd-safer.h (fd_safer): New decl.
50169
50170 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50171
50172         * modules/getloadavg (Depends-on): Add unistd-safer.
50173         * modules/getusershell (Depends-on): Add stdio-safer.
50174         * modules/lstat (Depends-on): Remove xalloc.
50175         * modules/mkstemp (Depends-on): Add stat-macros.
50176         * modules/modechange (Depends-on): Remove xstrtol.
50177         Add stat-macros, xalloc.
50178         * modules/save-cwd (Depends-on): Add unistd-safer.
50179         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
50180         * modules/unistd-safer (Files): Add lib/fd-safer.c
50181         (Makefile.am): Remove lib_SOURCES.
50182
50183         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
50184         Remove fcntl-safer; unistd-safer supersedes it.
50185
50186 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50187
50188         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
50189         AC_HEADER_STAT.
50190         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
50191         (gl_PREREQ_CHOWN): Remove.
50192         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
50193         it.  Don't require AC_HEADER_STAT.
50194         (gl_PREREQ_LSTAT): Remove.
50195         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
50196         Don't require AC_HEADER_STAT.
50197         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
50198         (gl_PREREQ_RMDIR): Remove.
50199         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
50200         mention stat-macros.h or AC_HEADER_STAT, since we'll make
50201         the stat-macros module a prerequisite.
50202         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
50203         * m4/filemode.m4 (gl_FILEMODE): Likewise.
50204         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
50205         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
50206         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
50207         variable names.
50208         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
50209         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
50210         variable prefixes.
50211         * m4/fcntl-safer.m4: Remove.
50212         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
50213         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
50214         Invoke gl_PREREQ_FD_SAFER.
50215         (gl_PREREQ_FD_SAFER): New macro.
50216         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
50217         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
50218         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
50219         Remove duplicate call to AC_LIBOBJ(readutmp).
50220         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
50221
50222         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
50223         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
50224
50225 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50226
50227         * MODULES.html.sh (Misc): Add byteswap.
50228
50229 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50230
50231         * modules/getcwd (Depends-on): Add extensions.
50232         * modules/openat (Depends-on): Likewise.
50233
50234 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50235
50236         * modules/byteswap: New file.
50237
50238 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50239
50240         * m4/byteswap.m4: New file.
50241
50242 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50243
50244         * lib/byteswap_.h: New file.
50245
50246 2005-04-25  Karl Berry  <karl@gnu.org>
50247
50248         * m4/gettext.m4: Update from GNU gettext 0.14.4.
50249
50250 2005-04-25  Albert Chin  <china@thewrittenword.com>
50251
50252         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
50253         Toolkit C bug.
50254
50255 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
50256
50257         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
50258         (func_ln_if_changed) Remove forcibly for no error message
50259         in case file does not exist.
50260
50261 2005-04-19  Simon Josefsson  <jas@extundo.com>
50262
50263         * gnulib-tool (Options): Make --symlink mean --symbolic.
50264
50265 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
50266
50267         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
50268
50269 2005-04-16  Simon Josefsson  <jas@extundo.com>
50270
50271         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
50272
50273 2005-04-15  Simon Josefsson  <jas@extundo.com>
50274
50275         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
50276
50277 2005-04-15  Simon Josefsson  <jas@extundo.com>
50278
50279         * gnulib-tool: Rename --symlink to --symbolic.
50280
50281 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
50282
50283         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
50284         symbolic links to files instead of copying/moving.  Add --aux-dir,
50285         specifying directory relative --dir where auxiliary build tools
50286         are placed.
50287
50288 2005-04-14  Bruno Haible  <bruno@clisp.org>
50289
50290         * modules/allocsa (License): Change to LGPL.
50291         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50292
50293 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50294
50295         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
50296         that "UTC +1 second" continues to work.  Problem reported
50297         by Dmitry V. Levin.
50298         (relunit_snumber): New rule.
50299         (relunit): Use it.
50300
50301 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50302
50303         * lib/getdate.y (universal_time_zone_table): New constant.
50304         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
50305         universal_time_zone_table.
50306         (lookup_zone): Prefer universal_time_zone_table to
50307         local_time_zone_table, so that "GMT" time stamps are allowed in
50308         London during the summer.  Problem reported by Ian Abbott.
50309
50310 2005-04-12  Jim Meyering  <jim@meyering.net>
50311
50312         * lib/human.c (humblock): Set *options even when returning due to
50313         xstrtoumax conversion failure.  Thanks to a used-uninitialized
50314         warning from gcc-4.
50315
50316 2005-04-09  Jim Meyering  <jim@meyering.net>
50317
50318         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
50319         -Wuninitialized: initialize tm0.tm_year.
50320
50321 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50322
50323         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
50324         count, since there's no maximum.  All uses changed.
50325         Add member dsts_seen.
50326         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
50327         not being INT_MAX.
50328         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
50329         Use pc_rels_seen to decide whther a date is absolute.
50330
50331         * lib/getdate.y (number): Don't overwrite year.
50332         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
50333         check.
50334
50335 2005-04-02  Simon Josefsson  <jas@extundo.com>
50336
50337         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
50338         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
50339
50340 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
50341
50342         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
50343         where no absolute path name can be longer than PATH_MAX.
50344
50345 2005-03-27  Jim Meyering  <jim@meyering.net>
50346
50347         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
50348
50349 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
50350
50351         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
50352         "one's complement" -> "ones' complement" in comment, as per Knuth.
50353         "value of type" -> "type or expression" in comment.
50354         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
50355
50356 2005-03-26  Jim Meyering  <jim@meyering.net>
50357
50358         Comment nits.
50359         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
50360         Correct typos: s/or/of/.
50361
50362 2005-03-26  Jim Meyering  <jim@meyering.net>
50363
50364         * modules/check-include-files: Move to ../ and rename to...
50365         * check-module: ...this.
50366
50367 2005-03-25  Jim Meyering  <jim@meyering.net>
50368
50369         * modules/xvasprintf (Files): Add xalloc.h.
50370
50371 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50372
50373         * modules/gettext (Files): config/config.rpath ->
50374         build-aux/config.rpath
50375         * modules/iconv (Files): Likewise.
50376         Problem reported by Oskar Liljeblad.
50377
50378 2005-03-23  Jim Meyering  <jim@meyering.net>
50379
50380         * modules/check-include-files: New script to check for
50381         missing dependencies, multiple includes, etc.
50382
50383         * modules/c-strtold (Depends-on): Add xalloc.
50384         * modules/c-strtod (Depends-on): Add xalloc.
50385         * modules/hash (Depends-on): Add xalloc.
50386         (Files): Remove lib/xalloc.h.
50387
50388         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
50389         * modules/userspec (Files): Add lib/inttostr.h.
50390
50391 2005-03-23  Jim Meyering  <jim@meyering.net>
50392
50393         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
50394
50395 2005-03-22  Jim Meyering  <jim@meyering.net>
50396
50397         * modules/stat-macros: New module.
50398         * modules/canonicalize, modules/euidaccess, modules/file-type,
50399         * modules/filemode, modules/lchown, modules/makepath,
50400         * modules/rmdir, modules/stat: Depend on new stat-macros module
50401         rather than listing lib/stat-macros.h manually.
50402         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
50403
50404 2005-03-22  Jim Meyering  <jim@meyering.net>
50405
50406         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
50407
50408 2005-03-22  Bruno Haible  <bruno@clisp.org>
50409
50410         * config/srclist.txt: Replace target directory 'config' with
50411         'build-aux'.
50412         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
50413         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
50414         ../build-aux/.
50415
50416 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
50417
50418         * modules/chdir-long (Depends-on): Add mempcpy.
50419
50420         * modules/acl, modules/backupfile, modules/c-strtod,
50421         modules/c-strtold, modules/canon-host, modules/canonicalize,
50422         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
50423         modules/exclude, modules/exitfail, modules/file-type,
50424         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
50425         modules/getdate, modules/getline, modules/getpagesize,
50426         modules/getpass, modules/getugroups, modules/group-member,
50427         modules/hard-locale, modules/hash, modules/human, modules/idcache,
50428         modules/inttostr, modules/long-options, modules/makepath,
50429         modules/md5, modules/memcasecmp, modules/memcoll,
50430         modules/modechange, modules/mountlist, modules/path-concat,
50431         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
50432         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
50433         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
50434         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
50435         modules/strftime, modules/strndup, modules/strverscmp,
50436         modules/timespec, modules/unlocked-io, modules/userspec,
50437         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
50438         modules/yesno:
50439         Remove lib_SOURCES line from Makefile.am section, as this is now
50440         done automatically by the corresponding Autoconf macro.
50441
50442 2005-03-21  Jim Meyering  <jim@meyering.net>
50443
50444         Changes imported from coreutils.
50445
50446         * lib/cycle-check.c: Don't include xalloc.h.
50447
50448         * lib/path-concat.c: Don't include assert.h.
50449         (path_concat): Remove assertion that would have triggered
50450         for ABASE starting with more than one slash.
50451         Reported by Andreas Schwab.
50452
50453         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
50454         properly when ABASE is an absolute file name.
50455         Correct the description of this function.
50456         Include <assert.h>.
50457         Add an assertion and a test driver.
50458         This fixes a bug introduced on 2004-07-02.
50459         Andreas Schwab reported the resulting failure of cp --parents:
50460         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
50461
50462 2005-03-21  Jim Meyering  <jim@meyering.net>
50463
50464         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
50465         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
50466
50467 2005-03-21  Jim Meyering  <jim@meyering.net>
50468         and  Paul Eggert  <eggert@cs.ucla.edu>
50469
50470         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
50471         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
50472         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
50473         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
50474         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
50475         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
50476         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
50477         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
50478         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
50479         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
50480         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
50481         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
50482         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
50483         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
50484         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
50485         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
50486         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
50487         for these modules.
50488
50489 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
50490
50491         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
50492         (which shouldn't happen), generate nothing instead of returning 0
50493         immediately, so that nstrftime (NULL, ...) doesn't return 0.
50494
50495 2005-03-16  Bruno Haible  <bruno@clisp.org>
50496
50497         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
50498         HAVE_LONGLONG_64BIT.
50499
50500 2005-03-16  Bruno Haible  <bruno@clisp.org>
50501
50502         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
50503         HAVE_LONGLONG_64BIT.
50504
50505 2005-03-16  Bruno Haible  <bruno@clisp.org>
50506
50507         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
50508         HAVE_LONGLONG_64BIT.
50509
50510 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50511
50512         * lib/strftime.c (my_strftime): Prepend space to format so that we can
50513         reliably distinguish strftime failure from empty output on POSIX
50514         hosts.
50515
50516 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
50517
50518         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
50519         (iconv_string): Don't guess a size-zero buffer, as that might cause
50520         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
50521         result would be 'too large', where 'too large' is (heuristically)
50522         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
50523         overflow concerns.  This will prevent some unwanted malloc failures
50524         when the inputs are very large.
50525
50526 2005-03-15  Karl Berry  <karl@gnu.org>
50527
50528         * config/srclist.txt (config.rpath): from gettext.
50529         * config/config.rpath: update.
50530
50531 2005-03-15  Bruno Haible  <bruno@clisp.org>
50532
50533         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
50534         to 'negate'.
50535
50536         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
50537         variable.
50538
50539         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
50540         results.
50541
50542 2005-03-14  Simon Josefsson  <jas@extundo.com>
50543
50544         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
50545         <fx@gnu.org>.
50546
50547 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
50548
50549         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
50550         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
50551         intprops.h.
50552         * lib/strtol.c: Likewise.
50553
50554 2005-03-14  Jim Meyering  <jim@meyering.net>
50555
50556         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
50557         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
50558         to be nonzero so that we (and caller) can detect the difference
50559         between a valid zero-length expansion and an error return, even
50560         when the underlying strftime fails before writing anything into
50561         that location.
50562
50563 2005-03-14  Bruno Haible  <bruno@clisp.org>
50564
50565         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
50566         Update from GNU gettext 0.14.3.
50567
50568 2005-03-10  Jim Meyering  <jim@meyering.net>
50569
50570         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
50571
50572 2005-03-10  Jim Meyering  <jim@meyering.net>
50573
50574         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
50575         so that this module works on systems without fchdir.
50576
50577 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
50578
50579         Factor int-properties macros into a single file, except for
50580         glibc-related files.
50581         * lib/intprops.h: New file.
50582         * lib/getloadavg.c: Include it instead of limits.h.
50583         (INT_STRLEN_BOUND): Remove.
50584         * lib/human.c: Include intprops.h.
50585         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
50586         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
50587         302/1000.
50588         * lib/inttostr.h: Include intprops.h instead of limits.h.
50589         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
50590         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
50591         for consistency with intprops.h.
50592         (time_t_is_integer, twos_complement_arithmetic): Use them.
50593         * lib/sig2str.h: Include <signal.h>, intprops.h.
50594         (INT_STRLEN_BOUND): Remove.
50595         * lib/strftime.c (TYPE_SIGNED): Remove.
50596         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
50597         * lib/strtol.c: Adjust comments to match intprops.h.
50598         * lib/userspec.c: Include intprops.h.
50599         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
50600         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
50601         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
50602         instead of rolling our own expressions.
50603         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
50604
50605         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
50606         instead of int.
50607         (my_strftime): Do not mishandle years close to INT_MAX, by doing
50608         the right thing even if adding 1900 would overflow.  Similarly
50609         for tm_mon + 1 and tm_yday + 1.
50610         Make %Y always equivalent to %C%y, and similarly for %G and %g.
50611         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
50612         (DO_SIGNED_NUMBER): New macro.
50613         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
50614
50615 2005-03-07  Bruno Haible  <bruno@clisp.org>
50616
50617         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
50618
50619 2005-03-07  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
50622
50623 2005-03-04  Derek R. Price  <derek@ximbiot.com>
50624
50625         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
50626         (func_import): Only replace files via --import when they have actually
50627         changed.
50628
50629 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50630
50631         * m4/mmap-anon.m4: New file.
50632         * m4/pagealign_alloc.m4: New file.
50633
50634 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50635             Bruno Haible  <bruno@clisp.org>
50636
50637         * modules/pagealign_alloc: New file.
50638         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
50639
50640 2005-03-03  Derek R. Price  <derek@ximbiot.com>
50641             Bruno Haible  <bruno@clisp.org>
50642
50643         * lib/pagealign_alloc.h: New file.
50644         * lib/pagealign_alloc.c: New file.
50645
50646 2005-03-03  Bruno Haible  <bruno@clisp.org>
50647
50648         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
50649         Use an all-permissive copyright notice, recommended by RMS.
50650
50651 2005-03-02  Bruno Haible  <bruno@clisp.org>
50652
50653         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
50654         of AIX, the replacement has to be done only after <string.h> is
50655         included, therefore not in config.h. stpncpy.h does the replacement,
50656         and stpncpy.c uses it.
50657
50658 2005-03-02  Bruno Haible  <bruno@clisp.org>
50659
50660         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
50661         stpncpy.c uses it.
50662
50663 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50664
50665         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
50666         The workaround isn't strictly needed for POSIX conformance, and
50667         it's too much of a pain to configure and maintain.  We'll ask
50668         people to fix their kernels instead.
50669         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
50670         (NANOSLEEP_BUG_WORKAROUND): Remove.
50671         (xnanosleep): Remove the workaround.
50672
50673 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50674
50675         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
50676         Reported by Derek Price.
50677         (Include): Add "timespec.h".
50678
50679         * modules/xnanosleep (Depends-on): Remove gethrxtime.
50680
50681 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50682
50683         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
50684         to detect nanosleep bug.
50685
50686 2005-03-01  Bruno Haible  <bruno@clisp.org>
50687
50688         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
50689
50690 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
50691
50692         * modules/gethrxtime: New file.
50693         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
50694         (Depends-on): Add gethrxtime.
50695         (configure.ac): Add gl_XNANOSLEEP.
50696         (Makefile.am): Remove lib_SOURCES line.
50697
50698 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50699
50700         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
50701         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
50702
50703 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50704
50705         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
50706         * lib/timespec.h (gettime): Return void, since it always
50707         succeeds now.  All uses changed.
50708         * lib/gettime.c (gettime) Likewise.
50709         [HAVE_NANOTIME]: Prefer nanotime.
50710         Assume gettimeofday succeeds, as POSIX requires.
50711         Assime time () succeeds, since other code already does.
50712         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
50713         (timespec_subtract): Remove.
50714         (NANOSLEEP_BUG_WORKAROUND): New constant.
50715         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
50716         things considerably.  Use it only on GNU/Linux hosts, since the
50717         workaround shouldn't be needed elsewhere.
50718
50719 2005-02-24  Bruno Haible  <bruno@clisp.org>
50720
50721         * modules/gettext (Files): Add m4/glibc2.m4.
50722
50723 2005-02-24  Bruno Haible  <bruno@clisp.org>
50724
50725         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
50726         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
50727         * m4/progtest.m4:
50728         Update from GNU gettext 0.14.2.
50729         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
50730
50731 2005-02-24  Bruno Haible  <bruno@clisp.org>
50732
50733         * lib/localcharset.c: Update from GNU gettext 0.14.2.
50734         * lib/config.charset: Update from GNU gettext 0.14.2.
50735
50736 2005-02-24  Bruno Haible  <bruno@clisp.org>
50737
50738         * lib/gettext.h: Update from GNU gettext 0.14.2.
50739
50740 2005-02-23  Simon Josefsson  <jas@extundo.com>
50741
50742         * m4/iconvme.m4: New file.
50743
50744 2005-02-23  Jim Meyering  <jim@meyering.net>
50745
50746         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
50747         change.
50748         Thanks to Bruno Haible for catching it.
50749
50750 2005-02-22  Simon Josefsson  <jas@extundo.com>
50751
50752         * modules/iconvme: New file.
50753
50754         * MODULES.html.sh: Add iconvme.
50755
50756 2005-02-22  Simon Josefsson  <jas@extundo.com>
50757
50758         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
50759
50760 2005-02-22  Simon Josefsson  <jas@extundo.com>
50761
50762         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
50763
50764 2005-02-22  Jim Meyering  <jim@meyering.net>
50765
50766         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
50767         s/ifndef/ifdef/.
50768
50769 2005-02-20  Neil Conway  <neilc@samurai.com>
50770
50771         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
50772         returned by OSX/Darwin if the specified buffer is not large
50773         enough for the hostname.
50774
50775 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50776
50777         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
50778         pass it to _help, otherwise the latter coredumps trying to
50779         dereference state.root_argp.
50780
50781 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50782
50783         * modules/chdir-long (Depends-on): Add memrchr.
50784         * modules/memrchr (Files): Add lib/memrchr.h.
50785         (Include): "memrchr.h".
50786
50787 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50788
50789         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
50790
50791 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
50792
50793         * lib/memrchr.h: New file.
50794         * lib/chdir-long.c: Include it.
50795         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
50796         Don't bother including stddef.h.
50797
50798 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
50799
50800         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
50801         inclusion.
50802         Include <sys/types.h>, for dev_t.
50803         (ME_DUMMY, ME_REMOTE): Move from here....
50804         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
50805         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
50806         Dmitry V. Levin.
50807         Include mountlist.h first, to test the interface.
50808
50809 2005-01-29  Bruno Haible  <bruno@clisp.org>
50810
50811         * lib/progname.c (program_name): Initialize.
50812         Needed when linking statically on MacOS X.
50813
50814 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
50815
50816         Sync from coreutils.
50817         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
50818         (Depends-on): Add c-strtod.
50819         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
50820
50821 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
50822
50823         Sync from coreutils.
50824         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
50825
50826         Remove files that are specific to coreutils.
50827         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
50828
50829 2005-01-28  Bruno Haible  <bruno@clisp.org>
50830
50831         * modules/javacomp: New file.
50832         * MODULES.html.sh (Java): Add javacomp.
50833
50834 2005-01-28  Bruno Haible  <bruno@clisp.org>
50835
50836         * m4/javacomp.m4: New file, from GNU gettext.
50837
50838 2005-01-28  Bruno Haible  <bruno@clisp.org>
50839
50840         * lib/javacomp.sh.in: New file, from GNU gettext.
50841         * lib/javacomp.h: New file, from GNU gettext.
50842         * lib/javacomp.c: New file, from GNU gettext.
50843
50844 2005-01-26  Simon Josefsson  <jas@extundo.com>
50845
50846         * lib/gai_strerror.c: Use GPL in header.
50847
50848 2005-01-26  Bruno Haible  <bruno@clisp.org>
50849
50850         * modules/javaexec: New file.
50851         * MODULES.html.sh (Java): Add javaexec.
50852
50853 2005-01-26  Bruno Haible  <bruno@clisp.org>
50854
50855         * m4/javaexec.m4: New file, from GNU gettext.
50856
50857 2005-01-26  Bruno Haible  <bruno@clisp.org>
50858
50859         * lib/javaexec.sh.in: New file, from GNU gettext.
50860         * lib/javaexec.h: New file, from GNU gettext.
50861         * lib/javaexec.c: New file, from GNU gettext.
50862
50863 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50864
50865         * modules/lchown (Depends-on): Remove lchown.h
50866
50867 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50868
50869         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
50870         must be defined if the header file was not found, in order
50871         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
50872
50873 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50874
50875         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
50876         initializers for struct pentry_state.
50877         (__argp_error): Check return value of __asprintf
50878         (__argp_failure): Translate error message
50879
50880         * lib/argp-parse.c: Removed braces around the expansion of N_()
50881
50882 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50883
50884         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
50885         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
50886         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
50887         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
50888         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
50889         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
50890         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
50891         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
50892         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
50893         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
50894         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
50895         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
50896         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
50897         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
50898         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
50899         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
50900         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
50901         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
50902         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
50903         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
50904         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
50905         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
50906         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
50907         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
50908         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
50909         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
50910         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
50911         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
50912         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
50913         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
50914         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
50915         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
50916         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
50917         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
50918         xstrtol.m4, xstrtoumax.m4, yesno.m4:
50919         Use an all-permissive copyright notice, recommended by RMS.
50920
50921 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
50922
50923         * modules/chdir-long (Depends-on): Remove mempcpy.
50924
50925 2005-01-21  Jim Meyering  <jim@meyering.net>
50926
50927         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
50928         same value as for Solaris 9.
50929
50930         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
50931         component length.  This included changing the parameter to be
50932         of type `char *' rather than `char const *'.
50933         * lib/chdir-long.h (chdir_long): Update prototype.
50934
50935         * lib/openat.c (fdopendir, fstatat): New functions.
50936         * lib/openat.h: Include headers required for use of DIR and struct
50937         stat.
50938         [AT_SYMLINK_NOFOLLOW]: Define.
50939         (fdopendir, fstatat): Add prototypes.
50940
50941 2005-01-21  Bruno Haible  <bruno@clisp.org>
50942
50943         * modules/classpath: New file.
50944         * MODULES.html.sh (Java): Add classpath.
50945
50946 2005-01-21  Bruno Haible  <bruno@clisp.org>
50947
50948         * lib/classpath.h: New file, from GNU gettext.
50949         * lib/classpath.c: New file, from GNU gettext.
50950
50951 2005-01-20  Simon Josefsson  <jas@extundo.com>
50952
50953         * modules/version-etc-fsf: New file.
50954
50955 2005-01-20  Simon Josefsson  <jas@extundo.com>
50956
50957         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
50958         * lib/version-etc.c: Remove version_etc_copyright.
50959         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
50960         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
50961
50962 2005-01-20  Simon Josefsson  <jas@extundo.com>
50963
50964         * lib/base64.h (isbase64): Add.
50965
50966         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
50967         using a unsigned prototype, don't inline.
50968         (base64_decode): Use it.
50969
50970 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50971
50972         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
50973         it.
50974
50975 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50976
50977         * lib/save-cwd.c (save_cwd): Remove code to support the case
50978         where fchdir is missing or flaky.
50979
50980 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
50981
50982         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
50983
50984 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
50985
50986         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
50987         AC_LIBSOURCES now does this.
50988         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
50989         with new ullong_max module.
50990
50991 2005-01-19  Bruno Haible  <bruno@clisp.org>
50992
50993         * modules/sh-quote: New file.
50994         * MODULES.html.sh (Executing programs): Add sh-quote.
50995
50996 2005-01-19  Bruno Haible  <bruno@clisp.org>
50997
50998         * lib/sh-quote.h: New file, from GNU gettext.
50999         * lib/sh-quote.c: New file, from GNU gettext.
51000
51001 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51002
51003         Merge from coreutils.
51004         * m4/ullong_max.m4: New file.
51005         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
51006         (gl_MACROS): Assume localeconv exists.
51007
51008 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51009
51010         Merge changes from coreutils, as described below in several
51011         changelogs dated today.
51012
51013         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
51014         (O_DIRECTORY): Remove; not needed here, since "." must be
51015         a directory.  All uses removed.
51016         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
51017         universal on Suns, and we also need to test for IRIX.
51018         Revamp code to use 'if' rather than '#if'.
51019         Avoid unnecessary comparison of cwd->desc to 0.
51020
51021         * lib/utimens.c (futimens): Robustify the previous patch, by checking
51022         for known valid error numbers rather than observed invalid ones.
51023
51024 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51025
51026         * modules/ullong_max: New file.
51027
51028         * modules/chdir-long, modules/openat: New files.
51029         * modules/save-cwd (Depends-on): Depend on chdir-long.
51030         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
51031
51032 2005-01-18  Jim Meyering  <jim@meyering.net>
51033
51034         Merge from coreutils.
51035         * m4/chdir-long.m4, m4/openat.m4: New files.
51036         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
51037         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
51038         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
51039         is sane and DOES follow symlinks.  Besides, testing 20 different
51040         systems found no broken chown implementations.
51041         Prompted by a change in rsync's copy of this macro.
51042         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
51043
51044         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
51045
51046         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
51047         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
51048         NULL-means-set-to-current-time semantics.
51049         Remove temporary file immediately, rather than waiting
51050         for configure's at-exit trap code to do it.
51051
51052 2005-01-18  Jim Meyering  <jim@meyering.net>
51053
51054         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51055
51056         * lib/utimens.c (futimens): Account for the fact that futimes
51057         can also fail with errno == ENOSYS or errno == ENOENT.
51058         Patch from Dmitry V. Levin.
51059
51060         Change the name of the robust chdir function from chdir to chdir_long.
51061         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
51062         (restore_cwd): Use chdir_long, not chdir.
51063         * lib/chdir-long.c: Renamed from chdir.c.
51064         * lib/chdir-long.h: Renamed from chdir.h.
51065         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
51066         Hurd.
51067
51068 2005-01-18  Bruno Haible  <bruno@clisp.org>
51069
51070         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
51071         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
51072         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
51073         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
51074         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
51075         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
51076         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
51077         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
51078         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
51079         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
51080         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
51081         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
51082         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
51083         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
51084         Use an all-permissive copyright notice, recommended by RMS.
51085
51086 2005-01-18  Bob Proulx  <bob@proulx.com>
51087
51088         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
51089         simplify offsetof() macro construct to avoid compile failure with
51090         native HP-UX 11.0 ANSI C compiler.
51091
51092 2005-01-17  Bruno Haible  <bruno@clisp.org>
51093
51094         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
51095         redundant because stpncpy.m4 takes care of it.
51096
51097 2005-01-17  Bruno Haible  <bruno@clisp.org>
51098
51099         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
51100
51101 2005-01-17  Bruno Haible  <bruno@clisp.org>
51102
51103         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
51104         used.
51105
51106 2005-01-17  Bruno Haible  <bruno@clisp.org>
51107
51108         * lib/fwriteerror.h (fwriteerror): Change specification to include
51109         fclose.
51110         * lib/fwriteerror.c: Include <stdbool.h>.
51111         (fwriteerror): At the end, close the file stream. Record whether
51112         stdout was already closed.
51113
51114 2005-01-17  Bruno Haible  <bruno@clisp.org>
51115
51116         * lib/execute.c (environ): Declare if needed.
51117         * lib/pipe.c (environ): Likewise.
51118         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
51119
51120 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51121
51122         * modules/argp: Depend on vsnprintf
51123
51124 2005-01-10  Jim Meyering  <jim@meyering.net>
51125
51126         * modules/closeout (Depends-on): Add atexit.
51127
51128 2005-01-06  Bruno Haible  <bruno@clisp.org>
51129
51130         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
51131
51132 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51133
51134         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
51135         definitions to be after all include files, to avoid collisions.
51136         Problem reported by Bob Proulx.
51137
51138 2005-01-04  Jim Meyering  <jim@meyering.net>
51139
51140         Changes imported from coreutils.
51141         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
51142         as the mkstemp template, use a temporary directory and an
51143         8.3-friendly template to avoid trouble on systems like DJGPP.
51144         Reported by Juan M. Guerrero via Stepan Kasal.
51145         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
51146         close. Remove the temporary directory right away, rather than waiting
51147         for configure's at-exit trap code to do it.
51148         Suggestion from Stepan Kasal.
51149
51150 2005-01-01  Simon Josefsson  <jas@extundo.com>
51151
51152         * gnulib-tool: Print #include directives when --import'ing.
51153
51154 2004-12-28  Simon Josefsson  <jas@extundo.com>
51155
51156         * tests/test-base64.c: Include required header files.  Remove
51157         unused variables.
51158
51159 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51160
51161         * modules/error (Depends-on): Remove gettext.
51162
51163 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51164
51165         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
51166         not needed.  This removes a dependency on the gettext module.
51167         [defined _LIBC]: Do not include <libintl.h>; not needed.
51168
51169 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51170
51171         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
51172         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
51173
51174 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
51177         HAVE_DECL_STRTOLD.
51178
51179 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51180
51181         * modules/getdate (Depends-on): Remove alloca-opt.
51182
51183 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51184
51185         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
51186
51187 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51188
51189         * lib/argp-parse.c: Include <stddef.h>.
51190         (alignof, alignto): New macros.
51191         (parser_init): Don't assume that void * is aligned sufficiently
51192         for struct option.
51193
51194         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
51195         need to extend the stack.
51196         (YYINITDEPTH): New macro, so that the initial stack isn't overly
51197         large.
51198
51199 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51200
51201         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
51202
51203 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51204
51205         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
51206         (2004-10-24) change.  Apparently this was a false alarm.
51207
51208         * modules/getdate: Depend on alloca-opt, not alloca.
51209
51210 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51211
51212         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
51213         Remove now-obsolete comment about AIX.
51214         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
51215         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
51216         (YYMAXDEPTH): New macro.
51217
51218 2004-12-18  Simon Josefsson  <jas@extundo.com>
51219
51220         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
51221
51222 2004-12-18  Bruno Haible  <bruno@clisp.org>
51223
51224         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
51225
51226 2004-12-18  Bruno Haible  <bruno@clisp.org>
51227
51228         * lib/fatal-signal.c (fatal_signals): Make non-const.
51229         (init_fatal_signals): New function.
51230         (uninstall_handlers, install_handlers): Ignore signals that were set to
51231         SIG_IGN.
51232         (at_fatal_signal): Call init_fatal_signals.
51233         (init_fatal_signal_set): Likewise. Ignore signals that were set to
51234         SIG_IGN.
51235         Reported by Paul Eggert.
51236
51237 2004-12-18  Bruno Haible  <bruno@clisp.org>
51238
51239         * doc/alloca.texi: New file.
51240         * doc/alloca-opt.texi: New file.
51241
51242 2004-12-17  Jim Meyering  <jim@meyering.net>
51243
51244         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
51245         Otherwise, install-sh could exit with improper exit status when
51246         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
51247
51248 2004-12-16  Simon Josefsson  <jas@extundo.com>
51249
51250         * tests/test-base64.c: Add license.
51251
51252 2004-12-15  Stepan Kasal  <address@hidden>
51253
51254         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
51255
51256 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
51257
51258         * modules/getcwd (Files): Add m4/d-ino.m4.
51259         Suggested by Mark D. Baushke.
51260
51261 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51262
51263         * lib/getdate.y (textint): New member "negative".
51264         (time_zone_hhmm): New function.
51265         Expect 14 shift-reduce conflicts, not 13.
51266         (o_colon_minutes): New rule.
51267         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
51268         (yylex): Set the "negative" member of signed numbers.
51269
51270 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51271
51272         * doc/getdate.texi (Time of day items, Time zone items):
51273         Describe new formats +00:00, UTC+00:00.
51274
51275 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51276
51277         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
51278         spurious "-l"s.  Problem reported by Stepan Kasal.
51279
51280 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
51281
51282         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
51283         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
51284
51285 2004-12-04  Simon Josefsson  <jas@extundo.com>
51286
51287         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
51288         Vandoorselaere <yoann@prelude-ids.org>.
51289
51290 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51291
51292         Changes imported from coreutils.
51293         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
51294         exist.
51295         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
51296
51297 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51298
51299         Changes imported from coreutils.
51300         * lib/hard-locale.c: Assume <locale.h> exists.
51301         Include "strdup.h".
51302         (GLIBC_VERSION): New macro.
51303         (hard_locale): Assume setlocale exists.
51304         Rewrite to avoid #ifdef.
51305         Use strdup rather than malloc + strcpy.
51306         * lib/human.c: Assume <locale.h> exists.
51307         (human_readable): Assume localeconv exists.
51308
51309 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51310
51311         * modules/hard-locale (Depends-on): Add strdup.
51312
51313 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
51314
51315         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
51316         convert T2, not T.  (Imported from libc.)
51317
51318 2004-11-30  Simon Josefsson  <jas@extundo.com>
51319
51320         * modules/restrict (License): Change to LGPL.
51321
51322 2004-11-30  Simon Josefsson  <jas@extundo.com>
51323
51324         * m4/restrict.m4: Add copyright and copying conditions.
51325
51326 2004-11-30  Simon Josefsson  <jas@extundo.com>
51327
51328         * m4/base64.m4: New file.
51329
51330 2004-11-30  Simon Josefsson  <jas@extundo.com>
51331
51332         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
51333         base64.
51334
51335         * tests/test-base64.c: New file.
51336
51337         * modules/base64: New file.
51338
51339 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51340
51341         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
51342         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
51343
51344         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
51345
51346 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51347
51348         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
51349         (__getcwd.c): Don't restore errno; glibc doesn't.
51350         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
51351         first, falling back to our code only if its results look suspicious.
51352         Ensure that the resulting buffer is only as large as necessary.
51353
51354         * lib/readutmp.c: Include readutmp.h first.
51355         Include <errno.h>, since readutmp.h no longer does that.
51356         * lib/readutmp.h: Don't include <errno.h>,
51357         <sys/param.h>, <time.h>; not needed to establish interface.
51358         (errno): Remove decl.
51359         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
51360         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
51361         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
51362
51363 2004-11-28  Simon Josefsson  <jas@extundo.com>
51364
51365         * lib/base64.h, base64.c: New file.
51366
51367 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51368
51369         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
51370
51371 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51372
51373         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
51374         (Depends-on): Remove pathmax, same.  Add mempcpy.
51375         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
51376         (Makefile.am): Append getcwd.h to lib_SOURCES.
51377         (Include): Add getcwd.h.
51378         (Maintainer): Change from Jim Meyering to "all, glibc",
51379         since getdate now uses intended-for-glibc code.
51380         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
51381         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
51382
51383 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51384
51385         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
51386         HP's ANSI C compiler.
51387         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
51388         Declaring int functions causes warnings on some modern systems and
51389         shouldn't be needed to compile on ancient ones.
51390         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
51391         defined.
51392
51393         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
51394         with the following changes.
51395         (__set_errno): Parenthesize properly.
51396         Include <stdbool.h>.
51397         (MIN, MAX, MATCHING_INO): New macros.
51398         (__getcwd): Define with prototype, not K&R form.
51399         Use heuristics to allocate default buffer on stack if possible.
51400         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
51401         behavior, and to avoid the PATH_MAX limit when computing
51402         ../../../../...
51403         Use MATCHING_INO to compare inode number to file.
51404         Check for arithmetic overflow in size calculations.
51405         Fix bug in reallocation of dot array that caused getcwd to fail
51406         on directories nested deeper than 75.
51407         Be more careful about saving errno on error.
51408         Do not use realloc; use only free+malloc, as this is a bit
51409         more flexible and avoids a needless copy operation.
51410         Do not inspect st_dev and st_ino for symbolic links; POSIX
51411         doesn't specify the latter.
51412         Check for closedir errors.
51413         Avoid needless casts.
51414         Use "#ifdef weak_alias" around weak_alias, to be like other
51415         glibc code.
51416         The following changes to getcwd.c have effect only when used in
51417         gnulib; they have no effect inside glibc proper.
51418         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
51419         as alloca isn't used.
51420         (alloca, __alloca): Likewise.
51421         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
51422         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
51423         unconditionally, as gnulib assumes C89 or better.
51424         Do not include <sys/param.h>.
51425         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
51426         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
51427         better.
51428         (NULL) [!defined NULL]: Remove; we assume C89 or better.
51429         Include <dirent.h> in a way that is compatible with modern Autoconf.
51430         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
51431         New macros, if not already defined.
51432         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
51433         Use "_LIBC", not "defined _LIBC", for consistency.
51434         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
51435         a mempcpy module.
51436         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
51437         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
51438         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
51439         credit only to Jim Meyering and adjust the copyright dates.
51440         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
51441         <stdlib.h>, <unistd.h>, "pathmax.h".
51442         Instead, include "xgetcwd.h" (first) and "getcwd.h".
51443         (INITIAL_BUFFER_SIZE): Remove.
51444         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
51445
51446 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51447
51448         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
51449         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
51450         Use the _ONCE methods, for efficiency.
51451         Check for fcntl.h.  In test program, include <errno.h>
51452         and <fcntl.h> if available.  Remove old K&R cruft from
51453         test program.  Check for common errors in GNU/Linux,
51454         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
51455         don't do AC_LIBOBJ, as that's getcwd.m4's job.
51456         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
51457         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
51458         name accordingly.
51459         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
51460         accommodate new getcwd.c.
51461         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
51462         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
51463         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
51464         that's all we need now.
51465
51466 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51467
51468         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
51469         argp-parse.c depends on getopt internals, that means we should
51470         always use our getopt, to be on the safe side.
51471         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
51472         order not to spoil the result of an eventual previous invocation
51473         of gl_GETOPT_SUBSTITUTE.
51474
51475 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51476
51477         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
51478         redefinition warnings. To avoid them, include the defines
51479         in `#if !defined __need_getopt ... #endif'. The only place
51480         where __getopt_argv_const is used is in definitions
51481         of getopt_long and getopt_long_only below, which are as well
51482         protected by `#ifndef __need_getopt'.
51483         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
51484         __need_getopt after including <stdio.h> and <unistd.h> These
51485         headers might have defined it.
51486
51487 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51488
51489         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
51490
51491 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
51492
51493         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
51494         (futimens): New function, which uses futimes if available.
51495         (futimens, utimens): Support timespec==NULL, with same semantics
51496         as utime and utimens.
51497         * lib/utimens.h (futimens): New decl.
51498
51499 2004-11-23  Jim Meyering  <jim@meyering.net>
51500
51501         * lib/getopt_.h: Remove trailing blanks.
51502
51503 2004-11-23  Jim Meyering  <jim@meyering.net>
51504
51505         * lib/__fpending.c: Add comment.
51506
51507 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
51508
51509         * modules/canonicalize (Depends-on): Add xreadlink.
51510         Problem reported by James Youngman.
51511
51512 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51513
51514         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
51515         New macros.
51516         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
51517         optopt): Use them instead of invoking ## directly; otherwise, the
51518         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
51519
51520 2004-11-19  Bruno Haible  <bruno@clisp.org>
51521
51522         * lib/strtok_r.c: Move comments from here...
51523         * lib/strtok_r.h: ... to here.
51524
51525 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51526
51527         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
51528         implementations that mishandle size_t overflow.
51529
51530 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51531
51532         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
51533         might fail.  Problem reported by Yoann Vandoorselaere.
51534         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
51535         implementations that mishandle size_t overflow.
51536
51537 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51538
51539         * modules/canon-host (Depends-on): Add strdup.
51540
51541 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51542
51543         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
51544
51545 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51546
51547         * lib/canon-host.c: Include "strdup.h".
51548         (canon_host): Use getaddrinfo if available, so that IPv6 works.
51549         Use strdup instead of malloc/strcpy to duplicate strings.
51550
51551         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
51552         (human_space_before_unit): New constant.
51553         * lib/human.c (human_readable): Support it.
51554
51555         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
51556         (xgetcwd): Set errno correctly when failing.
51557         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
51558         the failure is actually due to a PATH_MAX problem.
51559
51560         Further getopt changes to make it more likely that glibc will
51561         buy the changes back.
51562         * lib/getopt.c (POSIXLY_CORRECT): New constant.
51563         (getopt): Use it, so to preserve glibc semantic
51564         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
51565         when compiling for libc.
51566         * lib/getopt_.h (__getopt_argv_const): Bring it back.
51567         (getopt_long, getopt_long_only): Use it.
51568
51569         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
51570         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
51571         (getopt): Argv is now char * const *, as per standard.
51572         (_getopt_internal_r, _getopt_internal): Argv is now char **,
51573         not char *__getopt_argv_const *.
51574         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
51575         _getopt_long_only_r): Likewise.
51576         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
51577         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
51578         _getopt_long_r, _getopt_long_only_r): Likewise.
51579         * lib/getopt_.h (__getopt_argv_const): Remove.
51580         (getopt): Argv is now char * const *, as per standard.
51581
51582         * lib/getdate.y (tORDINAL): New token.
51583         (day, relunit): Allow it for relative times.
51584         (relative_time_table): Use tORDINAL for ordinals.
51585
51586 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51587
51588         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
51589         Document that "second" isn't allowed as an ordinal number.
51590
51591 2004-11-16  Jim Meyering  <jim@meyering.net>
51592
51593         * modules/closeout (Depends-on): Add fpending.
51594
51595 2004-11-15  Jim Meyering  <jim@meyering.net>
51596
51597         * lib/closeout.c: Include "__fpending.h" once again.
51598         Include <stdbool.h>.
51599         (close_stdout): Don't fail just because stdout was closed initially,
51600         since some programs don't write to stdout in the normal course of
51601         operation (other than --version and --help), and we don't want this
51602         function to make e.g. `touch file >&-' fail.
51603         But do fail if it was closed and someone has tried to write to it.
51604         E.g., `printf foo >&-' must fail.
51605
51606 2004-11-13  Jim Meyering  <jim@meyering.net>
51607
51608         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
51609
51610 2004-11-12  Simon Josefsson  <jas@extundo.com>
51611
51612         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
51613         small doc fix is still pending.
51614
51615 2004-11-11  Simon Josefsson  <jas@extundo.com>
51616
51617         * modules/strtok_r: New file.
51618
51619         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51620         strtok_r.
51621
51622 2004-11-11  Simon Josefsson  <jas@extundo.com>
51623
51624         * m4/strtok_r.m4: New file.
51625
51626         * m4/getopt.m4: Replace opterr.
51627
51628 2004-11-11  Simon Josefsson  <jas@extundo.com>
51629
51630         * lib/strtok_r.h, strtok_r.c: New file.
51631
51632 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
51633
51634         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
51635         of replacing opterr, getopt, etc.  This should handle the
51636         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
51637
51638 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
51639
51640         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
51641         we can stop lying to compilers about the constness of argv when we
51642         are compiled outside glibc.
51643         (getopt, getopt_long, getopt_long_only): Use it.
51644         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
51645         _getopt_internal, getopt): Likewise.
51646         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
51647         _getopt_long_only_r): Likewise.
51648         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
51649         _getopt_long_r, _getopt_long_only_r): Likewise.
51650
51651         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
51652         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
51653         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
51654         the other external symbols.
51655         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
51656         declaration, since the above renaming now works around collisions.
51657
51658 2004-11-11  Jim Meyering  <jim@meyering.net>
51659
51660         * lib/linebreak.c: Remove trailing blanks.
51661         * lib/alloca_.h: Likewise.
51662         * lib/acosl.c: Likewise.
51663         * lib/euidaccess.c: Likewise.
51664         * lib/allocsa.h: Likewise.
51665
51666 2004-11-10  Simon Josefsson  <jas@extundo.com>
51667
51668         * m4/getaddrinfo.m4: New file.
51669
51670 2004-11-10  Simon Josefsson  <jas@extundo.com>
51671
51672         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
51673
51674 2004-11-10  Simon Josefsson  <jas@extundo.com>
51675
51676         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51677         getaddrinfo.
51678
51679         * modules/getaddrinfo: New file.
51680
51681 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51682
51683         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
51684
51685 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51686
51687         * lib/mktime.c (SHR): New macro, which is a portable
51688         substitute for >> that should work even on Crays.
51689         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
51690         Problem reported by Mark D. Baushke in
51691         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
51692         * lib/getdate.y (SHR): Likewise.
51693         (tm_diff): Use it.
51694         * lib/strftime.c (SHR): Likewise.
51695         (tm_diff): Use it.
51696         * lib/quotearg.c (struct quoting_options): Use unsigned int for
51697         quote_these_too, so that right shifts are well defined.  All uses
51698         changed.
51699
51700 2004-11-10  Jim Meyering  <jim@meyering.net>
51701
51702         Ensure that no close failure goes unreported.
51703         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
51704         return early when it seems there's nothing to flush.
51705         Don't include __fpending.h.
51706
51707 2004-11-10  Jim Meyering  <jim@meyering.net>
51708
51709         * modules/closeout (Depends-on): Remove fpending.
51710
51711 2004-11-10  Jim Meyering  <jim@meyering.net>
51712
51713         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
51714
51715 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51716
51717         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
51718         gl_FUNC_STRFTIME.
51719         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
51720         and AC_REQUIRE when possible, to avoid duplicate checks.
51721         Check for <wchar.h>.
51722
51723 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51724
51725         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
51726
51727 2004-11-09  Bruno Haible  <bruno@clisp.org>
51728
51729         * m4/sockpfaf.m4: New file.
51730
51731 2004-11-05  Bruno Haible  <bruno@clisp.org>
51732
51733         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
51734         Reported by Mark D. Baushke <mdb@cvshome.org>.
51735
51736 2004-11-04  Bruno Haible  <bruno@clisp.org>
51737
51738         2004-09-11  Bruno Haible  <bruno@clisp.org>
51739                 * allocsa.valgrind: New file.
51740         2004-02-06  Bruno Haible  <bruno@clisp.org>
51741                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
51742                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
51743                 Reported by Christopher Seip <chris.seip@hp.com>.
51744
51745 2004-11-04  Bruno Haible  <bruno@clisp.org>
51746
51747         * modules/allocsa (Files): Add lib/allocsa.valgrind.
51748         (Makefile.am): Distribute it.
51749
51750 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
51751
51752         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
51753         with errno == ERANGE if the buffer is too small.
51754         Problem reported by Mark D. Baushke.
51755
51756 2004-11-03  Albert Chin  <china@thewrittenword.com>
51757             Paul Eggert  <eggert@cs.ucla.edu>
51758
51759         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
51760         equivalent, substitute $ac_type for equivalent type rather than
51761         blindly using uint32_t *always* which won't work if uint32_t is not
51762         available.  Define _UINT32_T to work around typedef of uint32_t if
51763         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
51764         2.5.1.
51765
51766 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51767
51768         * m4/jm-macros.m4: Sync from coreutils.
51769         (gl_MACROS): Check for mbrlen, for pathchk.
51770         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
51771
51772 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51773
51774         * lib/xreadlink.c (MAXSIZE): New macro.
51775         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
51776         size does not exceed MAXSIZE.  Avoid cast.
51777         As suggested by Mark D. Baushke in
51778         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
51779         if readlink fails with buffer size just under MAXSIZE, try again
51780         with MAXSIZE.
51781
51782 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
51783
51784         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
51785
51786 2004-11-02  Derek R. Price  <derek@ximbiot.com>
51787         and  Paul Eggert  <eggert@cs.ucla.edu>
51788
51789         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
51790         (get_date): Overparenthesize to avoid GCC warning.
51791
51792 2004-11-02  Bruno Haible  <bruno@clisp.org>
51793
51794         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
51795         returns void.
51796
51797 2004-11-02  Bruno Haible  <bruno@clisp.org>
51798
51799         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
51800         function returns void.
51801
51802 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51803
51804         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
51805         fflush_unlocked, flockfile, funlockfile, funlockfile,
51806         fputs_unlocked, putc_unlocked.
51807
51808 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
51809
51810         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
51811         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
51812         already declared.
51813
51814 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51815
51816         * modules/getdate (Files): Add doc/getdate.texi.
51817         (Depends-on): Add setenv, xalloc.
51818
51819 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51820
51821         * lib/getdate.y: Add support for TZ="foo" within a date string.
51822         Fix some bugs near time_t boundaries.  Reject dates with
51823         out-of-range components, e.g., "Sept 31".
51824         Include <stdlib.h>, "setenv.h", "xalloc.h".
51825         (ISDIGIT_LOCALE): Remove; unused.
51826         Note that the TZ and time functions used here are not reentrant.
51827         (mktime_ok, get_tz): New functions.
51828         (TZBUFSIZE): New constant.
51829         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
51830         This requires that we sometimes generate our own TZ="XXX..." setting.
51831
51832 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51833
51834         * doc/getdate.texi: New file, from coreutils with modifications for
51835         the new TZ parsing.
51836
51837 2004-10-27  Derek R. Price  <derek@ximbiot.com>
51838
51839         * lib/mktime.c (not_equal_tm): Remove redundant check.
51840
51841 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51842
51843         * modules/regex (lib_SOURCES): Add regex.c.
51844         Reported by James Youngman in
51845         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
51846
51847 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51848
51849         * lib/getdate.y: Use Bison 1.875 features, and some minor
51850         code cleanups.  This change does not affect semantics.
51851         Don't include <stdlib.h>; no longer needed.
51852         Don't include unlocked-io.h; only the "#if TEST" code uses
51853         stdio, and performance isn't crucial there.
51854         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
51855         Bison 1.875 features as described below.
51856         All uses of "PC." replaced by "pc->".
51857         (YYSTYPE): Add a forward declaration.
51858         (yylex, yyerror): Use full prototypes in forward decls.
51859         Use "%pure-parser" rather than obsolescent "%pure_parser".
51860         Use %parse-param and %lex-param instead of obsolescent
51861         YYPARSE_PARAM and YYLEX_PARAM.
51862         (meridian_table, month_and_day_table, time_units_table,
51863         relative_time_table, time_zone_table, military_table,
51864         lookup_zone, lookup_word, get_date):
51865         Use NULL instead of 0 where appropriate.
51866         (to_hour): Avoid abort (), to avoid a dependency on
51867         stdlib.h.
51868         (yyerror, yylex): Now accepts parser_control * arg.
51869         (main) [TEST]: Use '\0' rather than 0 for char.
51870
51871 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51872
51873         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
51874
51875 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51876
51877         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
51878         It's now the caller's responsibility to handle the case where
51879         !HAVE_GETPAGESIZE && !defined getpagesize.
51880
51881         * lib/mktime.c (leapyear): Arg is long int, not int.
51882
51883 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
51884
51885         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
51886
51887 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
51888
51889         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
51890         missing.  Problem reported by James Youngman.
51891
51892 2004-10-16  Simon Josefsson  <jas@extundo.com>
51893
51894         * gnulib-tool: Fix comments.  Fix parse problem.
51895         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
51896
51897 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
51898
51899         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
51900         implementation of getopt_long.  Problem reported by Alexander Taler in:
51901         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
51902
51903 2004-10-15  Bruno Haible  <bruno@clisp.org>
51904
51905         * gnulib-tool: Untabify. Initialize supplied_libname.
51906         (func_usage): More homogenous output.
51907         (func_modules_transitive_closure, func_modules_to_filelist,
51908         func_emit_lib_Makefile_am): New functions.
51909         (func_import): New function, extracted from big case statement. Use
51910         func_get_license, func_modules_transitive_closure,
51911         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
51912         opt_lgpl. Don't use test -a, as it's not portable.
51913         (func_create_testdir): Use func_modules_transitive_closure,
51914         func_modules_to_filelist, func_emit_lib_Makefile_am.
51915
51916 2004-10-15  Bruno Haible  <bruno@clisp.org>
51917
51918         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
51919
51920 2004-10-15  Bruno Haible  <bruno@clisp.org>
51921
51922         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
51923         the portions belonging to each module.
51924         Suggested by Derek Robert Price <derek@ximbiot.com>.
51925
51926 2004-10-12  Simon Josefsson  <jas@extundo.com>
51927
51928         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
51929         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
51930         to real functions.
51931
51932 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51933
51934         * modules/vsnprintf: New file.
51935
51936 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51937
51938         * m4/vsnprintf.m4: New file.
51939
51940 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51941
51942         * lib/vsnprintf.h: New file.
51943         * lib/vsnprintf.c: New file.
51944
51945 2004-10-11  Bruno Haible  <bruno@clisp.org>
51946
51947         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
51948         vsnprintf.
51949
51950 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
51951
51952         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
51953
51954 2004-10-07  Bruno Haible  <bruno@clisp.org>
51955
51956         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
51957         fits into the provided buffer.
51958
51959 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
51960
51961         * lib/diacrit.c, diacrit.h: Add GPL notice.
51962
51963         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
51964         notice.
51965         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
51966         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
51967         This avoids a potential constant-folding bug.
51968
51969 2004-10-05  Bruno Haible  <bruno@clisp.org>
51970
51971         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
51972         for the declaration of strsep.
51973
51974 2004-10-05  Bruno Haible  <bruno@clisp.org>
51975
51976         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
51977
51978 2004-10-04  Simon Josefsson  <jas@extundo.com>
51979
51980         * modules/memmem: New file.
51981         * tests/test-memmem.c: New file.
51982         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
51983
51984 2004-10-04  Simon Josefsson  <jas@extundo.com>
51985
51986         * m4/memmem.m4: New file.
51987
51988 2004-10-04  Simon Josefsson  <jas@extundo.com>
51989
51990         * lib/memmem.h: New file.
51991         * lib/memmem.c: New file, taken from glibc.
51992
51993 2004-10-04  Simon Josefsson  <jas@extundo.com>
51994
51995         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
51996         '#ifdef USE_UNLOCKED_IO'.
51997
51998 2004-10-04  Simon Josefsson  <jas@extundo.com>
51999
52000         * config/srclist.txt: Add memmem from glibc.
52001
52002 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52003
52004         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
52005
52006         * modules/argmatch, modules/argp, modules/closeout, modules/error,
52007         modules/exclude, modules/getdate, modules/getline,
52008         modules/getndelim2, modules/getpass, modules/getpass-gnu,
52009         modules/getusershell, modules/linebuffer, modules/md5,
52010         modules/mountlist, modules/posixtm, modules/readtokens,
52011         modules/readutmp, modules/regex, modules/sha1,
52012         modules/version-etc, modules/yesno:
52013         Remove dependency on unlocked-io.
52014
52015 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52016
52017         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
52018
52019         * m4/unlocked-io.m4: Add copyright notice.
52020         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
52021
52022 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52023
52024         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
52025         * lib/xmalloc.c (xmemdup): Likewise.
52026         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
52027         XFREE): Remove these long-obsolescent macros.
52028         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
52029         * lib/xstrdup.c: Remove.
52030
52031         * lib/regex.c (re_comp): Cast gettext return value to char *,
52032         Problem reported by Martin Neitzel via Mark D. Baushke.
52033
52034 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52035
52036         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
52037         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
52038         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
52039         regex.c, sha1.c, version-etc.c, yesno.c:
52040         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
52041         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
52042         the includer's responsibility.
52043
52044         Sync from coreutils.
52045
52046         * lib/modechange.c (mode_compile): Don't decrement a pointer that
52047         points to the start of a string, as the C Standard says the
52048         resulting behavior is undefined.
52049
52050         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
52051         simple -> simple_backups, numbered_existing ->
52052         numbered_existing_backups, numbered -> numbered_backups
52053         to avoid shadowing problems.  All uses changed.
52054         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
52055         * lib/backupfile.c (check_extension, numbered_backup):
52056         Rename locals to avoid shadowing 'basename'.
52057         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
52058         once.
52059
52060         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
52061         * lib/.cvsignore: Add getopt.h.
52062
52063 2004-10-04  Bruno Haible  <bruno@clisp.org>
52064
52065         * modules/README: New file.
52066         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
52067         not a module.
52068
52069 2004-10-02  Jim Meyering  <jim@meyering.net>
52070
52071         * lib/dirfd.h, getpagesize.h: Add copyright notice.
52072
52073 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52074
52075         * modules/strsep: New file.
52076
52077 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52078
52079         * m4/strsep.m4: New file.
52080
52081 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52082
52083         * lib/strsep.h: New file.
52084         * lib/strsep.c: New file.
52085
52086 2004-10-01  Simon Josefsson  <jas@extundo.com>
52087
52088         * lib/snprintf.c (snprintf): Handle size==0.
52089
52090 2004-10-01  Simon Josefsson  <jas@extundo.com>
52091             Bruno Haible  <bruno@clisp.org>
52092
52093         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
52094         (snprintf): Declare 'args'.
52095
52096 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
52097
52098         * lib/snprintf.c: Remove comments as to why each header is needed.
52099
52100 2004-10-01  Bruno Haible  <bruno@clisp.org>
52101
52102         * MODULES.html.sh: Add strsep.
52103
52104 2004-09-30  Simon Josefsson  <jas@extundo.com>
52105
52106         * modules/snprintf: New file.
52107
52108 2004-09-30  Simon Josefsson  <jas@extundo.com>
52109
52110         * m4/snprintf.m4: New file.
52111
52112 2004-09-30  Simon Josefsson  <jas@extundo.com>
52113
52114         * lib/snprintf.h, lib/snprintf.c: New files.
52115
52116 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52117
52118         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
52119         (hol_entry_help): Never translate an empty string.
52120         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
52121         * lib/argp.h (OPTION_NO_TRANS): New option.
52122
52123 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52124
52125         * modules/argp (Maintainer): Replace Simon Josefsson
52126         by Sergey Poznyakoff.
52127
52128 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52129
52130         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
52131         changes merged back into glibc.
52132
52133 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52134
52135         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
52136
52137 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52138
52139         * lib/xvasprintf.c: Include xalloc.h.
52140         (xvasprintf): Use xalloc_die, not xmalloc_die.
52141
52142 2004-09-29  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/alloca-opt: New file, derived from modules/alloca.
52145         * modules/allocsa: Depend on alloca-opt instead of alloca.
52146         * modules/setenv: Likewise.
52147         * modules/vasnprintf: Likewise.
52148         * MODULES.html.sh: Add alloca-opt.
52149
52150 2004-09-28  Simon Josefsson  <jas@extundo.com>
52151
52152         * gnulib-tool: New parameter --lgpl, to asseert that modules are
52153         LGPL, and to replace license template from GPL to LGPL.
52154
52155 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52156
52157         * modules/dummy: Change license to LGPL.
52158
52159 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52160
52161         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
52162
52163 2004-09-24  Simon Josefsson  <jas@extundo.com>
52164
52165         * modules/minmax (License): Change from GPL to LGPL.
52166
52167 2004-09-23  Simon Josefsson  <jas@extundo.com>
52168
52169         * gnulib-tool (--import): Typo.
52170
52171 2004-09-23  Simon Josefsson  <jas@extundo.com>
52172
52173         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
52174
52175 2004-09-22  Bruno Haible  <bruno@clisp.org>
52176
52177         * modules/*: Add 'License' field.
52178         * gnulib-tool: Accept --extract-license option.
52179         (func_get_license): New function.
52180
52181 2004-09-21  Bruno Haible  <bruno@clisp.org>
52182
52183         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
52184         Reported by Simon Josefsson.
52185
52186 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52187
52188         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
52189         gl_AC_TYPE_LONG_LONG.
52190
52191 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52192
52193         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
52194
52195 2004-09-18  Simon Josefsson  <jas@extundo.com>
52196         and  Paul Eggert  <eggert@cs.ucla.edu>
52197
52198         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
52199         calls with autoreconf.  Define GL_LIB.
52200
52201 2004-09-14  Karl Berry  <karl@gnu.org>
52202
52203         * config/srclist.txt: unsync setenv.c, sigh.
52204
52205 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52206
52207         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
52208         Problem reported by Bruno Haible in:
52209         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
52210
52211 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52212
52213         * config/srclist.txt: Comment out argp-pvh.c.
52214
52215 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
52216
52217         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
52218         in case some system header has #define'd it.  Problem reported by
52219         Soeren D. Schulze in
52220         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
52221
52222 2004-09-09  Karl Berry  <karl@gnu.org>
52223
52224         * regex.[ch]: delete from the root.  These were supposed to be
52225                 synced with emacs cvs, but this has not happened for about
52226                 a year, and anyway nothing else uses emacs regex.[ch].
52227                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
52228                 lib/regex[.ch] is untouched.
52229
52230 2004-09-09  Bruno Haible  <bruno@clisp.org>
52231
52232         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
52233
52234 2004-09-09  Bruno Haible  <bruno@clisp.org>
52235
52236         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
52237         modifications.
52238         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
52239
52240 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52241
52242         * modules/xvasprintf: New file.
52243         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
52244
52245 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52246
52247         * lib/xvasprintf.h: New file.
52248         * lib/xvasprintf.c: New file.
52249         * lib/xasprintf.c: New file.
52250
52251 2004-09-08  Bruno Haible  <bruno@clisp.org>
52252
52253         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
52254
52255 2004-09-08  Bruno Haible  <bruno@clisp.org>
52256
52257         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
52258         length is > INT_MAX.
52259         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
52260         more.
52261
52262 2004-09-08  Bruno Haible  <bruno@clisp.org>
52263
52264         * lib/stdint_.h: New file, taken from GNU clisp.
52265
52266 2004-09-08  Bruno Haible  <bruno@clisp.org>
52267             Oskar Liljeblad  <oskar@osk.mine.nu>
52268
52269         * modules/stdint: New file.
52270         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
52271
52272 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52273
52274         Import from coreutils.
52275         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
52276         strings on unbounded length.  alloca's performance benefits aren't
52277         that important here.
52278         (V_STRDUP): Remove.
52279         (parse_with_separator): New function, with most of the internals
52280         of the old parse_user_spec.  Allow user to omit both user and group,
52281         for compatibility with FreeBSD.
52282         Clone only the user name, not the entire spec.
52283         Do not set *uid, *gid unless entirely successful.
52284         Avoid memory leak in some failing cases.
52285         Fix regression for USER.GROUP reported by Dmitry V. Levin in
52286         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
52287         (parse_user_spec): Rewrite to use parse_with_separator.
52288
52289 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52290
52291         * modules/userspec: Don't depend on alloca.
52292
52293 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52294
52295         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
52296
52297 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52298
52299         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
52300         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
52301         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
52302
52303 2004-08-16  Simon Josefsson  <jas@extundo.com>
52304
52305         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
52306         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
52307         Add --dry-run for --import.
52308         Let user provided command line parameters override configure.ac
52309         settings.
52310
52311 2004-08-12  Simon Josefsson  <jas@extundo.com>
52312
52313         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
52314         as discussed with Paul Eggert in threads rooted at
52315         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
52316         and
52317         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
52318         Before, the test was empty, and relied on ELIDE_CODE in source
52319         code.)
52320         (gl_PREREQ_GETOPT): New macro.
52321         (gl_GETOPT): Use them.
52322
52323 2004-08-12  Simon Josefsson  <jas@extundo.com>
52324
52325         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
52326         * lib/getopt_.h: Renamed from getopt.h.
52327
52328 2004-08-12  Simon Josefsson  <jas@extundo.com>
52329
52330         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
52331         Change default library name from libfoo to libgnu.
52332         Now, if you have a configure.ac that says:
52333                 gl_SOURCE_BASE(gl)
52334                 gl_M4_BASE(gl/m4)
52335                 gl_MODULES(error getopt etcetera)
52336                 gl_INIT
52337         you can import all you need by running:
52338                 ../gnulib/gnulib-tool --import
52339
52340         * modules/getopt (Files): Rename getopt.h to getopt_.h.
52341         (Makefile.am): Rewrite, use logic from argz.
52342         (Include): Use <getopt.h> instead of "getopt.h".
52343
52344 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52345
52346         * modules/argp (Files): Add m4/unlocked-io.m4.
52347         (Depends-on): Add extensions.
52348
52349 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52350
52351         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
52352         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
52353         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
52354         Check for program_invocation_name, program_invocation_short_name,
52355         flockfile, funlockfile, features.h, _getopt_long_only_r.
52356
52357 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52358
52359         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
52360         its complicated substitute.
52361         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
52362         and program_invocation_name.
52363         (__argp_basename) [!_LIBC]: Remove; the only use was
52364         replaced by its body.
52365         (__argp_short_program_name): Change condition from
52366         !defined __argp_short_program_name to
52367         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
52368         to match argp-namefrob.h.
52369         (__argp_failure): Don't assume strerror_r returns char *.
52370         * lib/argp-parse.c (N_): Define unconditionally.
52371         (argp_default_options): Fill out initializers with 0 to avoid
52372         gcc warnings.
52373
52374 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52375
52376         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
52377         getopt1.c.
52378
52379 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52380
52381         Merge from coreutils.
52382
52383         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
52384
52385         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
52386         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
52387
52388 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52389
52390         Merge from coreutils.
52391
52392         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
52393         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
52394         for Reliant Unix 5.43.
52395
52396         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
52397         (union fooround): Use uintmax_t, not long int.
52398         The rest is a merge from libc:
52399         [defined _LIBC]: Include <shlib-compat.h>.
52400         (_obstack) [defined _LIBC]: Remove after 2.3.4.
52401
52402         * lib/settime.c (settime): Recode to avoid warning with
52403         Sun Forte C 6U2.
52404
52405         * lib/strverscmp.c: Convert to UTF-8.
52406
52407 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52408
52409         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
52410         m4/uintmax_t.m4.
52411
52412 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52413
52414         * modules/xalloc-die: New file.
52415         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
52416
52417         * modules/md5 (Files): Add m4/uint32_t.m4.
52418         * modules/sha1: Renamed from modules/sha.
52419         (Files):
52420         Rename lib/sha.h to lib/sha1.h.
52421         Rename lib/sha.c to lib/sha1.c.
52422         Rename m4/sha.m4 to m4/sha1.m4.
52423         (lib_SOURCES): Likewise.
52424         (configure.ac): Rename gl_SHA to gl_SHA1.
52425         (Include): sha.h -> sha1.h.
52426
52427 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52428
52429         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
52430         * m4/sha1.m4: Renamed from sha.m4.
52431         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
52432
52433 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52434
52435         * lib/obstack.h (obstack_empty_p):
52436         Don't assume that chunk->contents is suitably aligned.
52437         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
52438         Likewise. Problem reported by Benno in
52439         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
52440
52441         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
52442         readable.  This could be improved further but it'd take some work.
52443
52444 2004-08-08  Simon Josefsson  <jas@extundo.com>
52445
52446         * modules/xgethostname (Depends-on): Remove exit and error (not
52447         used).
52448
52449         * modules/getpass-gnu: Add getpass.h.
52450         (Depends-on): Add stdbool.
52451         * modules/getpass: Add getpass.h.
52452
52453 2004-08-08  Simon Josefsson  <jas@extundo.com>
52454
52455         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
52456         Check getpass declaration.
52457
52458 2004-08-08  Simon Josefsson  <jas@extundo.com>
52459
52460         * lib/xgethostname.c: Don't include error.h (not used).
52461
52462         * lib/getpass.h: Add.
52463         * lib/getpass.c: Include getpass.h first.
52464
52465 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
52466
52467         * lib/xalloc-die.c: New file.
52468         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
52469         All uses removed.
52470         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
52471         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
52472         xalloc-die.c.
52473         (_, N_, xalloc_die): Move to xalloc-die.c.
52474         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
52475         so that we needn't mess with xalloc_msg_memory_exhausted.
52476
52477         * lib/sha1.h: Renamed from sha.h.
52478         (SHA1_H): Renamed from _SHA_H.
52479         (sha1_ctx): Renamed from sha_ctx.
52480         (sha1_init_ctx): Renamed from sha_init_ctx.
52481         (sha1_process_block): Renamed from sha_process_block.
52482         (sha1_process_bytes): Renamed from sha_process_bytes.
52483         (sha1_finish_ctx): Renamed from sha_finish_ctx.
52484         (sha1_read_ctx): Renamed from sha_read_ctx.
52485         (sha1_stream): Renamed from sha_stream.
52486         (sha1_buffer): Renamed from sha_buffer.
52487         * lib/sha1.c: Likewise; renamed from sha.c.
52488         Do not include <sys/types.h>.
52489         Include <stddef.h> rather than <stdlib.h>.
52490
52491 2004-08-08  Bruno Haible  <bruno@clisp.org>
52492
52493         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
52494         FILESYSTEM_PREFIX_LEN.
52495         * lib/progreloc.c: Likewise.
52496         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
52497
52498 2004-08-06  Simon Josefsson  <jas@extundo.com>
52499
52500         * modules/progname (Depends-on): Don't depend on stdbool.
52501
52502 2004-08-06  Simon Josefsson  <jas@extundo.com>
52503
52504         * modules/getsubopt: New file.
52505         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52506         getsubopt.
52507
52508 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52509
52510         More merge from coreutils.
52511
52512         * m4/utimens.m4, m4/utimecmp.m4: New files.
52513         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
52514         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
52515         prereq.m4, sha.m4: Import changes from coreutils.
52516
52517 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52518
52519         More merge from coreutils.
52520         * modules/raise, modules/readtokens0, modules/utimens:
52521         * modules/utimecmp, module/xnanosleep: New files.
52522         * modules/strftime: Add lib/strftime.h.
52523         Change include from <time.h> to "strftime.h".
52524         * modules/yesno: Add lib/yesno.h.
52525         * modules/backupfile: Remove lib/addext.c.
52526         * modules/euidaccess: Add stat-macros.h.
52527         * modules/canonicalize, modules/euidaccess,
52528         modules/filemode, modules/lchown, modules/makepath,
52529         modules/rmdir, modules/stat: Likewise.
52530
52531 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52532
52533         Merge from tar.
52534         * lib/argp-help.c (make_hol, hol_append): Don't assume that
52535         SIZE_MAX is a valid preprocessor constant.
52536         (__argp_basename): Change from "#ifndef _LIBC"
52537         to "#ifndef __argp_short_program_name", so that
52538         we don't compile these functions for tar.
52539
52540         More merges from coreutils.
52541         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
52542         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
52543         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
52544         * lib/addext.c: Remove; no longer needed.
52545         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
52546         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
52547         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
52548         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
52549         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
52550         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
52551         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
52552         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
52553         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
52554         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
52555         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
52556         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
52557         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
52558         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
52559         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
52560         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
52561         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
52562         Import changes from coreutils.
52563
52564 2004-08-05  Simon Josefsson  <jas@extundo.com>
52565
52566         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
52567
52568 2004-08-05  Simon Josefsson  <jas@extundo.com>
52569
52570         * m4/getsubopt.m4: New file.
52571
52572 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52573
52574         Merge from coreutils.
52575
52576         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
52577         * m4/getcwd-path-max.m4: New files.
52578
52579         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
52580         FILESYSTEM_PREFIX_LEN ->
52581         FILE_SYSTEM_PREFIX_LEN.
52582         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
52583         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
52584         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
52585         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
52586
52587         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
52588         prerequisite modules now handle the DOS stuff.
52589         Don't check for unistd.h.
52590
52591 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52592
52593         Merge from coreutils.
52594
52595         * lib/.gdb-history: Remove; this doesn't belong here.
52596
52597         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
52598         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
52599         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
52600         * lib/getcwd.c: New files.
52601
52602         * lib/dirname.h: Include <stdbool.h>.
52603         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
52604         for consistency with POSIX terminology.  All uses changed.
52605         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
52606         (strip_trailing_slashes): Use bool for booleans.
52607         * lib/stripslash.c (strip_trailing_slashes): Likewise.
52608
52609         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
52610         sometimes returns a positive errno value even when it succeeds.
52611         (print_errno_message) [!LIBC]: Fall back on strerror if
52612         __strerror_r fails.
52613
52614         * lib/path-concat.c (mempcpy): Don't define if a system header defines
52615         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
52616         (longest_relative_suffix): New function.
52617         (path_concat): Use it.  Assume first argument is not NULL.
52618         Port to DOS.  Omit redundant separators.
52619         Report an error instead of returning NULL.
52620         Use mempcpy instead of memcpy.
52621         (xpath_concat): Remove: not declared or used.
52622
52623         * lib/same.h: Include <stdbool.h>
52624         (same_name): Return bool, not int.
52625         * lib/same.c (same_name): Likewise.
52626         (errno): Don't declare; we assume C89 or better now.
52627
52628         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
52629         if not already defined.
52630
52631         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
52632         * lib/dup-safer.c (errno): Likewise.
52633
52634 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
52635
52636         Merge from coreutils.
52637         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
52638         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
52639         * modules/path-concat: Don't depend on strdup.
52640
52641 2004-08-03  Simon Josefsson  <jas@extundo.com>
52642
52643         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
52644         * lib/progname.h: Don't include stdbool.h.
52645
52646 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52647
52648         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
52649         * MODULES.html.sh (func_all_modules): Remove fatal.
52650
52651 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52652
52653         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
52654
52655 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
52656
52657         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
52658         working.
52659
52660 2004-08-02  Simon Josefsson  <jas@extundo.com>
52661
52662         * lib/getsubopt.h: New file, with comments from Bruno Haible.
52663         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
52664         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
52665
52666 2004-08-01  Simon Josefsson  <jas@extundo.com>
52667
52668         * lib/xgetdomainname.c: Include stdlib.h, for free().
52669
52670 2004-07-19  Bruno Haible  <bruno@clisp.org>
52671
52672         * MODULES.html.sh (func_all_modules): Add dummy.
52673
52674 2004-07-16  Simon Josefsson  <jas@extundo.com>
52675
52676         * modules/dummy: New file.
52677
52678 2004-07-16  Simon Josefsson  <jas@extundo.com>
52679
52680         * lib/dummy.c: New file.
52681
52682 2004-07-16  Bruno Haible  <bruno@clisp.org>
52683
52684         * lib/backupfile.h: Add extern "C" for C++.
52685         * lib/closeout.h: Likewise.
52686         * lib/copy-file.h: Likewise.
52687         * lib/findprog.h: Likewise.
52688         * lib/full-write.h: Likewise.
52689         * lib/pathname.h: Likewise.
52690         * lib/progname.h: Likewise.
52691         * lib/stpcpy.h: Likewise.
52692         * lib/stpncpy.h: Likewise.
52693         * lib/strcase.h: Likewise.
52694         * lib/strstr.h: Likewise.
52695         * lib/xalloc.h: Likewise.
52696
52697         * lib/mbswidth.h: Add extern "C" for C++.
52698         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
52699
52700 2004-07-13  Robert Millan  <robertmh@gnu.org>
52701
52702         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
52703
52704 2004-07-09  Simon Josefsson  <jas@extundo.com>
52705
52706         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
52707         failed without this.)
52708
52709 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52710
52711         * modules/chown (Files): Add lib/fchown-stub.c, since
52712         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
52713
52714 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
52715
52716         * lib/fchown-stub.c: New file.
52717
52718 2004-06-24  Jim Meyering  <jim@meyering.net>
52719
52720         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
52721
52722 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52723
52724         * modules/argz: Omit "#include".
52725
52726         * MODULES.html.sh (func_all_modules): Add calloc, to match
52727         2004-06-01 addition of calloc module.
52728
52729 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52730
52731         * m4/argz.m4: New file, which is autoupdated from libtool.
52732
52733 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52734
52735         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
52736         libtool.
52737
52738 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52739
52740         * config/srclist-update: Don't insist on "USA." before the
52741         close-comment, as libtool omits the period and puts the */ on a
52742         separate line.
52743         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
52744         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
52745
52746 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
52747
52748         * modules/argz: New file.
52749         * MODULES.html.sh (func_all_modules): Add argz.
52750
52751 2004-06-12  Jim Meyering  <jim@meyering.net>
52752         and  Paul Eggert  <eggert@cs.ucla.edu>
52753
52754         * modules/hash (Files): Add lib/xalloc.h.
52755         * modules/pipe (Depends-on): Add wait-process.
52756         * modules/stat (Depends-on): Add xalloc.
52757         * modules/userspec (Files): Add lib/userspec.h.
52758         * modules/xstrto
52759
52760         Upgrade from gettext-0.13.
52761         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
52762         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
52763         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
52764
52765 2004-06-10  Jim Meyering  <jim@meyering.net>
52766
52767         * lib/calloc.c: New file.
52768
52769 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
52770
52771         * lib/getdate.y (yylex): Allow space between sign and number.
52772         Problem reported by Dan Jacobson.
52773
52774 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52775
52776         Merge from coreutils CVS.
52777
52778         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
52779         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
52780         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
52781         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
52782         xstrtol.m4: Fix copyright date and/or serial number.
52783
52784         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
52785         See if we need an fchown replacement.
52786         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
52787         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
52788         and use the replacement function if we detect either defect.
52789
52790         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
52791         gl_UTIMECMP.
52792
52793 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52794         and  Jim Meyering  <jim@meyering.net>
52795
52796         Merge from coreutils CVS.
52797
52798         * lib/stat-macros.h: New file, with contents from file-type.h
52799         and coreutils' system.h.
52800         * lib/file-type.c: Include "stat-macros.h".
52801         * lib/file-type.h (file_type): Move all macro definitions to new file,
52802         stat-macros.h.
52803
52804         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
52805         Wrap old code with this conditional.
52806         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
52807         function that does not dereference symlinks.
52808         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
52809
52810         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
52811         dependency problems.
52812         (xreadlink): Accept new arg SIZE, for efficiency.
52813         All decls and uses changed.
52814         * lib/xreadlink.h: Include <stddef.h>, for size_t.
52815
52816         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
52817         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
52818
52819         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
52820         sysexits.h.
52821
52822 2004-06-01  Jim Meyering  <jim@meyering.net>
52823
52824         * m4/calloc.m4: New file.
52825
52826 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
52827
52828         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
52829         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
52830         Also, fix a typo in a diagnostic.
52831
52832 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52833
52834         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
52835         or AC_FUNC_REALLOC.
52836
52837 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52838
52839         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
52840         macros to be defined.
52841         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
52842         the allocator returns NULL because the requested size is zero.
52843
52844 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52845
52846         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
52847         var.  Add comment explaining why libc still defines it.  This
52848         merges the following patch from glibc:
52849         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
52850
52851 2004-05-20  Andreas Schwab  <schwab@suse.de>
52852
52853         * m4/free.m4: Replace free if it not known to work, not the other
52854         way round.
52855
52856 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52857
52858         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
52859         present in glibc since revision 1.1 of this file.
52860         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
52861         obstack_alignment_mask, obstack_alloc, obstack_base,
52862         obstack_blank, obstack_blank_fast, obstack_chunk_size,
52863         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
52864         obstack_grow0, obstack_init, obstack_int_grow,
52865         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
52866         obstack_next_free, obstack_object_size, obstack_ptr_grow,
52867         obstack_ptr_grow_fast, obstack_room): Remove declarations of
52868         nonexistent functions.
52869
52870 2004-05-18  Karl Berry  <karl@gnu.org>
52871
52872         * config/srclist.txt: break link for vasnprintf.c.
52873
52874 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52875
52876         Port obstack to the AS/400, where pointers are 16 bytes wide and
52877         you cannot cast an integer to a valid pointer.  This patch is
52878         currently waiting to be integrated into glibc; see
52879         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
52880
52881         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
52882         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
52883         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
52884         (struct obstack): temp member is now a union of a pointer and
52885         an integer, instead of an integer.  All integer uses changed.
52886         This does not affect the physical layout of struct obstack,
52887         except on hosts (like the AS/400) where the size or alignment of
52888         void * is greater than that of ptrdiff_t.
52889         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
52890         __STDC__)]: Store temporary in pointer member of union, not
52891         integer member.
52892         * lib/obstack.c: Include <stddef.h>, for offsetof.
52893         (struct fooalign): Remove; it doesn't need a name.
52894         (union fooround): Change double to long double, and add void *.
52895         (DEFAULT_ALIGNMENT): Use offsetof to compute.
52896         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
52897         not a macro.  Hence the values are always int; so remove all
52898         casts-to-int in uses.
52899
52900 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
52901
52902         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
52903         we can get this patch merged into glibc.
52904
52905 2004-05-17  Derek R. Price  <derek@ximbiot.com>
52906             Paul Eggert  <eggert@cs.ucla.edu>
52907
52908         * m4/argp: Depend on alloca.
52909
52910 2004-05-17  Derek R. Price  <derek@ximbiot.com>
52911             Paul Eggert  <eggert@cs.ucla.edu>
52912
52913         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
52914         freecoding.
52915
52916 2004-05-17  Bruno Haible  <bruno@clisp.org>
52917
52918         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
52919         precision that consists of a '.' followed by an empty digit string.
52920         Patch by Tor Lillqvist <tml@iki.fi>.
52921
52922 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52923
52924         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
52925         for backward compatibility with older code.  We need our own
52926         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
52927         it under some other name, and our alloca.h will define it.
52928
52929 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
52930             Derek Price  <derek@ximbiot.com>
52931
52932         * lib/alloca.c: Include <alloca.h>, to get our interface.
52933         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
52934         include <alloca.h> first.  Use C89 prototype for alloca; this
52935         requires including <stddef.h> for size_t.  Use extern "C" if C++.
52936         Use #elif for simplicity, since we can assume C89 now.
52937         Don't try to source the system alloca.h since it will not be found
52938         and to prevent recursively including its replacement.
52939         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
52940         * lib/regex.c: Likewise.
52941
52942 2004-05-16  Derek Price  <derek@ximbiot.com>
52943             Paul Eggert  <eggert@cs.ucla.edu>
52944
52945         getline cleanup.  This changes the getndelim2 API: both order of
52946         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
52947         no delimiter).
52948
52949         * lib/getline.c: Don't include stddef.h or stdio.h, since our
52950         interface does that.
52951         (getline): Always use getdelim, so that we don't have two
52952         copies of this code.
52953         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
52954         if available.
52955         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
52956         (GETNDELIM2_MAXIMUM): New macro.
52957         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
52958         instead of the old practice of delim2==0.  All callers changed.
52959         Return -1 on overflow, instead of returning junk.
52960         Do not set *linesize unless allocation succeeds.
52961         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
52962         that we include sys/types.h.
52963         * lib/getnline.h: Likewise.
52964         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
52965         (getndelim2): Reorder arguments.
52966         * lib/getnline.c (getnline, getndelim):
52967         Don't discard the NMAX argument.
52968         (getnline): Invoke getndelim, to avoid code duplication.
52969         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
52970         of (size_t) -1 by callers of the getnline family.
52971
52972 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52973
52974         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
52975         Check for gettimeofday.
52976         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
52977         Check for settimeofday, stime.
52978
52979 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52980
52981         * lib/nanosleep.c (suspended): Change its type from int to
52982         sig_atomic_t volatile.
52983         (first_call): Make it private to rpl_nanosleep, and have it
52984         be zero initially as that's a bit faster.
52985         (my_usleep): Round up fractional times instead of truncating them,
52986         as this is the usual meaning for 'sleep'.
52987
52988         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
52989         doesn't work.
52990         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
52991         (ENOSYS): Define if not defined.
52992         (settime): Fall back on stime if it exists and settimeofday fails.
52993         But don't bother with fallbacks if a method fails with errno == EPERM.
52994
52995 2004-05-11  Jim Meyering  <jim@meyering.net>
52996
52997         Prior to this change, the save_cwd caller required read access to the
52998         current directory on most systems (ones with the fchdir function).
52999
53000         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
53001         fails, try write-only, and finally, resort to using xgetcwd.
53002
53003 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53004
53005         * lib/obstack.c, obstack.h: Import changes from libc.
53006
53007 2004-04-28  Bruno Haible  <bruno@clisp.org>
53008
53009         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
53010         also implicitly appends .exe to executables.
53011         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
53012         accepts Windows pathnames.
53013         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53014         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53015         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53016         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53017         Reported by Derek Robert Price <derek@ximbiot.com>.
53018
53019 2004-04-21  Karl Berry  <karl@gnu.org>
53020
53021         * config/srclist.txt (localcharset.c): break sync.
53022
53023 2004-04-20  Paul Eggert  <eggert@twinsun.com>
53024
53025         * m4/host-os.m4: Add a copyright notice.
53026
53027 2004-04-20  Jim Meyering  <jim@meyering.net>
53028
53029         Change UTILS_ to gl_ in AC_DEFINE'd names.
53030         Change utils_- and jm_-prefixed variables, too.
53031         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
53032         UTILS_FUNC_MKDIR_TRAILING_SLASH.
53033         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
53034
53035         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
53036         Don't emit trailing blanks.
53037         Also rename jm_-prefixed variables to have gl_ prefix.
53038
53039         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
53040         Also rename jm_-prefixed variables to have gl_ prefix.
53041
53042         * m4/jm-macros.m4: Reflect the renamings.
53043         * m4/prereq.m4: Likewise.
53044
53045 2004-04-20  Jim Meyering  <jim@meyering.net>
53046
53047         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
53048         memory.
53049
53050 2004-04-20  Jim Meyering  <jim@meyering.net>
53051             Bruno Haible  <bruno@clisp.org>
53052
53053         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
53054         memory when realloc fails.
53055
53056 2004-04-19  Jim Meyering  <jim@meyering.net>
53057
53058         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
53059         now that readutmp.c may call `free (0)'.
53060
53061 2004-04-19  Bruno Haible  <bruno@clisp.org>
53062
53063         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
53064         * m4/inttypes_h.m4: Likewise.
53065         * m4/stdint_h.m4: Likewise.
53066         * m4/intmax_t.m4: Likewise.
53067         * m4/uintmax_t.m4: Likewise.
53068
53069 2004-04-18  Jim Meyering  <jim@meyering.net>
53070
53071         * m4/prereq.m4: Don't forbid jm_ prefix.
53072
53073         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
53074         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
53075         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
53076         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
53077         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
53078         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
53079         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
53080         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
53081         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
53082         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
53083         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
53084         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
53085         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
53086         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
53087         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
53088         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
53089         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
53090         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
53091         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
53092
53093 2004-04-18  Jim Meyering  <jim@meyering.net>
53094
53095         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
53096         failure, don't leak memory and do call END_UTMP_ENT.
53097
53098 2004-04-16  Jim Meyering  <jim@meyering.net>
53099
53100         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
53101         coreutils' stat program.
53102         (gl_PREREQ): Don't require jm_PREREQ_STAT.
53103
53104 2004-04-11  Paul Eggert  <eggert@twinsun.com>
53105
53106         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
53107         C89.
53108         (CHAR_BIT): Remove, since we assume C89.
53109         Include <stdint.h> if available, as per current Autoconf CVS advice.
53110
53111 2004-03-31  Jim Meyering  <jim@meyering.net>
53112
53113         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
53114         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
53115         * m4/xalloc.m4: Likewise.
53116
53117 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53118
53119         Merge from coreutils.
53120
53121         * m4/inttostr.m4: New file.
53122         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
53123         Require AM_STDBOOL_H and gl_TIMESPEC instead.
53124         Require gl_CLOCK_TIME.
53125         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
53126
53127 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53128
53129         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
53130         not bool, to be more consistent with Unix conventions.
53131         Suggested by Bruno Haible.
53132
53133         Merge from coreutils.
53134
53135         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
53136         * lib/umaxtostr.c: New files.
53137
53138         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
53139         the usual <time.h> dance.
53140         (get_date): Change signature to support fractional time stamps.
53141         All callers changed.
53142         * lib/getdate.y: Include "getdate.h" first, as we can now
53143         assume C89 and don't need to worry about 'const'.
53144         Similarly, include "unlocked-io.h" near start, not in middle.
53145         Include <limits.h>.
53146         (textint.value): Use long int rather than int.
53147         (textint.digits): Use size_t rather than int.
53148         (BILLION, LOG10_BILLION): New constants.
53149         (parser_control): New member rel_ns.  Members day_ordinal,
53150         time_zone, month, day, hour, minutes, rel_year, rel_month,
53151         rel_day, rel_hour, rel_minutes, rel_seconds
53152         are now long int, not int.  Member seconds is now struct timespec,
53153         not int.  New member timespec_seen.  Members dates_seen, days_seen,
53154         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
53155         not int.
53156         (%union.intval): Now long int, not int.
53157         New member timespec.
53158         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
53159         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
53160         (spec): Now is a timespec or an item list.
53161         (timespec, items): New nonterminals.
53162         (time, rel, relunit, number, get_date):
53163         Add support for fractional seconds.
53164         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
53165         (gmtime, localtime, mktime): Remove decls; not needed with C89.
53166         (to_hour): First arg is now long int, not int.
53167         (to_year): Returns long int, not int.
53168         Don't treat year -70 like 70.
53169         (tm_diff): Returns long int, not int.
53170         (lookup_word): Use bool instead of int when appropriate.
53171         (yylex): Use size_t for count, not int.
53172         Detect overflow when parsing large integer constants.
53173         Add support for fractions.
53174         (get_date): Make pointers 'const' if possible.
53175         Use more-portable code to detect integer overflow.
53176         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
53177         Don't use ctime; it's not reliable if the year has >4 digits.
53178
53179         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
53180         This is for compatibility with BSD.
53181
53182         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
53183         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
53184         From coreutils' system.h.
53185
53186         * lib/userspec.c: Don't include "posixver.h".
53187         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
53188         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
53189         compatible extension.  Simplify code by removing a boolean int
53190         that was always nonzero if a string was nonnull.
53191
53192 2004-03-30  Jim Meyering  <jim@meyering.net>
53193
53194         Merge from coreutils.
53195
53196         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
53197         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
53198         on some systems one must include <grp.h> before it.
53199         Reported by Christian Krackowizer.
53200
53201 2004-03-30  Jim Meyering  <jim@meyering.net>
53202
53203         Merge from coreutils.
53204
53205         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
53206
53207         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
53208         an empty input stream.
53209
53210         * lib/readtokens.c: Include <stdbool.h>.
53211         (readtoken): Use `size_t' rather than int/long.
53212         All callers adjusted.
53213         Use `bool' rather than `int' where appropriate.
53214         Use memset rather than an explicit loop.
53215         Use x2nrealloc rather than xrealloc.
53216         Allow the use of `\0' as a delimiter.
53217         (readtokens): Likewise.
53218         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
53219
53220 2004-03-30  Jim Meyering  <jim@meyering.net>
53221
53222         * m4/realloc.m4: Remove file, since now it does no more than
53223         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
53224         the `configure.ac' section of module/realloc.
53225         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
53226
53227 2004-03-30  Bruno Haible  <bruno@clisp.org>
53228
53229         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
53230         nonnull.
53231
53232 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53233
53234         Merge changes to getloadavg.c from coreutils and Emacs.
53235
53236         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
53237         Define to an expression, not to the empty string.
53238         Include cloexec.h and xalloc.h.
53239         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
53240         Use set_cloexec_flag rather than rolling our own.
53241         * lib/cloexec.c, lib/cloexec.h: New files.
53242
53243 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53244
53245         * m4/cloexec.m4: New file.
53246
53247 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53248
53249         * lib/getopt.h: Sync with libc CVS.
53250
53251 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53252             Bruno Haible  <bruno@clisp.org>
53253
53254         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
53255         mbswidth.
53256
53257 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53258             Bruno Haible  <bruno@clisp.org>
53259
53260         * lib/mbswidth.h: Include <wchar.h> only if
53261         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
53262         <wchar.h>.
53263         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
53264
53265 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53266
53267         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
53268         Sync with libc CVS.
53269         * lib/getopt_int.h: New file, also synced from libc.
53270
53271 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53272
53273         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
53274         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
53275         Bring back getopt.c, getopt.h, getopt1.c.
53276
53277 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53278
53279         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
53280         All uses changed.  Check for sa_sigaction member; this fixes
53281         a bug first reported by Jason Andrade in
53282         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53283
53284 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53285
53286         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
53287         '#if' expressions.  Unlike the code it replaces, it does not
53288         depend on (defined _SC_PAGESIZE).  However, it does depend on
53289         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
53290         first reported by Jason Andrade in
53291         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53292
53293 2004-02-25  Simon Josefsson  <jas@extundo.com>
53294
53295         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
53296
53297 2004-02-25  Simon Josefsson  <jas@extundo.com>
53298
53299         * lib/strdup.h: New file.
53300         * lib/strdup.c: Include it.
53301         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
53302         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
53303
53304 2004-02-23  Karl Berry  <karl@gnu.org>
53305
53306         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
53307         (from fencepost.gnu.org:/gd/gnuorg).
53308
53309 2004-02-23  Karl Berry  <karl@gnu.org>
53310
53311         * config/srclistvars.sh (GNUORG) [karl]: redefine.
53312         * config/srclist.txt: add maintain/standards documents.
53313
53314 2004-02-18  Bruno Haible  <bruno@clisp.org>
53315
53316         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
53317         Reported by Derek Robert Price <derek@ximbiot.com>.
53318
53319 2004-02-16  Karl Berry  <karl@gnu.org>
53320
53321         * config/mkinstalldirs, install-sh: update from automake.
53322
53323 2004-02-06  Karl Berry  <karl@gnu.org>
53324
53325         * m4/po.m4: update from gettext 0.14.1.
53326
53327 2004-02-06  Karl Berry  <karl@gnu.org>
53328
53329         * lib/config.charset: update from gettext 0.14.1.
53330
53331 2004-02-05  Paul Eggert  <eggert@twinsun.com>
53332
53333         Add comments and code, prompted by suggestions from Bruno Haible
53334         for sh-quote.
53335         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
53336         describing the enum quoting_style values.
53337         * lib/quotearg.c (quotearg_alloc): New function.
53338         (quotearg_buffer_restyled): Treat lone { and } as special.
53339         Treat = as special.  Work around bug with older shells
53340         that "see" a '\' that is really the 2nd byte of a multibyte char.
53341         Quote empty string with shell_quoting_style.
53342
53343 2004-02-03  Bruno Haible  <bruno@clisp.org>
53344
53345         * m4/pipe.m4: New file, from GNU gettext.
53346
53347 2004-02-03  Bruno Haible  <bruno@clisp.org>
53348
53349         * lib/pipe.h: New file, from GNU gettext.
53350         * lib/pipe.c: New file, from GNU gettext.
53351
53352 2004-01-27  Bruno Haible  <bruno@clisp.org>
53353
53354         * m4/execute.m4: New file, from GNU gettext.
53355
53356 2004-01-27  Bruno Haible  <bruno@clisp.org>
53357
53358         * lib/execute.h: New file, from GNU gettext.
53359         * lib/execute.c: New file, from GNU gettext.
53360         * lib/w32spawn.h: New file, from GNU gettext.
53361
53362 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53363
53364         Merge from diffutils.
53365
53366         * lib/file-type.c (file_type): Add typed memory objects.
53367         * lib/file-type.h (S_TYPEISTMO): New macro.
53368
53369         * lib/c-stack.h (c_stack_action): Remove argv argument.
53370         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
53371         (die): Don't calculate message unless segv_action returns.
53372         (get_stack_location, min_address_from_argv, max_address_from_argv,
53373         volatile stack_base, volatile_stack_size): Remove.
53374         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
53375         that every segmentation violation is a stack overflow.  (Ouch!)
53376         See Debian bug 136249 (still outstanding) for more info about why
53377         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
53378
53379 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53380
53381         Exit-status fix from coreutils.
53382
53383         Use exit_failure consistently in place of EXIT_FAILURE,
53384         so that program exit statuses are consistent on failure.
53385
53386         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
53387         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
53388         * lib/argmatch.h: Comment fix to match the above.
53389         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
53390         Now a macro referring to exit_failure, instead of a separate
53391         variable.  Include "exitfail.h" to get it.
53392         * lib/xstrtol.h: Include "exitfail.h".
53393         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
53394
53395         * lib/long-options.c (parse_long_options): Use prototype
53396         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
53397         for clarity.
53398
53399 2004-01-21  Jim Meyering  <jim@meyering.net>
53400
53401         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
53402         so as not to conflict with a different-sized __mktime_internal
53403         function in GNU libc.
53404         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
53405         Problem building statically-linked `ls' reported by Michael Brunnbauer.
53406
53407 2004-01-20  Karl Berry  <karl@gnu.org>
53408
53409         * config/config.guess: update from config.
53410
53411         * config/srclistvars.sh: GNUWWWLICENSES for karl.
53412
53413 2004-01-20  Bruno Haible  <bruno@clisp.org>
53414
53415         Safer stack allocation.
53416         * lib/setenv.c: Include allocsa.h.
53417         (alloca): Remove fallback definition.
53418         (freea): Remove macro.
53419         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
53420         instead of freea.
53421
53422 2004-01-20  Bruno Haible  <bruno@clisp.org>
53423
53424         * m4/eealloc.m4: New file, from GNU gettext.
53425
53426 2004-01-20  Bruno Haible  <bruno@clisp.org>
53427
53428         * m4/allocsa.m4: New file, from GNU gettext.
53429
53430 2004-01-20  Bruno Haible  <bruno@clisp.org>
53431
53432         * lib/xallocsa.h: New file, from GNU gettext.
53433         * lib/xallocsa.c: New file, from GNU gettext.
53434
53435 2004-01-20  Bruno Haible  <bruno@clisp.org>
53436
53437         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
53438
53439 2004-01-20  Bruno Haible  <bruno@clisp.org>
53440
53441         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
53442         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
53443         specially.
53444
53445 2004-01-20  Bruno Haible  <bruno@clisp.org>
53446
53447         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
53448         patch.
53449
53450 2004-01-20  Bruno Haible  <bruno@clisp.org>
53451
53452         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
53453
53454 2004-01-20  Bruno Haible  <bruno@clisp.org>
53455
53456         * lib/eealloc.h: New file.
53457
53458 2004-01-20  Bruno Haible  <bruno@clisp.org>
53459
53460         * lib/binary-io.h: Avoid warnings on Cygwin.
53461
53462 2004-01-20  Bruno Haible  <bruno@clisp.org>
53463
53464         * lib/allocsa.h: New file, from GNU gettext.
53465         * lib/allocsa.c: New file, from GNU gettext.
53466
53467 2004-01-18  Karl Berry  <karl@gnu.org>
53468
53469         * doc/gpl.texi, doc/lgpl.texi: new files.
53470
53471 2004-01-18  Karl Berry  <karl@gnu.org>
53472
53473         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
53474         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
53475
53476 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53477
53478         Merge from coreutils.
53479
53480         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
53481         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
53482         (gl_DEFAULT_POSIX2_VERSION): Move
53483         the documentation from 'configure' into 'config.hin',
53484         so that 'configure --help' isn't burdened by it and
53485         we don't have to worry about its formatting there.
53486         Reword the documentation so that it's more succinct
53487         and can be run together into a single paragraph.
53488         * m4/same.m4 (gl_SAME): Check for pathconf.
53489
53490 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53491
53492         Merge from coreutils.
53493
53494         * lib/posixver.c: Include posixver.h.
53495
53496         * lib/same.c: Include <stdbool.h>, <limits.h>.
53497         (_POSIX_NAME_MAX): Define if not defined.
53498         (MIN): New macro.
53499         (same_name): If file names are silently truncated, report
53500         that the file names are the same if they are the same after
53501         the silent truncation.
53502
53503         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
53504         conversion function.
53505         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
53506         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
53507         longer needed.
53508
53509 2004-01-15  Jim Meyering  <jim@meyering.net>
53510
53511         Merge from coreutils.
53512
53513         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
53514         if no library is required.
53515         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
53516         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
53517         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
53518         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
53519         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
53520         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
53521         value, $ac_cv_search_crypt, if it's "none required".
53522         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
53523         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
53524         not gl_FUNC_GETLOADAVG.
53525         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
53526         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
53527
53528 2004-01-15  Jim Meyering  <jim@meyering.net>
53529
53530         Merge from coreutils.
53531
53532         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
53533         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
53534         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
53535
53536         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
53537         optional configure-time default.
53538
53539         * lib/version-etc.c (version_etc_copyright): Update copyright date.
53540
53541         * lib/xreadlink.c (xreadlink): Correct outdated comment.
53542
53543 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
53544
53545         Merge from coreutils.
53546
53547         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
53548         value, $ac_cv_search_nanosleep, if it's "none required".
53549
53550 2004-01-14  Paul Eggert  <eggert@twinsun.com>
53551
53552         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
53553         with like-named macro in fnmatch.c.
53554         (EXT): Use an internal constant instead.
53555
53556         Merge fnmatch patches from glibc.
53557         * lib/fnmatch.c (mbsinit): Remove define.
53558         Add libc_hidden_ver (__fnmatch, fnmatch).
53559         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
53560         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
53561
53562 2004-01-14  Karl Berry  <karl@gnu.org>
53563
53564         * config/install-sh: update from automake.
53565
53566 2004-01-13  Karl Berry  <karl@gnu.org>
53567
53568         * config/install-sh: update from automake.
53569
53570 2004-01-09  Karl Berry  <karl@gnu.org>
53571
53572         * config/install-sh: update from automake.
53573
53574 2004-01-05  Karl Berry  <karl@gnu.org>
53575
53576         * config/config.{sub,guess}: update from config.
53577
53578 2003-12-31  Karl Berry  <karl@gnu.org>
53579
53580         * config/depcomp: update from automake.
53581
53582 2003-12-14  Karl Berry  <karl@gnu.org>
53583
53584         * lib/config.charset: update from gettext-runtime.
53585
53586 2003-12-03  Paul Eggert  <eggert@twinsun.com>
53587
53588         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
53589         Bug reported by Alfred M. Szmidt.
53590
53591 2003-12-03  Bruno Haible  <bruno@clisp.org>
53592
53593         * m4/gettext.m4: Upgrade from gettext-0.13.
53594         * m4/po.m4: Upgrade from gettext-0.13.
53595         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
53596         * m4/intmax.m4: New file, from gettext-0.13.
53597         * m4/printf-posix.m4: New file, from gettext-0.13.
53598
53599 2003-11-29  Karl Berry  <karl@gnu.org>
53600
53601         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
53602
53603 2003-11-25  Paul Eggert  <eggert@twinsun.com>
53604             Bruno Haible  <bruno@clisp.org>
53605
53606         * lib/printf-parse.h: Don't include sys/types.h.
53607         (ARG_NONE): New macro.
53608         (char_directive): Change type of *arg_index fields to size_t.
53609         * lib/printf-parse.c: Don't include sys/types.h.
53610         (SSIZE_MAX): Remove macro.
53611         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
53612         Remove unnecessary overflow check.
53613         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
53614         fields.
53615
53616 2003-11-25  Bruno Haible  <bruno@clisp.org>
53617
53618         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
53619
53620 2003-11-25  Bruno Haible  <bruno@clisp.org>
53621
53622         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
53623         gt_TYPE_SSIZE_T.
53624
53625 2003-11-24  Paul Eggert  <eggert@twinsun.com>
53626
53627         * modules/alloca: Remove dependency on xalloc.
53628
53629 2003-11-24  Paul Eggert  <eggert@twinsun.com>
53630
53631         * lib/alloca.c: Remove dependency on xalloc module.
53632         (xalloc_die): Remove.
53633         (memory_full) [!defined emacs]: New macro.
53634         [!defined emacs]: Don't include xalloc.h.
53635         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
53636         address arithmetic overflows.  Change datatypes a bit to avoid
53637         unnecessary casts.
53638
53639 2003-11-22  Jim Meyering  <jim@meyering.net>
53640
53641         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
53642         s/size/size_t/.
53643
53644 2003-11-21  Karl Berry  <karl@gnu.org>
53645
53646         * config/config.{sub,guess}: update from config.
53647
53648 2003-11-18  Karl Berry  <karl@gnu.org>
53649
53650         * config/config.{sub,guess}: update from config.
53651
53652         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
53653
53654 2003-11-17  Paul Eggert  <eggert@twinsun.com>
53655
53656         * README: Mention that S+T cannot overflow if S is the size of
53657         an existing object and T is sufficiently small.
53658
53659 2003-11-17  Jim Meyering  <jim@meyering.net>
53660
53661         On systems without utime and without a utimes function capable of
53662         dealing with a NULL struct utimbuf* argument, this utime replacement
53663         could -- in unusual circumstances -- leak a file descriptor.
53664         * lib/utime.c: Include <unistd.h> and <errno.h>.
53665         (utime_null): Be sure to close `fd' and to preserve errno.
53666         Reported by Geoff Collyer via Arnold Robbins.
53667
53668 2003-11-17  Bruno Haible  <bruno@clisp.org>
53669
53670         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
53671         (Depends-on): Add xsize.
53672
53673 2003-11-17  Bruno Haible  <bruno@clisp.org>
53674
53675         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
53676
53677 2003-11-17  Bruno Haible  <bruno@clisp.org>
53678
53679         * lib/vasnprintf.c (alloca): Remove fallback definition.
53680         (freea): Remove definition.
53681         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
53682         Reported by Paul Eggert.
53683
53684 2003-11-16  Paul Eggert  <eggert@twinsun.com>
53685             Bruno Haible  <bruno@clisp.org>
53686
53687         Protect against address arithmetic overflow.
53688         * lib/printf-args.h: Include stddef.h.
53689         (arguments): Change type of field 'count' to size_t.
53690         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
53691         'unsigned int' where appropriate.
53692         * lib/printf-parse.h: Include sys/types.h.
53693         (char_directive): Change type of *arg_index fields to ssize_t.
53694         (char_directives): Change type of fields 'count', max_*_length to
53695         size_t.
53696         * lib/printf-parse.c: Include sys/types.h and xsize.h.
53697         (SSIZE_MAX): Define fallback value.
53698         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
53699         instead of 'int' where appropriate. Check a_allocated, d_allocated
53700         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
53701         * lib/vasnprintf.c: Include xsize.h.
53702         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
53703         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
53704         overflow. Avoid wraparound when converting a width or precision from
53705         decimal to binary.
53706
53707 2003-11-16  Bruno Haible  <bruno@clisp.org>
53708
53709         Update from GNU gettext.
53710         * lib/printf-parse.c: Generalize to it can be compiled for wide
53711         strings.
53712         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
53713         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
53714         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
53715         SNPRINTF): New macros.
53716         Don't include <alloca.h> if the file is used inside libintl.
53717         (local_wcslen): New function, for Solaris 2.5.1.
53718         (VASNPRINTF): Use it instead of wcslen.
53719
53720 2003-11-16  Bruno Haible  <bruno@clisp.org>
53721
53722         * lib/xsize.h (xmax): New function.
53723         (xsum, xsum3, xsum4): Declare as "pure" functions.
53724
53725 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53726
53727         * modules/xalloc (Files): Undo latest change, since xalloc.h
53728         no longer needs SIZE_MAX or PTRDIFF_MAX.
53729
53730 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53731
53732         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
53733         gl_PTRDIFF_MAX.
53734
53735 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53736
53737         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
53738         "return", to pacify some unknown compiler.  Problem reported
53739         by Joerg Schilling.
53740
53741 2003-11-12  Paul Eggert  <eggert@twinsun.com>
53742
53743         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
53744         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
53745         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
53746         heuristic is just as accurate as far as we know, and it removes a
53747         dependency on size_max.m4 and ptrdiff_max.m4.
53748
53749 2003-11-11  Bruno Haible  <bruno@clisp.org>
53750
53751         * modules/xsize (Files): Add m4/size_max.m4.
53752         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
53753
53754 2003-11-11  Bruno Haible  <bruno@clisp.org>
53755
53756         * m4/size_max.m4: New file.
53757         * m4/ptrdiff_max.m4: New file.
53758         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
53759         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
53760         (gl_XALLOC): Invoke it.
53761
53762 2003-11-11  Bruno Haible  <bruno@clisp.org>
53763
53764         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
53765         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
53766         defined.
53767
53768 2003-11-10  Paul Eggert  <eggert@twinsun.com>
53769
53770         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
53771         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
53772         rejected some allocations of exactly SIZE_MAX - 2 bytes.
53773         From Bruno Haible.
53774         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
53775         not (size_t) -1, since it's defined here.
53776
53777 2003-11-09  Karl Berry  <karl@gnu.org>
53778
53779         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
53780
53781 2003-11-06  Paul Eggert  <eggert@twinsun.com>
53782
53783         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
53784         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
53785         Reject sizes of exactly SIZE_MAX bytes.
53786         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
53787         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
53788
53789 2003-11-05  Bruno Haible  <bruno@clisp.org>
53790
53791         * lib/xsize.h: Include limits.h, to avoid a possible collision with
53792         SIZE_MAX defined in <limits.h> on Solaris.
53793
53794 2003-11-04  Jim Meyering  <jim@meyering.net>
53795
53796         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
53797         variable names, rather than @VAR@.
53798         * modules/poll: Likewise.
53799
53800 2003-11-04  Bruno Haible  <bruno@clisp.org>
53801
53802         * modules/xsize: New file.
53803         * modules/linebreak: Depend on xsize.
53804         * MODULES.html.sh (func_all_modules): Add xsize.
53805
53806 2003-11-04  Bruno Haible  <bruno@clisp.org>
53807
53808         * m4/xsize.m4: New file.
53809
53810 2003-11-04  Bruno Haible  <bruno@clisp.org>
53811
53812         * lib/xsize.h: New file.
53813         * lib/linebreak.c: Include xsize.h.
53814         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
53815         argument for overflow.
53816         Suggested by Paul Eggert.
53817
53818 2003-11-03  Karl Berry  <karl@gnu.org>
53819
53820         * config/config.{guess,sub}: update from config.
53821
53822 2003-11-03  Jim Meyering  <jim@meyering.net>
53823
53824         * modules/userspec (lib_SOURCES): Add userspec.h.
53825         (Include): Add "userspec.h".
53826         Improve description.
53827
53828 2003-11-03  Jim Meyering  <jim@meyering.net>
53829
53830         * lib/userspec.c: Include "userspec.h".
53831         * lib/userspec.h: New file.
53832
53833 2003-11-03  Bruno Haible  <bruno@clisp.org>
53834
53835         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
53836
53837 2003-11-03  Bruno Haible  <bruno@clisp.org>
53838
53839         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
53840         available, to avoid (extremely rare) race condition.
53841         Suggested by Paul Eggert.
53842
53843 2003-11-02  Karl Berry  <karl@gnu.org>
53844
53845         * config/srclist.txt (vasprintf.c): sync broken, sigh.
53846
53847 2003-10-31  Paul Eggert  <eggert@twinsun.com>
53848
53849         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
53850         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
53851         (read_filesystem_list): Set and use me_type_malloced.
53852         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
53853         whatever the type happens to be), for brevity and consistency.
53854         Check for size calculation overflow on Alphas running OSF/1.
53855
53856 2003-10-31  Jim Meyering  <jim@meyering.net>
53857
53858         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
53859
53860         * lib/linebuffer.c: Include <string.h> for declaration of memset.
53861
53862 2003-10-30  Paul Eggert  <eggert@twinsun.com>
53863             Bruno Haible  <bruno@clisp.org>
53864
53865         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
53866         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
53867
53868 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
53869
53870         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
53871         netbsd*-gnu*.  Suggested by Robert Millan.
53872
53873 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53874
53875         * modules/group-member: Depend on stdbool.
53876
53877 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53878
53879         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
53880
53881 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53882
53883         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
53884         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
53885         after the 'gnu' in these cases.  This fixes some bugs in the
53886         previous change, and is based on suggestions by Robert Millan.
53887
53888 2003-10-29  Paul Eggert  <eggert@twinsun.com>
53889
53890         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
53891         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
53892         no longer needed.
53893         * lib/quotearg.c (quotearg_n_options): Use it.
53894         * lib/group-member.c: Include <stdbool.h>.
53895         (free_group_info): Arg is now const *; don't free arg.
53896         (get_group_info): Now returns bool and accepts struct group_info *,
53897         rather than returning a malloc'ed struct group_info *.
53898         All uses changed.  Check for overflow in internal size calculation.
53899
53900         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
53901         rather than xmalloc/xrealloc.
53902         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
53903         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
53904         conformance bug: the old code used a pointer after freeing the
53905         storage that it addressed.
53906         * lib/hash.c (hash_initialize): Simplify the code by using
53907         xalloc_oversized rather than doing it by hand.
53908         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
53909         the buffer preserved.  Use free and xmalloc instead.
53910         * lib/quotearg.c (quotearg_n_options): Likewise.
53911         Use a simpler test for size overflow.  Don't use xalloc_oversized
53912         because unsigned int might be wider than size_t (!); this suggests
53913         that we should switch from unsigned int to size_t for slot numbers.
53914
53915 2003-10-28  Paul Eggert  <eggert@twinsun.com>
53916
53917         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
53918         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
53919         NetBSD kernels.  Requested by Richard Stallman.
53920
53921 2003-10-27  Paul Eggert  <eggert@twinsun.com>
53922
53923         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
53924         to allocate the returned structure.  Do not allocate a subarray,
53925         as x2nrealloc will do that.
53926         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
53927         instead of xnrealloc.
53928         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
53929
53930 2003-10-27  Bruno Haible  <bruno@clisp.org>
53931
53932         * lib/stdbool_.h: Better support for BeOS.
53933
53934 2003-10-26  Paul Eggert  <eggert@twinsun.com>
53935
53936         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
53937         now uses inline.
53938
53939 2003-10-26  Paul Eggert  <eggert@twinsun.com>
53940
53941         * lib/xalloc.h (xalloc_oversized): New static inline function, for
53942         callers that want to do their own size-overflow checking.  Include
53943         <stdbool.h>, since xalloc_oversized returns bool.
53944         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
53945         to use xalloc_oversized.
53946
53947         Add two functions x2realloc, x2nrealloc, for programs that grow
53948         arrays dynamically by doubling their sizes.
53949         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
53950         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
53951         New functions.
53952
53953         Port to C99 semantics for 'inline' of external functions.
53954         Bug reported by Bruno Haible.
53955         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
53956         with the old contents of xnmalloc.
53957         (xnmalloc, xmalloc): Use it.
53958         (xnrealloc_inline): New static inline function,
53959         with the old contents of xnrealloc.
53960         (xnrealloc, xrealloc): Use it.
53961
53962         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
53963         that.
53964
53965 2003-10-26  Karl Berry  <karl@gnu.org>
53966
53967         * config/srclist.txt (COPYING.DOC): no longer available from
53968         /gd/gnuorg; don't know where the ultimate source is.
53969
53970 2003-10-25  Paul Eggert  <eggert@twinsun.com>
53971
53972         Fix several address-calculation bugs in the hash modules,
53973         plus some minor code cleanup.
53974
53975         * lib/hash.h: Include <stdbool.h>, for bool.
53976         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
53977         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
53978         hash_get_n_entries, hash_get_max_bucket_length,
53979         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
53980         hash_rehash): Use size_t rather than unsigned.
53981         * lib/hash.c (struct hash_table, hash_get_n_buckets,
53982         hash_get_n_buckets_used, hash_get_n_entries,
53983         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
53984         hash_get_entries, hash_do_for_each, hash_string, is_prime,
53985         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
53986         Likewise.
53987         (SIZE_MAX): Define if not defined.
53988         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
53989         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
53990         hash_print):
53991         Use const * when possible.
53992         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
53993         (check_tuning): Fix bug: if tuning parameters were very close to
53994         0 or 1, rounding errors could have caused subscript violations.
53995         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
53996         (hash_initialize): Add 'fail:' label
53997         to free table and return NULL, and use it to simplify code.
53998         Use calloc rather than clearing the storage ourself.
53999         (hash_initialize, hash_rehash): Check for arithmetic overflow in
54000         buffer size calculations.
54001         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
54002         Include <stddef.h>, for size_t.
54003         * lib/hash-pjw.c (hash_pjw): Likewise.
54004         Switch to method described by Bruno Haible.
54005         Include <limits.h>, for CHAR_BIT.
54006         (SIZE_BITS): New macro.
54007
54008 2003-10-23  Paul Eggert  <eggert@twinsun.com>
54009
54010         * m4/getline.m4 (AM_FUNC_GETLINE):
54011         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
54012         hosts.  Problem reported by Derek Robert Price in
54013         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
54014         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
54015         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
54016
54017 2003-10-21  Paul Eggert  <eggert@twinsun.com>
54018
54019         * lib/getndelim2.c (getndelim2): When size calculation overflows,
54020         ceiling the allocation at NMAX bytes rather than silently
54021         discarding input bytes before NMAX is reached.  This makes
54022         a difference only if NMAX exceeds SIZE_MAX / 2.
54023
54024         * lib/obstack.c: Merge from glibc.
54025         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
54026         Add libc_hidden_def (_obstack_newchunk).
54027         (_obstack_free) [! defined _LIBC]: Remove.
54028         [defined _LIBC]: Make a strong alias from obstack_free, rather than
54029         a clone of the function body.
54030         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
54031         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
54032
54033         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
54034         glibc.
54035         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
54036         arg to memcpy.
54037
54038         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
54039         (obstack_ptr_grow_fast, obstack_int_grow_fast):
54040         Don't use lvalue casts, as GCC plans to remove support for them
54041         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
54042         was also present in the non-GCC version, indicating that this
54043         code had always been buggy and had never been widely used.
54044         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
54045         Use the fast variant of each macro, rather than copying the
54046         definiens of the fast variant; that way, we'll be more likely to
54047         catch future bugs in the fast variants.
54048
54049 2003-10-20  Bruno Haible  <bruno@clisp.org>
54050
54051         * modules/wait-process: New file.
54052         * MODULES.html.sh (func_all_modules): Add wait-process.
54053
54054 2003-10-20  Bruno Haible  <bruno@clisp.org>
54055
54056         * m4/wait-process.m4: New file.
54057
54058 2003-10-20  Bruno Haible  <bruno@clisp.org>
54059
54060         * lib/wait-process.h: New file, from GNU gettext.
54061         * lib/wait-process.c: New file, from GNU gettext.
54062
54063 2003-10-19  Jim Meyering  <jim@meyering.net>
54064
54065         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
54066         HPUX 10.20.
54067
54068 2003-10-18  Karl Berry  <karl@gnu.org>
54069
54070         * config/config.guess: update from config.
54071
54072 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54073
54074         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
54075         (getgroups): First arg is int, not size_t.
54076         Don't let 'free' mangle errno.
54077
54078 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54079
54080         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
54081
54082 2003-10-16  Karl Berry  <karl@gnu.org>
54083
54084         * config/config.{guess,sub}: update from config.
54085
54086 2003-10-16  Jim Meyering  <jim@meyering.net>
54087
54088         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
54089         memcpy.
54090
54091 2003-10-15  Paul Eggert  <eggert@twinsun.com>
54092
54093         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
54094         (SIZE_MAX): Remove.
54095         (new_exclude, add_exclude_file): Initial size no longer needs to
54096         be a power of 2.
54097         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
54098         our own address arithmetic overflow checking.
54099
54100         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
54101         (fnmatch): Do not alloca more than 2000 wide characters;
54102         instead, use malloc for large buffers.
54103         Check for address arithmetic overflow, and return -1
54104         with errno set to ENOMEM in that case.
54105         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
54106         (NEW_PATTERN): Do not alloca more than 8000 bytes;
54107         instead, return -1.  Check for address arithmetic overflow.
54108
54109 2003-10-14  Paul Eggert  <eggert@twinsun.com>
54110
54111         Handle invalid suffixes and overflow independently, so that
54112         callers can treat them independently as needed.  Fix some bugs in
54113         suffix handling, e.g., "100k@" was not diagnosed as an invalid
54114         suffix for a human-readable blocksize.  The major caller-visible
54115         change is the addition of a new
54116         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
54117         that both overflow and suffix chars were found.
54118
54119         * lib/human.c (humblock): Don't check separately for invalid suffix
54120         char; that is xstrtoumax's job (now that its bug is fixed).
54121         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
54122         INTMAX_MAX]: New macros.
54123         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
54124         TYPE_MAXIMUM): New macros.
54125         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
54126         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
54127         if overflow occurs, as it's what __strtol does and it's more useful
54128         in practice.
54129         (__xstrtol): If __strtol reports some error other than ERANGE,
54130         reflect it to the caller as LONGINT_INVALID.  If it reports
54131         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
54132         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
54133         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
54134         value.
54135         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
54136         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
54137         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
54138         [defined UINTMAX_MAX]: New macros.
54139
54140 2003-10-14  Bruno Haible  <bruno@clisp.org>
54141
54142         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
54143
54144 2003-10-14  Bruno Haible  <bruno@clisp.org>
54145
54146         * m4/sig_atomic_t: New file, from GNU gettext.
54147         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
54148
54149 2003-10-14  Bruno Haible  <bruno@clisp.org>
54150
54151         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
54152         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
54153         Also use volatile where needed.
54154
54155 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54156
54157         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
54158         Change maintainer from Bruno Haible to 'all'.
54159
54160 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54161
54162         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
54163
54164 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54165
54166         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
54167         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
54168         and define in terms of the other primitives.
54169         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
54170         (SIZE_MAX): Define if not already defined.
54171         (array_size_overflow): New function.
54172         (xalloc_die): Abort instead of exiting if 'error' returns.
54173         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
54174         (xmalloc, xrealloc): Use them.
54175         (xcalloc): Check for address arithmetic overflow.
54176         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
54177         a bit faster than strcpy.
54178
54179 2003-10-10  Simon Josefsson  <jas@extundo.com>
54180
54181         * modules/argp (Depends-on): Add restrict and strcase.
54182
54183 2003-10-10  Simon Josefsson  <jas@extundo.com>
54184
54185         * m4/argp.m4: Add AC_C_INLINE.
54186
54187 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54188
54189         Merge getpass from libc, plus a few fixes.
54190
54191         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
54192         Include <stdbool.h>.
54193         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
54194         __fsetlocking to empty.
54195         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
54196         do include <bits/libc-lock.h>.
54197         Do not include <fcntl.h>; not needed.
54198         [_LIBC]: Include <wchar.h>.
54199         (NOTCANCEL_MODE): New macro.
54200         (flockfile, funlockfile) [_LIBC]: New macros.
54201         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
54202         [!_LIBC]: New macros.
54203         (call_fclose): New function.
54204         (getpass): Use it.  Save tty stream separately; this simplifies the
54205         code and makes it more reliable if stdin happens to equal stdout.
54206         Invoke __fsetlocking on tty.
54207         Handle thread cancellation if needed.
54208         Namespace cleanup (use __tcgetattr, __getline).
54209         Use bool for Booleans.
54210         [USE_IN_LIBIO]: Handle wide streams.
54211         [!_LIBC]: Unconditionally do the fseek, since we don't know what
54212         stream might go where.
54213
54214         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
54215         doesn't have to include <stdio.h> before us.
54216         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
54217         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
54218         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
54219         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
54220         if not declared, so that we can use getpass.c code from libc without
54221         rewriting it.
54222         (flockfile, ftrylockfile, funlockfile): New macros.
54223
54224 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54225
54226         * modules/getpass: Depend on stdbool.
54227
54228 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54229
54230         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
54231
54232 2003-10-07  Karl Berry  <karl@gnu.org>
54233
54234         * config/config.{guess,sub}: update from config.
54235
54236 2003-10-06  Jim Meyering  <jim@meyering.net>
54237             Bruno Haible  <bruno@clisp.org>
54238
54239         This lets translators provide better translations for the
54240         "Written by ..." part of --version output.
54241         * lib/version-etc.h: Include stdarg.h.
54242         (version_etc_copyright): Declare as readonly.
54243         (version_etc): Make this function variadic with a NULL-terminated list
54244         of author name strings.
54245         (version_etc_va): New declaration.
54246         * lib/version-etc.c: Include stdarg.h, stdlib.h.
54247         (version_etc_copyright): Declare as readonly.
54248         (version_etc_va): New function. Provide a different translatable string
54249         for each possible number of authors < 10. Abbreviate when there are 10
54250         authors or more.
54251         (version_etc): Make this function variadic. Call version_etc_va.
54252         Suggestion from Gary V. Vaughan.
54253
54254         * lib/long-options.h (parse_long_options): Change prototype: the
54255         authors string is moved to the end and becomes variadic.
54256         * lib/long-options.c: Include stdarg.h.
54257         (parse_long_options): Make this function variadic, too.
54258         Call version_etc_va, not version_etc.
54259
54260 2003-10-06  Bruno Haible  <bruno@clisp.org>
54261
54262         * modules/version-etc-2: Remove file.
54263         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
54264
54265 2003-10-06  Bruno Haible  <bruno@clisp.org>
54266
54267         * modules/fatal-signal: New file.
54268         * MODULES.html.sh (func_all_modules): Add fatal-signal.
54269
54270 2003-10-06  Bruno Haible  <bruno@clisp.org>
54271
54272         * m4/fatal-signal.m4: New file.
54273         * m4/signalblocking.m4: New file, from GNU gettext.
54274
54275 2003-10-06  Bruno Haible  <bruno@clisp.org>
54276
54277         * lib/version-etc-2.h: Remove file.
54278         * lib/version-etc-2.c: Remove file.
54279
54280 2003-10-06  Bruno Haible  <bruno@clisp.org>
54281
54282         * lib/fatal-signal.h: New file, from GNU gettext.
54283         * lib/fatal-signal.c: New file, from GNU gettext.
54284
54285 2003-10-05  Paul Eggert  <eggert@twinsun.com>
54286
54287         * README: Rework advice for preventing empty .o files.
54288         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
54289         not <sys/types.h>.
54290
54291 2003-10-04  Karl Berry  <karl@gnu.org>
54292
54293         * lib/argp*: update from libc.
54294
54295 2003-10-04  Karl Berry  <karl@gnu.org>
54296
54297         * config/config.{guess,sub}: update from config.
54298
54299 2003-10-02  Bruno Haible  <bruno@clisp.org>
54300
54301         * modules/lchown (Include): Add lchown.h.
54302         * modules/time_r (Include): Use "..." syntax.
54303         * modules/xgetdomainname (Include): Add xgetdomainname.h.
54304
54305 2003-10-01  Simon Josefsson  <jas@extundo.com>
54306
54307         * MODULES.html.sh (func_all_modules): Move gethostname from section
54308         'based on' to section 'lacking' POSIX:2001.
54309
54310 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
54311
54312         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
54313         to output mode on the same stream.
54314
54315 2003-09-29  Paul Eggert  <eggert@twinsun.com>
54316
54317         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
54318         Fix arg typo in previous patch.
54319
54320 2003-09-28  Jim Meyering  <jim@meyering.net>
54321
54322         * lib/error.c: Correct cpp indentation.
54323
54324 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54325
54326         * modules/free: New file.
54327
54328 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54329
54330         * m4/free.m4: New file.
54331
54332 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54333
54334         * lib/minmax.h (MIN, MAX)
54335         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
54336         Omit the special code that used __typeof__, since we worry that
54337         it could be more trouble than it's worth.  See:
54338         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
54339         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
54340
54341         * lib/free.c: New file.
54342
54343 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
54344
54345         Trivial fixes to Makefile.am parts of module listings.
54346         * modules/strstr: Append strstr.h to lib_SOURCES.
54347         * modules/strcase: Likewise, for strcase.h.
54348
54349 2003-09-27  Karl Berry  <karl@gnu.org>
54350
54351         * config/mkinstalldirs: update from automake.
54352
54353 2003-09-26  Paul Eggert  <eggert@twinsun.com>
54354
54355         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
54356         (error_tail): Do not loop, reallocating temporary buffer, since
54357         the output cannot contain more wide characters than the input
54358         contains bytes, the size must be big enough already.  This avoids
54359         one potential size overflow calculation.  Check for size overflow
54360         when calculating temporary buffer size.  Free temporary buffer
54361         when done, if it was allocated with malloc; this plugs a memory
54362         leak.  Remove casts from void * to pointers, that are no longer
54363         needed now that we're assuming C89 or better.
54364
54365         Merge error changes from glibc.
54366
54367         * lib/error.c, error.h: Update copyright notice header to match glibc.
54368         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
54369         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
54370         Disable cancellation while printing error.
54371         * lib/error.h: Prepend __ to parameter names.
54372
54373 2003-09-26  Jim Meyering  <jim@meyering.net>
54374
54375         * lib/error.c (error_tail): Move some declarations
54376         into inner scope where the local variables are used.
54377
54378 2003-09-26  Bruno Haible  <bruno@clisp.org>
54379
54380         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
54381         stpncpy().
54382         Don't define stpncpy through config.h; it's now done through stpncpy.h.
54383
54384 2003-09-26  Bruno Haible  <bruno@clisp.org>
54385
54386         * lib/stpncpy.h (gnu_stpncpy): New declaration.
54387         (stpncpy): Define as alias for gnu_stpncpy.
54388         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
54389
54390 2003-09-25  Simon Josefsson  <jas@extundo.com>
54391
54392         * lib/xgetdomainname.h: New file.
54393         * lib/xgetdomainname.c: New file.
54394
54395 2003-09-25  Simon Josefsson  <jas@extundo.com>
54396             Bruno Haible  <bruno@clisp.org>
54397
54398         * modules/getdomainname: New file.
54399         * modules/xgetdomainname: New file.
54400         * MODULES.html.sh (func_all_modules): Add getdomainname,
54401         xgetdomainname.
54402
54403 2003-09-25  Simon Josefsson  <jas@extundo.com>
54404             Bruno Haible  <bruno@clisp.org>
54405
54406         * m4/getdomainname.m4: New file.
54407
54408 2003-09-25  Simon Josefsson  <jas@extundo.com>
54409             Bruno Haible  <bruno@clisp.org>
54410
54411         * lib/getdomainname.h: New file.
54412         * lib/getdomainname.c: New file.
54413
54414 2003-09-25  Karl Berry  <karl@gnu.org>
54415
54416         * lib/argp-fmtstream.c, argp-help.c: update from libc.
54417
54418 2003-09-25  Karl Berry  <karl@gnu.org>
54419
54420         * config/install-sh: update from automake.
54421
54422 2003-09-25  Bruno Haible  <bruno@clisp.org>
54423
54424         * modules/version-etc-2: New file, from modules/version-etc with
54425         modifications.
54426         * MODULES.html.sh (func_all_modules): Add version-etc-2.
54427
54428 2003-09-25  Bruno Haible  <bruno@clisp.org>
54429
54430         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
54431         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
54432
54433 2003-09-24  Simon Josefsson  <jas@extundo.com>
54434
54435         * modules/xgethostname: Add xgethostname.h.
54436
54437 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54438
54439         * lib/linebuffer.c (freebuffer): Don't free the argument, just
54440         the buffer associated with the argument.  Bug reported by
54441         Simon Josefsson.
54442
54443 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54444
54445         * README: Document assumptions that 'int' is at least 32 bits
54446         wide, that integer arithmetic is 2's complement without overflow,
54447         that there are no holes in integer values, that adding sizes of
54448         two nonoverlapping objects can't overflow, and that all-bits-zero
54449         yields scalar zero.  Fix spelling and capitalization typos.
54450
54451 2003-09-19  Karl Berry  <karl@gnu.org>
54452
54453         * lib/argp.h: update from libc.
54454
54455 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54456
54457         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
54458         to avoid spurious warnings like "AC_RUN_IFELSE was called before
54459         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
54460
54461 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54462
54463         * gnulib-tool: Use "test -h", not "test -L", for portability
54464         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
54465         (tags_regexp): Remove, since \| doesn't conform to POSIX.
54466         (sed_extract_prog): Issue s commands one-by-one, rather than
54467         using \| in one s command.
54468
54469 2003-09-16  Paul Eggert  <eggert@twinsun.com>
54470
54471         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
54472         input error, instead of returning NULL the next time we are called
54473         (and therefore losing track of errno).
54474
54475 2003-09-16  Bruno Haible  <bruno@clisp.org>
54476
54477         * gnulib-tool (func_create_testdir): Warn about duplicated
54478         dependencies.
54479
54480 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54481
54482         * modules/argmatch, modules/fatal, modules/obstack,
54483         modules/xalloc, modules/xgethostname: Sort dependencies by
54484         importance, not alphabetically.
54485
54486 2003-09-15  Paul Eggert  <eggert@twinsun.com>
54487
54488         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
54489         fails, so that the caller gets the proper errno.
54490
54491         * lib/readutmp.c (read_utmp): Likewise.
54492         Check for fstat error.  Close stream and free storage
54493         when failing.
54494
54495 2003-09-14  Karl Berry  <karl@gnu.org>
54496
54497         * config/srclist.txt (strdup.c): disable for c89 changes.
54498
54499 2003-09-14  Jim Meyering  <jim@meyering.net>
54500
54501         * lib/getloadavg.c: Correct cpp indentation.
54502         * lib/strdup.c: Likewise.
54503         * lib/vasnprintf.c: Likewise.
54504
54505 2003-09-14  Bruno Haible  <bruno@clisp.org>
54506
54507         * modules/fwriteerror: New file.
54508         * MODULES.html.sh (func_all_modules): Add fwriteerror.
54509
54510 2003-09-14  Bruno Haible  <bruno@clisp.org>
54511
54512         * lib/fwriteerror.h: New file.
54513         * lib/fwriteerror.c: New file.
54514
54515 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54516
54517         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
54518         modules/xgethostname, modules/xalloc: Depend on exit.
54519
54520 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54521
54522         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
54523
54524         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
54525         and AC_MINIX, too, so that their extensions are available.
54526
54527         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
54528         This macro has been superseded by gl_BACKUPFILE.
54529
54530         More patches to assume C89 or better.
54531
54532         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
54533
54534         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
54535         unconditionally.
54536         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
54537         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
54538         Include <string.h>, <stdlib.h> unconditionally.
54539         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
54540         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
54541         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
54542         headers or for string.h.
54543         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
54544         or strtoul.
54545
54546         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
54547         headers.
54548         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
54549         * m4/userspec.m4 (gl_USERSPEC): Likewise.
54550         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
54551         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
54552         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54553         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
54554         memcpy, memset.
54555         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
54556         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
54557         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
54558         strtol.
54559         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
54560         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
54561         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
54562         strtoul.
54563
54564 2003-09-12  Paul Eggert  <eggert@twinsun.com>
54565
54566         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
54567         * lib/obstack.c [!defined _LIBC]: Likewise.
54568         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
54569         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
54570         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
54571
54572         More changes to assume C89 or better.
54573
54574         * lib/error.c (error_tail): Assume vprintf.
54575
54576         * lib/argmatch.c (getenv): Remove decl.
54577         * lib/progreloc.c (get_full_program_name): Define via prototype.
54578         * lib/setenv.c (clearenv): Likewise.
54579         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
54580         needed.
54581         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
54582         (malloc, memcpy): Remove decls.
54583         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
54584         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
54585         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54586         (memcpy): Remove macro.
54587         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
54588         (__P): Remove.  All uses removed.
54589         (PTR): Remove.  All uses changed to void *.
54590         (CHAR_BIT, NULL): Remove.
54591         (spaces, zeros, memset_space, memset_zero)
54592         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
54593         Remove.
54594         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
54595         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
54596         Define with prototype.
54597         Remove now-unnecessary prototype decl.
54598         (extra_args_spec): Assume ANSI C.  All uses changed.
54599         (extra_args_spec_iso): Remove.
54600         (my_strftime, emacs_strftimeu): Define via prototype.
54601         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
54602         unconditionally.
54603         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
54604         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
54605         (strtoul, strtol): Remove decls.
54606         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
54607         LONG_MAX): Remove.
54608         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
54609         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
54610         (LOCALE_PARAM_PROTO): New macro.
54611         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
54612         (INTERNAL (strtol), strtol): Define with a prototype.
54613         (PARAMS): Remove.  All uses removed.
54614         * lib/tempname.c: Include <string.h> unconditionally.
54615         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
54616         * lib/xgethostname.c (main): Define with a prototype.
54617         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
54618         Include <stdlib.h> unconditionally.
54619         (calloc, malloc, realloc, free): Remove decls.
54620         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
54621         Include <stdlib.h> unconditionally.  Sort include file names.
54622         (strtod): Remove.
54623         (xstrtod): Define with a prototype.
54624         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
54625         (strtol, strtoul): Remove decls.
54626
54627 2003-09-11  Paul Eggert  <eggert@twinsun.com>
54628
54629         More patches to assume C89 or better.
54630         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
54631         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
54632         string.h, memchr, STDC_HEADERS.
54633
54634 2003-09-11  Paul Eggert  <eggert@twinsun.com>
54635
54636         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
54637         Include <stdlib.h>, <string.h> unconditionally.
54638         Remove now-unnecessary cast to char *.
54639         * lib/strnlen.c: Include <string.h> unconditionally.
54640         * lib/yesno.c (yesno): Define with a prototype.
54641
54642 2003-09-11  Bruno Haible  <bruno@clisp.org>
54643
54644         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
54645
54646 2003-09-10  Jim Meyering  <jim@meyering.net>
54647
54648         * lib/error.c: Correct indentation of cpp directives.
54649
54650 2003-09-10  Bruno Haible  <bruno@clisp.org>
54651
54652         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
54653         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
54654         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
54655         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
54656         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
54657         <stdlib.h> and <string.h> checks.
54658         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
54659         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
54660
54661 2003-09-10  Bruno Haible  <bruno@clisp.org>
54662
54663         * lib/strcspn.c: Include <string.h> unconditionally.
54664         * lib/strpbrk.c: Include <string.h> unconditionally.
54665         * lib/strstr.c: Include <string.h> unconditionally.
54666         * lib/unicodeio.c: Include <string.h> unconditionally.
54667         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
54668         * lib/unsetenv.c: Likewise.
54669         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
54670         * lib/yesno.c: Include <stdlib.h> unconditionally.
54671         (rpmatch): Add prototype.
54672
54673 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54674
54675         More patches to assume C89 or better.
54676         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
54677         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
54678         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
54679         or for string.h.
54680         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
54681         stdlib.h.
54682         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
54683         C headers.
54684         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
54685         string.h.
54686         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
54687         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
54688         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
54689         or for string.h.
54690         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
54691         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
54692         C headers.
54693         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
54694         memcpy.
54695         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
54696         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
54697         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
54698         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
54699         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
54700         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
54701         string.h, free.
54702         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
54703         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
54704         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
54705         C headers, or for string.h.
54706         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
54707         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
54708         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
54709         headers, memory.h, stdlib.h, string.h, strings.h.
54710         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
54711         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
54712         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
54713         strchr.
54714         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
54715         headers, memory.h, string.h.
54716         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
54717         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
54718         free.
54719         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
54720         headers.
54721         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
54722         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
54723         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
54724         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
54725         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
54726
54727 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54728
54729         More K&R removal.
54730
54731         * lib/acosl.c (main): Use a prototype.
54732         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
54733         tanl.c: Likewise.
54734
54735         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
54736
54737         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
54738         (getopt, etopt_long, getopt_long_only, _getopt_internal)
54739         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
54740         with a prototype.
54741         * lib/getopt.c (const): Remove macro.
54742         Include <string.h> unconditionally.
54743         (my_index): Remove; all uses changed to strchr.
54744         (strlen): Remove decl.
54745         (exchange): Remove forward decl; no longer needed.
54746         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
54747         Define with prototype.
54748         * lib/getopt1.c (const): Remove macro.
54749         (getopt_long, getopt_long_only, main): Define with prototype.
54750
54751         * lib/getugroups.c: Include <string.h> unconditionally.
54752
54753         * lib/getusershell.c: Include <stdlib.h> unconditionally.
54754         (getusershell, setusershell, endusershell, readname, main):
54755         Define with prototypes.
54756
54757         * lib/group-member.c: Include group-member.h first.
54758         Include <stdlib.h> unconditionally.
54759
54760         * lib/hard-locale.c: Include hard-locale.h first.
54761         Include <stdlib.h>, <string.h> unconditionally.
54762
54763         * lib/hash.c (free, malloc): Remove decls.
54764         Include <stdlib.h> unconditionally.
54765
54766         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
54767         (getenv): Do not declare.
54768
54769         * lib/idcache.c: Include <string.h> unconditionally.
54770
54771         * lib/long-options.c: Include long-options.h first, to test interface.
54772         Include <stdlib.h> unconditionally.
54773
54774         * lib/makepath.c: Include makepath.h first, to test interface.
54775         Include <stdlib.h> and <string.h> unconditionally.
54776
54777         * lib/linebuffer.c: Include <stdlib.h>.
54778         (free): Remove decl.
54779
54780         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
54781         stddef.h. rpl_malloc returns void *, not char *.
54782         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
54783         prototype.
54784
54785         * lib/md5.h: Include <limits.h> unconditionally.
54786         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
54787         (__P): Remove; all uses removed.
54788         * lib/md5.c: Include "md5.h" first.
54789         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
54790         md5_buffer, md5_process_bytes, md5_process_block):
54791         Define with prototypes.
54792         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
54793         * lib/sha.c: Include "sha.h" first.
54794         Include <stdlib.h>, <string.h> unconditionally.
54795
54796         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
54797         * lib/memcmp.c (__ptr_t): Likewise.
54798         * lib/memrchr.c (__ptr_t): Likewise.
54799         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
54800         Include <string.h> unconditionally.
54801         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
54802         * lib/memchr.c: Include <stdlib.h> unconditionally.
54803         * lib/memchr.c (LONG_MAX): Remove.
54804         * lib/memrchr.c (LONG_MAX): Likewise.
54805         * lib/memchr.c (__memchr): Define via a prototype.
54806         * lib/memrchr.c (__memrchr): Likewise.
54807         * lib/memcmp.c (__P): Remove, and remove all uses.
54808         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
54809         Remove forward decls; no longer needed.
54810         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
54811         Use types required by C89 in prototype.
54812
54813         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
54814         * lib/savedir.c: Likewise.
54815         * lib/mkdir.c (free): Remove decl.
54816         * lib/rmdir.c (rmdir): Define with a prototype.
54817         * lib/savedir.c: Include savedir.h first, to test interface.
54818
54819         * lib/mktime.c (STDC_HEADERS): Remove.
54820         Include <stdlib.h>, <string.h> unconditionally.
54821
54822         * lib/modechange.c: Include <stdlib.h> unconditionally.
54823         (malloc): Remove decl.
54824
54825         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
54826         (free): Remove decl.
54827
54828         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
54829         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
54830         (This type really should be intptr_t, but that's a C99ism.)
54831         (_obstack_memcpy): Remove: all uses changed to memcpy.
54832         Include <string.h> unconditionally.
54833         (struct obstack): Assume __STDC__ for types of members
54834         chunkfun, freefun, extra_arg.
54835         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
54836         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
54837         obstack_begin, obstack_specify_allocation,
54838         obstack_specify_allocation_with_arg, obstack_chunkfun,
54839         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
54840         Remove unprototyped decls and the macros that use them.
54841         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
54842         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
54843         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
54844         (defined __STDC__ && __STDC__)]:
54845         Remove nonprototyped code.
54846         Include <stdlib.h> unconditionally.
54847         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
54848         _obstack_allocated_p, _obstack_free, obstack_free,
54849         _obstack_memory_used, print_and_abort):
54850         Define using prototypes.
54851         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
54852         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
54853         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
54854         obstack_next_free, obstack_object_size, obstack_room) [0]:
54855         Remove unused, unprototyped code.
54856
54857         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
54858
54859         * lib/physmem.c (physmem_total, physmem_available, main): Define
54860         with prototypes.
54861
54862         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
54863         (main): Define with a prototype.
54864
54865         * lib/posixver.c (getenv): Remove decl.
54866
54867         * lib/putenv.c (malloc): Returns void *, not char *.
54868         Include <string.h> unconditionally.
54869         (strchr, memcpy, NULL): Do not define.
54870
54871         * lib/readtokens.c: Include readtokens.h first, to test interface.
54872         Include <stdlib.h>, <string.h> unconditionally.
54873         (init_tokenbuffer): Define with a prototype.
54874
54875         * lib/regex.c (PARAMS): Remove.  All uses removed.
54876         All uses of _RE_ARGS removed, too.
54877         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54878         unconditionally.
54879         (bzero): Assume memset exists.
54880         (memcmp, memcpy, NULL): Remove.
54881         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
54882         char, or assignments to local vars of type signed char.
54883         (init_syntax_once, PREFIX(extract_number_and_incr),
54884         PREFIX(print_partial_compiled_pattern),
54885         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
54886         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
54887         PREFIX(regex_grow_registers), PREFIX(regex_compile),
54888         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
54889         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
54890         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
54891         wcs_compile_range, byte_compile_range, truncate_wchar,
54892         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
54893         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
54894         count_mbs_length, wcs_re_match_2_internal,
54895         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
54896         PREFIX(alt_match_null_string_p),
54897         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
54898         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
54899         regfree, PREFIX(extract_number)): Define with prototype.  Remove
54900         now-unnecessary declaration, if any.
54901         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
54902         regcomp, regexec):
54903         Remove now-unnecessary casts among pointer types.
54904         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
54905
54906         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
54907         (free): Remove decl.
54908
54909         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
54910
54911         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
54912         (free): Remove decl.
54913
54914         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
54915         * lib/xgetcwd.c: Likewise.
54916
54917         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
54918         (free): Remove decl.
54919
54920         * lib/strchrnul.c (strchrnul): Define with a prototype.
54921         Fix bug: c_in was not converted to char before searching.
54922
54923         The following changes are not K&R related:
54924
54925         * lib/group-member.h: Include <sys/types.h>, so that this file is
54926         self-contained.
54927         * lib/makepath.h: Likewise.
54928
54929         * lib/getusershell.c (readname, default_index, line_size, readname):
54930         Use size_t, not int, for sizes.
54931         (readname): If the size overflows, report an error instead of
54932         looping forever.
54933
54934 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54935
54936         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
54937         libc.
54938
54939 2003-09-09  Paul Eggert  <eggert@twinsun.com>
54940
54941         * README: New section: portability guidelines.
54942
54943 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
54944
54945         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
54946         C89 spec.
54947
54948 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
54949
54950         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
54951
54952 2003-09-08  Paul Eggert  <eggert@twinsun.com>
54953
54954         Assume C89 or better; remove K&R cruft.
54955         A few of these changes were first proposed by Derek Robert Price
54956         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
54957
54958         * lib/addext.c: Include <string.h> unconditionally.
54959         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
54960         Don't declare getenv or malloc.
54961
54962         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
54963         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
54964         (NULL): Remove.
54965         (find_stack_direction, alloca): Use prototypes.
54966
54967         * lib/atexit.c (atexit): Define using a prototype.
54968
54969         * lib/basename.c, dirname.c, stripslash.c:
54970         Include <string.h> unconditionally.
54971
54972         * lib/bcopy.c: Include <stddef.h>.
54973         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
54974
54975         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
54976
54977         * lib/error.h (error, error_at_line, error_print_progname)
54978         [! (defined (__STDC__) && __STDC__)]: Remove decls.
54979         * lib/error.c: Include error.h first, to check interface.
54980         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
54981         (VA_START): Remove; all uses changeed to va_start.
54982         (exit, strerror): Remove decls.
54983         (error_print_progname): Prototype uncondionally.
54984         Don't include <errno.h>; no longer needed.
54985         (private_strerror): Remove.
54986         (error_tail): Always define.
54987         (error, error_at_line): Assume C89 or better; always use prototypes.
54988         * lib/fatal.c: Include "fatal.h" first, to test interface.
54989         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
54990         (VA_START): Remove; all uses changed to va_start.
54991         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
54992         this case.
54993         (exit): Remove decl.
54994         (fatal): Prototype unconditionally.  Assume va_start works.
54995         Abort at end, to pacify gcc.
54996
54997         * lib/euidaccess.c (main): Define with a prototype.
54998
54999         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
55000
55001         * lib/exitfail.c: Include <stdlib.h> unconditionally.
55002
55003         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
55004         prototypes.
55005         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
55006         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
55007         (getenv): Remove decl.
55008         (fnmatch): Define using a prototype.
55009         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
55010         (FCT): Define using a prototype.
55011
55012         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
55013
55014         * lib/gethostname.c: Include <stddef.h>.
55015         (gethostname): Define with prototype.  Length is size_t, not int.
55016
55017 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55018
55019         Assume C89 or better; remove K&R cruft.
55020         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
55021         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
55022         string.h, getenv, malloc.
55023         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
55024         headers.
55025         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
55026         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
55027         do not check for strerror.
55028         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
55029         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
55030         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
55031         do not check for doprnt or vprintf.
55032         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
55033         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
55034
55035 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55036
55037         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
55038         getversion.c should have been removed then, but was accidentally
55039         preserved.
55040
55041         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
55042         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
55043
55044 2003-09-08  Karl Berry  <karl@gnu.org>
55045
55046         * config/config.sub, config.guess, srclistvars.sh: update from savannah
55047                 config, forget about prep.
55048
55049         * config/depcomp, missing: update from automake.
55050
55051 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55052
55053         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
55054         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55055
55056 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55057
55058         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
55059         copy_tm_result.  Bug reported by Simon Josefsson in
55060         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55061
55062 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55063
55064         * m4/time_r.m4: New file.
55065         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
55066         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
55067         is. Check for timegm declaration.
55068         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
55069         Do not check for gmtime_r.
55070         Replace mktime if __mktime_internal does not exist and if mktime
55071         hasn't been replaced already.
55072
55073 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55074
55075         * lib/time_r.c, lib/time_r.h: New files.
55076
55077         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
55078         __localtime_r.
55079         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
55080         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
55081
55082         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
55083         __gmtime_r.
55084         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
55085         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
55086         Include <time_r.h>.
55087
55088         * lib/timegm.c: Switch to glibc implementation, with the following
55089         changes:
55090         [defined HAVE_CONFIG_H]: Include <config.h>.
55091         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
55092         (__mktime_internal) [!defined _LIBC]: New decl.
55093         (__gmtime_r) [!defined _LIBC]: New macro and function.
55094         (timegm): Use a prototype, since gnulib assumes C89.
55095         Do not bother declaring tmp to be const, as it's not really usefu.
55096         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
55097         (timegm): Declare only if HAVE_DECL_TIMEGM.
55098
55099 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55100
55101         * MODULES.html.sh (func_all_modules): Add time_r.
55102         * modules/time_r: New file.
55103         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
55104         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
55105
55106 2003-09-03  Paul Eggert  <eggert@twinsun.com>
55107
55108         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
55109         Bug reported by Lute Kamstra in
55110         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
55111
55112         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
55113         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
55114         course with correspondingly smaller numbers for tomorrow and
55115         yesterday.  From Tadayoshi Funaba.  Originally installed into
55116         sh-utils on 1999-08-07, but the patch got lost (I guess during the
55117         coreutils merge?).
55118
55119 2003-08-31  Simon Josefsson  <jas@extundo.com>
55120
55121         * modules/timegm: New file.
55122         * MODULES.html.sh (func_all_modules): Add timegm.
55123
55124 2003-08-31  Simon Josefsson  <jas@extundo.com>
55125
55126         * m4/timegm.m4: New file.
55127
55128 2003-08-31  Simon Josefsson  <jas@extundo.com>
55129
55130         * lib/timegm.h: New file.
55131         * lib/timegm.c: New file.  Based on
55132         wget-1.8.2/src/http.c:mktime_from_utc.
55133
55134 2003-08-31  Karl Berry  <karl@gnu.org>
55135
55136         * lib/argp.h: update from libc.
55137
55138 2003-08-28  Bruno Haible  <bruno@clisp.org>
55139
55140         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
55141         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
55142         followed by '#define fnmatch fnmatch_posix' gives an error.
55143
55144 2003-08-28  Bruno Haible  <bruno@clisp.org>
55145
55146         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
55147         warning on QNX, which defines O_BINARY to 000000.
55148
55149 2003-08-27  Jim Meyering  <jim@meyering.net>
55150
55151         * m4/mkstemp.m4: Require that the system mkstemp be able to create
55152         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
55153         would fail after 32.  Reported by Danny Levinson.  Details here:
55154         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
55155
55156 2003-08-24  Bruno Haible  <bruno@clisp.org>
55157
55158         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
55159         MSVC7 <stdio.h> is included later.
55160
55161 2003-08-22  Simon Josefsson  <jas@extundo.com>
55162
55163         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
55164
55165 2003-08-20  Karl Berry  <karl@gnu.org>
55166
55167         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
55168
55169 2003-08-20  Bruno Haible  <bruno@clisp.org>
55170
55171         * modules/progname: New file.
55172         * MODULES.html.sh (func_all_modules): Add progname.
55173
55174 2003-08-20  Bruno Haible  <bruno@clisp.org>
55175
55176         * lib/progname.h: New file, from GNU gettext.
55177         * lib/progname.c: New file, from GNU gettext.
55178         * lib/progreloc.c: New file, from GNU gettext.
55179
55180 2003-08-19  Jim Meyering  <jim@meyering.net>
55181
55182         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
55183         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
55184
55185 2003-08-19  Bruno Haible  <bruno@clisp.org>
55186
55187         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
55188         more.
55189
55190 2003-08-19  Bruno Haible  <bruno@clisp.org>
55191
55192         * lib/xstrdup.c: Assume <string.h> exists.
55193
55194 2003-08-18  Paul Eggert  <eggert@twinsun.com>
55195
55196         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
55197         in makefile rules.
55198
55199 2003-08-18  Jim Meyering  <jim@meyering.net>
55200
55201         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
55202         * m4/lib-ld.m4: Likewise.
55203
55204 2003-08-18  Jim Meyering  <jim@meyering.net>
55205
55206         * lib/setenv.h: Indent nested cpp directive.
55207         * lib/vasnprintf.c: Remove trailing blanks.
55208
55209 2003-08-17  Simon Josefsson  <jas@extundo.com>
55210
55211         * modules/xstrndup: New file.
55212         * MODULES.html.sh (func_all_modules): Add xstrndup.
55213
55214 2003-08-17  Simon Josefsson  <jas@extundo.com>
55215
55216         * modules/argp: Fix autoconf macro name. Add more dependencies.
55217
55218 2003-08-17  Simon Josefsson  <jas@extundo.com>
55219
55220         * m4/xstrndup.m4: New file.
55221
55222 2003-08-17  Simon Josefsson  <jas@extundo.com>
55223
55224         * m4/argp.m4: New file.
55225
55226 2003-08-17  Simon Josefsson  <jas@extundo.com>
55227             Bruno Haible  <bruno@clisp.org>
55228
55229         * lib/xstrndup.h: New file.
55230         * lib/xstrndup.c: New file.
55231
55232 2003-08-17  Bruno Haible  <bruno@clisp.org>
55233
55234         * modules/strndup (Files, Include): Add lib/strndup.h.
55235
55236 2003-08-17  Bruno Haible  <bruno@clisp.org>
55237
55238         * modules/euidaccess (Files): Add lib/euidaccess.h.
55239
55240 2003-08-17  Bruno Haible  <bruno@clisp.org>
55241
55242         * lib/strndup.h: New file.
55243
55244 2003-08-17  Bruno Haible  <bruno@clisp.org>
55245
55246         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
55247         like AC_GNU_SOURCE.
55248         * modules/extensions (configure.ac): Comment out the invocation of
55249         gl_USE_SYSTEM_EXTENSIONS.
55250
55251 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55252
55253         Merges from coreutils, etc.
55254         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
55255         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
55256         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
55257         fixing a typo.
55258         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
55259         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
55260
55261 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55262
55263         Document merge from coreutils.
55264         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
55265         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
55266         * modules/utime: Add m4/utimes-null.m4.
55267
55268 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55269
55270         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
55271         space, undoing this 2003-08-12 change:
55272         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55273
55274 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55275
55276         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
55277         strtoul.c from libc, undoing this 2003-08-12 change:
55278         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55279
55280 2003-08-16  Jim Meyering  <jim@meyering.net>
55281
55282         Merges from coreutils.
55283         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
55284         prefix.  Adjust cache variables similarly.  Create 500 rather than
55285         just 300 files, to exercise bug on Darwin6.5, too.
55286         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
55287         $missing_dir.
55288         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
55289         AM_SYS_POSIX_TERMIOS.
55290         Reported by mkc@mathdogs.com.
55291         Also change use of $am_cv_sys_posix_termios
55292         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
55293         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
55294         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
55295         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
55296         in /proc/mounts until it finds one with matching device number.  This
55297         is unnecessary when the FILE argument *is* a mount point.  No stat call
55298         is necessary in that case.  So, disable the statvfs-testing code on
55299         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
55300         as RedHat bug# 84846.
55301         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55302         to 1MB, so as not to render systems with no stack size limit (e.g.,
55303         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55304         Include <unistd.h>.  On some systems,
55305         it is required for the definition of _SC_PAGESIZE.
55306
55307 2003-08-16  Jim Meyering  <jim@meyering.net>
55308
55309         Merge from coreutils.
55310         * lib/xstrtoimax.c: #else #if -> #elif.
55311         * lib/xstrtoumax.c: Likewise.
55312
55313 2003-08-16  Jim Meyering  <jim@meyering.net>
55314
55315         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
55316         * m4/utimes.m4: Removed.
55317         * m4/utimes-null.m4: Renamed from utimes.m4.
55318
55319         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55320         to 1MB, so as not to render systems with no stack size limit (e.g.,
55321         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55322         Include <unistd.h>.  On some systems,
55323         it is required for the definition of _SC_PAGESIZE.
55324
55325 2003-08-16  Jim Meyering  <jim@meyering.net>
55326         and Paul Eggert  <eggert@cs.ucla.edu>
55327
55328         Merges from coreutils, etc.
55329
55330         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
55331         using the latest version from cvs.  This avoids problems with #line
55332         directives using a vendor (Sun) compiler.
55333         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
55334         Don't set GETGROUPS_LIB here; now it's
55335         done via getgroups.m4's wrapper function.
55336         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
55337         rather than just in sh-util/configure.in, so that the
55338         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
55339         same.
55340         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
55341         AC_FUNC_GETLOADAVG where to find getloadavg.c.
55342         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
55343         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
55344         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
55345         Remove code that is now done by the newly-required macros.
55346         Append $(EXEEXT) to DF_PROG.
55347         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
55348         Do not invoke or require the following here,
55349         since prereq.m4 or some gnulib .m4 now does this for us:
55350         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
55351         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
55352         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
55353         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
55354         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
55355         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
55356         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
55357         AC_FUNC_OBSTACK.
55358         Do not replace the following functions, as this is now the job
55359         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
55360         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
55361         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
55362         atexit getpass, strdup, getpagesize.
55363         Replace 'raise'.
55364         Do not check for the following functions, as this is now the job
55365         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
55366         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
55367         setregid.
55368         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
55369         Check for sys/sysctl.h.
55370         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
55371         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
55372         of checking for ssize_t ourselves.
55373
55374         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
55375         Require every macro that gnulib/modules/* suggests for us.
55376         (jm_PREREQ_ADDEXT): New macro.
55377         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
55378         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
55379
55380         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
55381         (gl_PHYSMEM): Use it.
55382         Also check for `table' function.
55383         Check for new headers and functions.
55384         Add check for sys/sysmp.h.
55385         With suggestions from Kaveh Ghazi.
55386         Ignore headers that are present but cannot be compiled.  This
55387         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
55388         C 5.4.
55389
55390 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55391
55392         Document merge from coreutils.
55393         * modules/userspec: Depend on posixver.
55394         * modules/strftime: Depend on tzset.
55395
55396 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55397
55398         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
55399         rather than tab, after '#' in shell-script copyright notices.
55400         Suggested by Bruno Haible.
55401
55402 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55403
55404         * config/srclist-update: Use three spaces, rather than tab, after '#'
55405         in shell-script copyright notices.  Suggested by Bruno Haible.
55406         Remove unnecessary parenthesization in regular expression.
55407
55408 2003-08-15  Jim Meyering  <jim@meyering.net>
55409
55410         Merge from coreutils.
55411         * lib/xgethostname.c: Include <stdlib.h>.
55412         (xghostname): Don't exit for anything other than memory-related
55413         failure; just return NULL.
55414         * lib/userspec.c: Include "posixver.h".
55415         (parse_user_spec): Accept `.' as a separator only
55416         in pre-POSIX-200112 mode.
55417         * lib/strtoimax.c: Use #elif rather than #else #if.
55418         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
55419         Remove function, now that we can rely on a working tzset function.
55420         [!_LIBC]: Ensure that the required autoconf test has been run.
55421         [!defined _NL_CURRENT && HAVE_STRFTIME]:
55422         Use underlying_strftime for %r.
55423         * lib/sha.c: Merge in some clean-up and optimization changes from
55424         glibc.
55425         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
55426         Ensure that it is a multiple of 64.
55427         Rearrange loop exit tests so as to avoid performing an
55428         additional fread after encountering an error or EOF.
55429         * lib/realloc.c: Update copyright date.
55430
55431 2003-08-15  Jim Meyering  <jim@meyering.net>
55432         and Paul Eggert  <eggert@twinsun.com>
55433
55434         Merge from coreutils.
55435         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
55436         member but strut utmpx does not.  Needed for AIX 4.3.3.
55437         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
55438
55439 2003-08-15  Jim Meyering  <jim@meyering.net>
55440         and Paul Eggert  <eggert@cs.ucla.edu>
55441
55442         Merges from coreutils, etc.
55443         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
55444         Require gl_FUNC_TZSET_CLOBBER.
55445         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
55446         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
55447         members.
55448
55449 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55450
55451         Help the merge from coreutils.
55452         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
55453         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
55454         * m4/tzset.m4: Use it too.
55455
55456 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55457
55458         * modules/tzset: New file.
55459
55460 2003-08-14  Jim Meyering  <jim@meyering.net>
55461
55462         Merges from coreutils.
55463         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
55464         variable names, rather than @FNMATCH_H@.
55465         * modules/alloca: Likewise for $(ALLOCA_H).
55466
55467         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
55468         the three copies of the literal target, `fnmatch.h'.
55469         * modules/alloca (alloca.h): Likewise.
55470
55471 2003-08-14  Jim Meyering  <jim@meyering.net>
55472
55473         Merge from coreutils.
55474         * m4/tzset.m4: New file.
55475         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
55476         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
55477         otherwise, AIX 5.1 systems would end up using the latter.
55478         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
55479         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
55480         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
55481         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
55482
55483 2003-08-14  Jim Meyering  <jim@meyering.net>
55484
55485         Merge from coreutils.
55486         * lib/obstack.h: Whitespace changes.
55487         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
55488         and xcalloc return values.
55489         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
55490         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
55491         hang on OSF/1 5.1 for DIR on both local and remote file systems.
55492         Reported by (and fix confirmed by) Nelson H. F. Beebe.
55493         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
55494         error from mntctl.
55495         Use mntctl's return value to drive the entry-processing loop, since
55496         we can't rely on the value of the vmt_length member in the last
55497         entry.  On some systems doing so could result in exhausting
55498         virtual memory.  Based in part on a patch from Mike Jetzer.
55499
55500 2003-08-14  Jim Meyering  <jim@meyering.net>
55501         and Paul Eggert  <eggert@twinsun.com>
55502
55503         Merges from coreutils, plus other fixes.
55504         * lib/physmem.c: Merge in portability changes from gcc/libiberty
55505         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
55506         for credits and details.  Thanks to Kaveh Ghazi for helping
55507         to keep these files in sync.
55508         (ARRAY_SIZE): Define it.
55509         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
55510         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
55511         (memcasecmp): Don't assume size_t fits in unsigned int.
55512         Remove casts and duplicate code.
55513         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
55514         (memcpy): Remove definition.
55515         Merge in some clean-up and optimization changes from glibc.
55516         [BLOCKSIZE]: Move definition to top of file.
55517         Ensure that it is a multiple of 64.
55518         Rearrange loop exit tests so as to avoid performing an
55519         additional fread after encountering an error or EOF.
55520         * lib/md5.h (md5_uintptr): Define.
55521         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
55522         return to the initial working directory.  Preserve errno
55523         for caller.
55524         * lib/idcache.c: Include "xalloc.h".
55525         (xmalloc, xrealloc): Remove decls.
55526         (getuser): Remove casts no longer required in C89.
55527         * lib/human.c: Include stdio.h, for sprintf.
55528         * lib/group-member.c: Include "xalloc.h".
55529         (xmalloc, xrealloc): Remove decls.
55530         (get_group_info): Remove casts no longer required in C89.
55531         * lib/getusershell.c (readname): Remove casts no longer required in
55532         C89.
55533         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
55534         * lib/getline.c: Whitespace fix, from coreutils.
55535
55536 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55537
55538         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
55539         Check for isascii.
55540
55541         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55542         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55543         Undo previous (whitespace-only) change.
55544
55545 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55546
55547         * lib/exclude.c: Include <ctype.h>
55548         (IN_CTYPE_DOMAIN): New macro.
55549         (is_space): New fn.
55550         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
55551         and empty lines.
55552
55553         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55554         Undo previous (whitespace-only) change.
55555
55556 2003-08-13  Paul Eggert  <eggert@twinsun.com>
55557
55558         * config/srclist-update: Change update back to the old behavior,
55559         leaving whitespace alone.  Use one 'sed' command rather than a
55560         pipeline.
55561         (fixlicense): Now a variable, not a function.
55562         (remove_trailing_blanks): Remove.
55563         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
55564         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55565         Undo previous (whitespace-only) change.
55566
55567 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55568
55569         Merge from coreutils.
55570         * modules/euidaccess: Add lib_SOURCES, include for new
55571         file euidaccess.h
55572
55573 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55574
55575         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
55576         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
55577         Normalize leading white space and remove trailing white space.
55578
55579         Merge from coreutils
55580         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
55581
55582         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
55583         0.12.1.  These files are now being upgraded automatically by
55584         ../config/srclist-update.
55585
55586 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55587
55588         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
55589         Normalize leading white space and remove trailing white space.
55590         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
55591         notice, as per ../config/srclist-update.
55592
55593         Merge from coreutils.
55594         * lib/euidaccess.h: New file.
55595         * lib/euidaccess.c: Include it.
55596         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
55597         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
55598         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
55599
55600 2003-08-12  Paul Eggert  <eggert@twinsun.com>
55601
55602         * config/srclist-update: Add copyright notice.
55603         (remove_id_lines, remove_trailing_blanks): New constants.
55604         (fixfile): Use them to normalize spacing a bit in copied files.
55605         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
55606         Normalize leading white space and remove trailing white space.
55607
55608         * config/texinfo.tex: Sync with texinfo.
55609
55610         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
55611         strtoul.c from libc, to merge coreutils whitespace changes.
55612
55613         * config/srclist.txt: Get the following m4 files from gettext:
55614         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
55615         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
55616         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
55617         wint_t.m4.
55618
55619 2003-08-12  Karl Berry  <karl@gnu.org>
55620
55621         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
55622         been made.
55623
55624 2003-08-11  Paul Eggert  <eggert@twinsun.com>
55625
55626         * modules/gnu-source, m4/gnu-source.m4:
55627         Remove; we're assuming Autoconf 2.54 or later now.
55628         Suggested by Bruno Haible.
55629         * MODULES.html.sh (func_all_modules): Remove gnu-source.
55630
55631 2003-08-11  Bruno Haible  <bruno@clisp.org>
55632
55633         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
55634
55635 2003-08-11  Bruno Haible  <bruno@clisp.org>
55636
55637         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
55638         (vasnprintf): Use it instead of wcslen.
55639
55640 2003-08-11  Bruno Haible  <bruno@clisp.org>
55641
55642         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
55643         value to ensure that _Bool promotes to int. Use #define for _Bool when
55644         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
55645
55646 2003-08-10  Karl Berry  <karl@gnu.org>
55647
55648         * lib/regex.h: update from libc (whitespace fix).
55649
55650 2003-08-09  Paul Eggert  <eggert@twinsun.com>
55651
55652         Merge some files from coreutils.  These changes were
55653         originally made by Jim Meyering.
55654         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
55655         many older Unixes require this.
55656         * lib/alloca.c (alloca): Remove cast to argument of free;
55657         no longer needed in C89.
55658         * lib/alloca_.h, regex.h: Fix white space to match
55659         what GNU indent does.
55660
55661 2003-08-09  Paul Eggert  <eggert@twinsun.com>
55662
55663         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
55664         apparently Emacs's Unicode mode got confused before my 2003-08-05
55665         checkin.
55666
55667 2003-08-08  Paul Eggert  <eggert@twinsun.com>
55668
55669         * m4/extensions.m4: New file.
55670         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
55671         Require gl_USE_SYSTEM_EXTENSIONS.
55672         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
55673         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
55674
55675 2003-08-08  Paul Eggert  <eggert@twinsun.com>
55676
55677         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
55678         * modules/extensions, modules/gnu-source: New files.
55679         * modules/timespec, modules/unlocked-io: Depend on extensions.
55680
55681 2003-08-07  Paul Eggert  <eggert@twinsun.com>
55682
55683         * modules/restrict: New file.
55684         * MODULES.html.sh (func_all_modules): Add restrict.
55685         * modules/regex: Depend on restrict.
55686
55687 2003-08-07  Paul Eggert  <eggert@twinsun.com>
55688
55689         * m4/restrict.m4: New file.
55690         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
55691
55692 2003-08-07  Bruno Haible  <bruno@clisp.org>
55693
55694         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
55695         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
55696
55697 2003-08-07  Bruno Haible  <bruno@clisp.org>
55698
55699         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
55700         makes the module 'getndelim2' compatible with the module 'getline'.
55701
55702 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55703
55704         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
55705         byte with "\201" to avoid glitches when editing that source file
55706         with multi-gnome-terminal.
55707
55708 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55709
55710         * lib/bumpalloc.h: Remove.
55711
55712 2003-08-05  Paul Eggert  <eggert@twinsun.com>
55713
55714         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
55715         * modules/bumpalloc: Remove.
55716
55717 2003-08-04  Paul Eggert  <eggert@twinsun.com>
55718
55719         * lib/getloadavg.c: Change copyright notice and spacing to conform to
55720         GNU coding style.
55721
55722         Merge from coreutils.
55723         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
55724         1. From glibc.
55725         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
55726         from Karl Berry, implemented by Jim Meyering.
55727         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
55728         from Dmitry V. Levin.
55729         Remove anachronistic cast of xrealloc.
55730         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
55731         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
55732         type. Otherwise, it wouldn't compile with at least /bin/cc on
55733         ymp-cray-unicos9.0.2.X.
55734         Combine two mostly-identical uses of alloca into one.
55735         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
55736
55737 2003-08-04  Dave Love  <d.love@dl.ac.uk>
55738
55739         [From Emacs.]
55740
55741         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
55742         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
55743         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
55744         obsolete NLIST_NAME_UNION.
55745         [__GNU__]: Undef BSD and FSCALE.
55746         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
55747
55748 2003-08-03  Paul Eggert  <eggert@twinsun.com>
55749
55750         * lib/stdbool_.h (_Bool): Make it signed char, instead of
55751         an enum type, so that it's guaranteed to promote to int.  See:
55752         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
55753
55754 2003-08-03  Karl Berry  <karl@gnu.org>
55755
55756         * config/depcomp: update from automake.
55757
55758 2003-07-31  Paul Eggert  <eggert@twinsun.com>
55759
55760         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
55761         (strerror): Don't assume that a printable int fits in 14 bytes.
55762
55763 2003-07-31  Bruno Haible  <bruno@clisp.org>
55764
55765         * modules/getpass-gnu: New file.
55766         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
55767
55768 2003-07-31  Bruno Haible  <bruno@clisp.org>
55769
55770         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
55771
55772 2003-07-24  Karl Berry  <karl@gnu.org>
55773
55774         * config/missing: update from automake.
55775
55776 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
55777             Bruno Haible  <bruno@clisp.org>
55778
55779         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
55780         * lib/getline.c (getline, getdelim): Likewise.
55781         Remove _GNU_SOURCE define; now it's defined in config.h through
55782         m4/getline.m4.
55783
55784 2003-07-23  Karl Berry  <karl@gnu.org>
55785
55786         * config/config.sub: update from prep.
55787
55788 2003-07-22  Paul Eggert  <eggert@twinsun.com>
55789
55790         * modules/xalloc (Depends-on): Add exitfail.
55791         * modules/xmemcoll: Likewise.
55792
55793 2003-07-22  Paul Eggert  <eggert@twinsun.com>
55794
55795         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
55796         over-parenthesization in macros.
55797
55798         Sync with coreutils.
55799
55800         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
55801         required by C99.
55802
55803         Use `exit_failure' for xalloc and xmemcoll instead of their own
55804         private exit-failure variables.
55805         * lib/xalloc.h (xalloc_exit_failure): Remove.
55806         * lib/xmalloc.c: Likewise.  Include exitfail.h.
55807         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
55808         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
55809         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
55810         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
55811
55812 2003-07-20  Jim Meyering  <jim@meyering.net>
55813
55814         * modules/closeout (Depends-on): Add exitfail.
55815         Suggestion from Bruno Haible.
55816
55817 2003-07-19  Karl Berry  <karl@gnu.org>
55818
55819         * config/config.sub: update from prep.
55820
55821 2003-07-18  Paul Eggert  <eggert@twinsun.com>
55822
55823         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
55824         Remove.
55825         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
55826         to test that it can stand by itself.  Include "exitfail.h".
55827         Clients should set exit_failure instead.
55828         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
55829
55830 2003-07-18  Bruno Haible  <bruno@clisp.org>
55831
55832         * modules/getndelim2: New file.
55833         * modules/getline: Share files with module getndelim2.
55834         * modules/getnline: Depend on getndelim2 instead of sharing files with
55835         it. Add getnline.c to lib_SOURCES.
55836         * MODULES.html.sh (func_all_modules): Add getndelim2.
55837
55838 2003-07-18  Bruno Haible  <bruno@clisp.org>
55839
55840         * m4/getndelim2.m4: New file.
55841         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
55842         invoke gl_PREREQ_GETNDELIM2.
55843         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
55844         gl_PREREQ_GETNDELIM2.
55845         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
55846         gl_GETNDELIM2.
55847
55848 2003-07-18  Bruno Haible  <bruno@clisp.org>
55849
55850         * lib/getndelim2.h: New file.
55851         * lib/getndelim2.c: Make into a module of its own. Include config.h,
55852         getndelim2.h.
55853         (getndelim2): Make non-static. Change return type to ssize_t.
55854         * lib/getline.h: Change argument names.
55855         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
55856         * lib/getnline.c: Include getndelim2.h.
55857
55858 2003-07-18  Andreas Schwab  <schwab@suse.de>
55859
55860         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
55861
55862 2003-07-17  Karl Berry  <karl@gnu.org>
55863
55864         * config/config.sub: update from prep.
55865
55866 2003-07-17  Bruno Haible  <bruno@clisp.org>
55867
55868         * modules/getnline: New file.
55869         * modules/getline: Add lib/getndelim2.c to source file list.
55870         * MODULES.html.sh (func_all_modules): Add getnline.
55871
55872 2003-07-17  Bruno Haible  <bruno@clisp.org>
55873
55874         * m4/getnline.m4: New file.
55875
55876 2003-07-17  Bruno Haible  <bruno@clisp.org>
55877
55878         * m4/Makefile.am.in: Remove file.
55879         * m4/Makefile.am: Remove file.
55880         * m4/Makefile.in: Remove file.
55881
55882 2003-07-17  Bruno Haible  <bruno@clisp.org>
55883
55884         * lib/getnline.h: New file.
55885         * lib/getnline.c: New file.
55886         * lib/getndelim2.c: New file, extracted from getline.c.
55887         (getndelim2): Renamed from getdelim2, with added nmax argument.
55888         * lib/getline.c: Include getndelim2.c.
55889         (getdelim2): Moved out to getndelim2.c.
55890         (getline, getdelim): Update.
55891
55892 2003-07-17  Bruno Haible  <bruno@clisp.org>
55893
55894         * lib/Makefile.am: Remove file.
55895         * lib/Makefile.in: Remove file.
55896
55897 2003-07-17  Bruno Haible  <bruno@clisp.org>
55898
55899         * configure.in: Remove file.
55900         * Makefile.in: Remove file.
55901
55902 2003-07-17  Bruno Haible  <bruno@clisp.org>
55903
55904         * MODULES.html.sh: Put the </BODY> right before </HTML>.
55905
55906 2003-07-16  Karl Berry  <karl@gnu.org>
55907
55908         * config/srclist-update: was running fixlicense twice, which caused
55909                 texinfo.tex to be nullified for some reason.  Simplify,
55910                 $gplsrc is no longer needed as far as I can see?
55911
55912 2003-07-16  Jim Meyering  <jim@meyering.net>
55913
55914         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
55915
55916 2003-07-15  Paul Eggert  <eggert@twinsun.com>
55917
55918         * config/srclist.txt: Get the following files from gettext-runtime/intl
55919         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
55920         ref-del.sin.  From Bruno Haible.
55921         * config/srclist-update (fixfile): Change grep pattern again, since the
55922         previous fix didn't work (there was another trailing $).  Use
55923         '[$]' to escape the $s.
55924
55925 2003-07-15  Karl Berry  <karl@gnu.org>
55926
55927         * lib/vasnprintf.c: update from gettext.
55928
55929 2003-07-15  Karl Berry  <karl@gnu.org>
55930
55931         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
55932         gets expanded when surrounded by '$'.
55933
55934 2003-07-15  Jim Meyering  <jim@meyering.net>
55935
55936         * modules/save-cwd: Don't depend on error.  From Derek Price.
55937
55938 2003-07-15  Jim Meyering  <jim@meyering.net>
55939
55940         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
55941
55942 2003-07-14  Simon Josefsson  <jas@extundo.com>
55943
55944         * modules/mempcpy: New file.
55945         * MODULES.html.sh (func_all_modules): Add mempcpy.
55946
55947 2003-07-14  Simon Josefsson  <jas@extundo.com>
55948
55949         * m4/mempcpy.m4: New file.
55950
55951 2003-07-14  Simon Josefsson  <jas@extundo.com>
55952
55953         * lib/mempcpy.h: New file.
55954         * lib/mempcpy.c: New file.
55955
55956 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55957
55958         * modules/getdate, modules/posixtm: Depend on mktime.
55959
55960 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55961
55962         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
55963         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
55964         unicodeio.c, unicodeio.h, unlocked-io.h:
55965         Switch from LGPL to GPL.
55966
55967 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55968
55969         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
55970         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
55971         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
55972         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
55973         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
55974         updated automatically by ../config/srclist-update.  This changes
55975         their license from LPGL to GPL.
55976
55977 2003-07-14  Paul Eggert  <eggert@twinsun.com>
55978
55979         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
55980         assumed to refer to the root of the most recent stable gettext version.
55981         * config/srclistvars.sh: Add defaults for eggert.
55982         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
55983         Match "This program" as well as "The program".  This is needed
55984         for gettext.
55985
55986 2003-07-14  Jim Meyering  <jim@meyering.net>
55987
55988         Don't emit diagnostics.  Let callers do that.
55989         * lib/save-cwd.c: Don't include "error.h".
55990         (save_cwd): Don't call error.  Ensure that errno is valid
55991         when returning nonzero.
55992
55993         * lib/save-cwd.h (restore_cwd): Update prototype.
55994         * lib/save-cwd.c (restore_cwd): Remove two parameters.
55995         Simplify.  Don't call error upon failure.  Let callers do that.
55996         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
55997         when auditing is enabled.  But don't bother updating the #if.
55998
55999 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
56000
56001         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
56002         it breaks C++ compilation.
56003         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
56004
56005 2003-07-10  Simon Josefsson  <jas@extundo.com>
56006
56007         * modules/strchrnul (Makefile.am): Add strchrnul.h.
56008
56009 2003-07-10  Jim Meyering  <jim@meyering.net>
56010
56011         * m4/clock_time.m4: Remove trailing blank.
56012         * m4/intmax_t.m4: Likewise.
56013
56014 2003-07-10  Jim Meyering  <jim@meyering.net>
56015
56016         * lib/vasnprintf.c: Remove trailing blanks.
56017         Make cpp indentation consistent.
56018
56019 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56020
56021         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
56022         posixver.c, strftime.c, strnlen.c, strverscmp.c:
56023         Switch from LGPL to GPL.
56024
56025 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56026
56027         * config/srclist.txt: Sort sublists.  Add
56028         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
56029         that differ from gnulib for one reason or another; we'd like this list
56030         to be smaller but for now let's document what we have.
56031
56032 2003-07-08  Paul Eggert  <eggert@twinsun.com>
56033
56034         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
56035         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
56036         and sweeter "eval x=$x".
56037         * config/srclist.txt: Get lib/argp* from glibc.
56038
56039 2003-07-07  Paul Eggert  <eggert@twinsun.com>
56040
56041         * lib/mktime.c: Fix some boundary cases and remove need for floating
56042         point.
56043
56044         Issue a compile-time diagnostic if time_t is floating point, or if
56045         two's complement arithmetic is not in effect, or if arithmetic
56046         right shift does not propagate the sign.  These assumptions were
56047         all in the original code but they weren't checked.
56048
56049         (TIME_T_MIDPOINT, verify): New macros.
56050         (__isleap): Remove; it has integer overflow problems.
56051         (leapyear): New function, without those problems.
56052         (ydhms_tm_diff): Remove; splitting into two parts.
56053         (ydhms_diff): New function, containing the arithmetic part of
56054         the old ydhms_tm_diff function.  Issue a compile-time
56055         diagnostic if we are not using C99 integer division.
56056         Avoid casts when possible.
56057         (guess_time_tm): New function, containing the checking part of
56058         the old ydhms_tm_diff function.  Return the new value, rather than
56059         the difference between it and the old.  Accept a new argument T
56060         so that *T specifies the old value.  Check for overflow in the result.
56061
56062         (__mktime_internal): Use a time_t offset, not a long int offset.
56063         This undoes the 2003-06-04 change, which is no longer needed now
56064         that we have better overflow checking.
56065         (localtime_offset): Likewise.
56066
56067         (__mktime_internal): Avoid harmful overflow on hosts where time_t
56068         and long are 64-bit but int is only 32-bit.
56069         (ydhms_diff): Use long int to store year1 and yday1.
56070         Issue a compile-time diagnostic if long int is not wide enough.
56071
56072         (__mktime_internal): Use long int to store adjusted year and yday.
56073         Use plain C rather than preprocessor commands, if that doesn't
56074         affect efficiency.
56075         Check for overflow (and try to repair) after each probe
56076         rather than checking only at the very end.  This avoids some bugs
56077         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
56078         does not equal GMT offset at maximum time).
56079         Use integer to check for overflow rather than floating point; this
56080         is more portable to non-IEEE hosts, and is a tad faster.
56081         When we detect that we are oscillating between two values,
56082         don't check whether tm_isdst has the requested value, since
56083         we already know the answer.  When tm_isdst has the wrong value,
56084         use a different heuristic to find the right one, based on the
56085         extreme values actually observed in practice in tz2003a,
56086         rather than the (overly optimistic) "previous 3 calendar quarters".
56087
56088         (not_equal_tm, print_tm, check_result): Use "const T" rather than
56089         "T const" to accommodate glibc style.
56090         (check_result): Use less-confusing report format.  "long" -> "long int.
56091         (main): Likewise.
56092         Don't loop if the iteration overflows time_t.
56093         Allow a negative step in the iteration.
56094
56095 2003-07-06  Karl Berry  <karl@gnu.org>
56096
56097         * config/depcomp: update from automake.
56098         * config/config.sub: update from prep.
56099
56100 2003-07-03  Karl Berry  <karl@gnu.org>
56101
56102         * config/config.guess: update from prep.
56103
56104 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56105
56106         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
56107         xreadlink.c now includes it unconditionally.
56108
56109 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56110
56111         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
56112         having it depend on HAVE_SYS_TYPES_H.
56113
56114 2003-07-01  Bruno Haible  <bruno@clisp.org>
56115
56116         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
56117         <sys/types.h> should be sufficient.
56118         Reported by Paul Eggert.
56119
56120 2003-06-26  Karl Berry  <karl@gnu.org>
56121
56122         * config/depcomp: update from automake.
56123
56124 2003-06-26  Bruno Haible  <bruno@clisp.org>
56125
56126         * modules/human: Depend on module stdbool.
56127
56128 2003-06-25  Bruno Haible  <bruno@clisp.org>
56129
56130         * modules/readlink: New file.
56131         * modules/xreadlink: Depend on it.
56132         * MODULES.html.sh (func_all_modules): Add readlink.
56133
56134 2003-06-25  Bruno Haible  <bruno@clisp.org>
56135
56136         * m4/readlink.m4: New file.
56137
56138 2003-06-25  Bruno Haible  <bruno@clisp.org>
56139
56140         * lib/readlink.c: New file.
56141
56142 2003-06-22  Karl Berry  <karl@gnu.org>
56143
56144         * config/srclist.txt: update mkinstalldirs from automake.
56145         * config/mkinstalldirs: update.
56146
56147 2003-06-22  Bruno Haible  <bruno@clisp.org>
56148
56149         Portability to mingw32.
56150         * m4/ssize_t.m4: New file, from GNU gettext.
56151         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
56152         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
56153
56154 2003-06-22  Bruno Haible  <bruno@clisp.org>
56155
56156         * modules/safe-read: Add m4/ssize_t.m4.
56157         * modules/xreadlink: Add m4/ssize_t.m4.
56158
56159 2003-06-20  Bruno Haible  <bruno@clisp.org>
56160
56161         Assume C89, so PARAMS isn't needed.
56162         * lib/unicodeio.h (PARAMS): Remove.
56163         * lib/unicodeio.c: Don't use PARAMS.
56164
56165 2003-06-18  Karl Berry  <karl@gnu.org>
56166
56167         * config/config.{guess,sub}: update from prep.
56168
56169 2003-06-18  Jim Meyering  <jim@meyering.net>
56170
56171         Merge changes from coreutils.
56172         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
56173         Remove explicit declarations of xmalloc and realloc.
56174         Include xalloc.h.
56175         (read_utmp): Remove anachronistic cast of xmalloc.
56176
56177 2003-06-17  Paul Eggert  <eggert@twinsun.com>
56178
56179         Assume C89, so PARAMS isn't needed.
56180         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
56181         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
56182         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
56183         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
56184         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
56185         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
56186         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
56187         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
56188         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
56189         lib/xstrtod.h, lib/xstrtol.h: Likewise.
56190         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
56191         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
56192         no longer needed. Anyway, config.h should always be included before any
56193         other file.
56194
56195 2003-06-11  Simon Josefsson  <jas@extundo.com>
56196
56197         * modules/sysexits: New file.
56198         * MODULES.html.sh (func_all_modules): Add sysexits.
56199
56200 2003-06-11  Simon Josefsson  <jas@extundo.com>
56201
56202         * lib/sysexit_.h: New file.
56203
56204 2003-06-11  Derek Price  <derek@ximbiot.com>
56205
56206         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
56207         necessary.
56208
56209 2003-06-11  Bruno Haible  <bruno@clisp.org>
56210
56211         * m4/sysexits.m4: New file.
56212
56213 2003-06-10  Simon Josefsson  <jas@extundo.com>
56214
56215         * lib/argp.h: New file, from glibc.
56216         * lib/argp-ba.c: New file, from glibc.
56217         * lib/argp-eexst.c: New file, from glibc.
56218         * lib/argp-fmtstream.c: New file, from glibc.
56219         * lib/argp-fmtstream.h: New file, from glibc.
56220         * lib/argp-fs-xinl.c: New file, from glibc.
56221         * lib/argp-help.c: New file, from glibc.
56222         * lib/argp-namefrob.h: New file, from glibc.
56223         * lib/argp-parse.c: New file, from glibc.
56224         * lib/argp-pv.c: New file, from glibc.
56225         * lib/argp-pvh.c: New file, from glibc.
56226         * lib/argp-xinl.c: New file, from glibc.
56227
56228 2003-06-10  Simon Josefsson  <jas@extundo.com>
56229
56230         * modules/strchrnul: New file.
56231
56232 2003-06-10  Simon Josefsson  <jas@extundo.com>
56233
56234         * modules/argp: New file.
56235
56236 2003-06-10  Simon Josefsson  <jas@extundo.com>
56237
56238         * m4/strchrnul.m4: New file.
56239
56240 2003-06-10  Simon Josefsson  <jas@extundo.com>
56241
56242         * lib/strchrnul.h: New file.
56243         * lib/strchrnul.c: New file.
56244
56245 2003-06-10  Bruno Haible  <bruno@clisp.org>
56246
56247         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
56248
56249 2003-06-07  Karl Berry  <karl@gnu.org>
56250
56251         * config/config.{guess,sub}: update from prep.
56252
56253 2003-06-07  Jim Meyering  <jim@meyering.net>
56254
56255         * modules/strtod: Use $(...) notation, not @...@ for
56256         AC_REPLACE'd variables.
56257         * modules/localcharset: Likewise.
56258
56259 2003-06-07  Jim Meyering  <jim@meyering.net>
56260
56261         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
56262         in place of my name in the copyright comment.
56263         Remove definition and uses of __P.
56264
56265         From coreutils.
56266         * lib/stat.c: Don't declare xmalloc explicitly.
56267         Instead, include "xalloc.h".
56268         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
56269         xrealloc, and xcalloc return values.
56270         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
56271         Improve comment.
56272         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
56273
56274 2003-06-07  Bruno Haible  <bruno@clisp.org>
56275
56276         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
56277         avoid AC_CONFIG_LINKS.
56278         * modules/fnmatch (Makefile.am): Use explicit creation rule for
56279         fnmatch.h, to avoid AC_CONFIG_LINKS.
56280         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
56281
56282 2003-06-07  Bruno Haible  <bruno@clisp.org>
56283
56284         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
56285         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
56286         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56287         directory.
56288         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
56289         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56290         directory.
56291
56292 2003-06-06  Jim Meyering  <jim@meyering.net>
56293
56294         Merge from coreutils.
56295         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
56296         Consolidate declarations and initializations of *_base* locals.
56297
56298         Merge from coreutils.
56299         This avoids a core dump on systems without GNU putenv,
56300         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
56301         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
56302         (unsetenv): New static function, from GNU libc.
56303         (rpl_putenv): Use it.
56304
56305         * lib/modechange.c: Remove trailing blanks.
56306
56307         Merge from coreutils.
56308         * lib/fsusage.c: Remove declaration of statfs.
56309         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
56310
56311         * lib/posixtm.c: Include <stdbool.h> unconditionally.
56312
56313 2003-06-06  Jim Meyering  <jim@meyering.net>
56314
56315         * lib/stdbool_.h: Renamed from stdbool.h.in.
56316
56317 2003-06-06  Jim Meyering  <jim@meyering.net>
56318             Bruno Haible  <bruno@clisp.org>
56319
56320         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
56321         Adjust Makefile.am snippet not to redirect directly to target.
56322         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
56323
56324 2003-06-05  Paul Eggert  <eggert@twinsun.com>
56325
56326         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
56327         mismatch, look in future quarters as well as past.  This fixes a
56328         bug when processing fall-backwards gaps immediately after a long
56329         period of daylight-saving time.
56330
56331         * lib/mktime.c: Assume freestanding C89 or better.
56332         (HAVE_LIMITS_H): Remove.  Assume it's 1.
56333         (__P): Remove; not used.
56334         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
56335         (mktime, not_equal_tm, print_tm, check_result,
56336         main): Use prototypes.  Use const * where appropriate.
56337         (main): Fix typo in testing code that uncovered by above changes.
56338         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
56339
56340 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56341
56342         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
56343         locale.h, localeconv.  This merges changes from coreutils.
56344
56345         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
56346         It can be removed after the next Autoconf is released.
56347         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
56348         needed.
56349
56350 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56351
56352         * lib/mktime.c: Fix Debian bug 177940
56353         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
56354         (localtime_offset): Now long int, not time_t, because we want it
56355         to be guaranteed to be signed.  All uses changed.
56356         (__mktime_internal): If overflow would occur when adding offset,
56357         don't add it.
56358
56359         Merge 'human' changes from coreutils.  Rewrite to support
56360         locale-specific notations like thousands separators.
56361         * lib/human.c: Simplify authorship notice.
56362         Include human.h immediately after config.h.
56363         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
56364         <limits.h>: Do not include, since human.h does.
56365         (SIZE_MAX, UINTMAX_MAX): New macros.
56366         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
56367         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
56368         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
56369         (power_letter): Renamed from suffixes.
56370         (generate_suffix_backwards): Remove.
56371         (adjust_value): Now takes int style (because of human.h changes)
56372         and long double value (for greater precision on some platforms).
56373         (group_number): New function.
56374         (human_readable): Use it.  Use integer options, not enum.
56375         Put the options before the sizes in the arg list.
56376         Support all the new options.
56377         The old human_readable function has been removed;
56378         use inttostr.h instead.
56379         (human_readable, default_block_size, humblock):
56380         Use uintmax_t, not int, for block sizes.
56381         (human_readable_inexact, block_size_types): Remove.
56382         (block_size_opts): New constant.
56383         (human_options): Renamed from human_block_size, with new signature
56384         that allows block sizes up to UINTMAX_MAX.  All callers changed.
56385         * lib/human.h: Add copyright and authorship notice.
56386         Include <limits.h> and <stdbool.h> unconditionally.
56387         (PARAMS): Remove.  All uses removed.
56388         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
56389         (enum human_inexact_style): Remove tag; now a nameless enum.
56390         (human_floor, human_ceiling, human_round_to_even): Now have
56391         values 2, 0, 1 rather than -1, 1, 0.
56392         (human_group_digits, human_suppress_point_zero, human_autoscale,
56393         human_base_1024, human_SI, human_B): New constants.
56394         (human_readable_inexact, human_block_size): Remove.
56395         (human_readable): Size args are now uintmax_t, not int.
56396         (human_options): New decl.
56397
56398         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
56399         unnecessary now that we assume C89 or better.  This change
56400         imported from coreutils.
56401
56402         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56403         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
56404         in the 2003-05-30 sync from glibc.
56405
56406         .h files should stand alone, but we shouldn't include <sys/types.h>
56407         if we can get away with just <stddef.h>.
56408
56409         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
56410         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
56411         rather than <sys/types.h>, as we merely need size_t.
56412         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
56413         to get size_t.
56414         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
56415         Include <stdio.h>, to get FILE.
56416         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
56417         memcasecmp.h has included <stddef.h> and all we need is size_t.
56418         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
56419         our interface, instead of including <sys/types.h>
56420
56421 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56422
56423         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
56424         now, as glibc mktime is buggy on non-glibc systems.
56425
56426 2003-06-03  Karl Berry  <karl@gnu.org>
56427
56428         * config/config.sub: update from prep.
56429
56430 2003-06-02  Paul Eggert  <eggert@twinsun.com>
56431
56432         [from coreutils]
56433         Fix some minor time-related bugs with POSIX time arguments.
56434         Some valid time stamps were being rejected (notably -1, and
56435         time stamps before 1900 on 64-bit hosts).  And some invalid
56436         time stamps were being accepted, e.g. September 31.
56437
56438         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
56439         that we can return (time_t) -1 successfully.
56440         * lib/posixtm.c: Likewise.
56441         [HAVE_STDBOOL_H]: Include <stdbool.h>.
56442         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
56443         (t): Remove static var.
56444         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
56445         of static var.  All uses changed.
56446         (year): Do not reject years before 1900; they can occur with
56447         64-bit time_t.
56448         (posix_time_parse): Do not check for out-of-range components;
56449         that is now the caller's responsibility, since our checks were
56450         only approximations.
56451         (posixtime): Use mktime to check for out-of-range components,
56452         since it knows them exactly.
56453         If mktime returns (time_t) -1, check whether an error actually occurred
56454         by invoking localtime on -1.
56455         (main) [TEST_POSIXTIME]: Check for input data errors, and report
56456         posixtime failures better.
56457         Improve the test data (in comments only).
56458
56459 2003-06-02  Karl Berry  <karl@gnu.org>
56460
56461         * config/mkinstalldirs (version): new variable.
56462         (--version): new option.
56463         (usage): improve message.
56464
56465 2003-05-30  Karl Berry  <karl@gnu.org>
56466
56467         * lib/mktime.c: update from libc.
56468
56469 2003-05-30  Bruno Haible  <bruno@clisp.org>
56470
56471         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
56472         * config/config.rpath: Upgrade to gettext-0.12.1.
56473
56474 2003-05-30  Bruno Haible  <bruno@clisp.org>
56475
56476         * m4/gettext.m4: Upgrade to gettext-0.12.1.
56477         * m4/nls.m4: New file, from gettext-0.12.1.
56478         * m4/po.m4: New file, from gettext-0.12.1.
56479         * m4/progtest.m4: Upgrade to gettext-0.12.1.
56480
56481 2003-05-30  Bruno Haible  <bruno@clisp.org>
56482
56483         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
56484         * lib/localcharset.h: Likewise.
56485         * lib/localcharset.c: Likewise.
56486
56487 2003-05-29  Karl Berry  <karl@gnu.org>
56488
56489         * config/config.rpath: update from gettext.
56490
56491 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56492
56493         Assume the headers required for C89 freestanding compilers.
56494         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
56495         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
56496         * m4/human.m4 (gl_HUMAN): Likewise.
56497         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
56498         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
56499         * m4/userspec.m4 (gl_USERSPEC): Likewise.
56500         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
56501         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56502         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
56503
56504 2003-05-28  Paul Eggert  <eggert@twinsun.com>
56505
56506         Assume the headers required for C89 freestanding compilers.
56507         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
56508         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
56509         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
56510         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
56511         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
56512         define, since <limits.h> is guaranteed to do that.
56513         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
56514         * lib/exclude.c: Include <stdbool.h> unconditionally.
56515         * lib/tempname.c: Include <stddef.h> unconditionally.
56516         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
56517         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
56518         <stddef.h> does that.
56519         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
56520         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
56521         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
56522         needed.
56523         * lib/xstrtol.c: Likewise.
56524         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
56525         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
56526
56527         * lib/addext.c (addext): Use assignment rather than cast, to avoid
56528         warnings on some platforms.
56529
56530         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56531         arbitrarily.
56532
56533 2003-05-26  Jim Meyering  <jim@meyering.net>
56534
56535         Merge in a change from coreutils:
56536         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
56537         that is guaranteed to be `no'.  Use `no_such_member' to indicate
56538         that condition, rather than `-1' which is slightly misleading.
56539         Change the name of the cache variable to have the gl_ prefix.
56540         Prompted by a patch from Richard Dawe for DJGPP.
56541
56542 2003-05-24  Karl Berry  <karl@gnu.org>
56543
56544         * config/config.guess: update from prep.
56545
56546 2003-05-22  Karl Berry  <karl@gnu.org>
56547
56548         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
56549
56550 2003-05-20  Karl Berry  <karl@gnu.org>
56551
56552         * config/config.guess: update from prep.
56553
56554 2003-05-18  Karl Berry  <karl@gnu.org>
56555
56556         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
56557         might actually be set by the user.
56558
56559         * config/depcomp, install-sh, mdate-sh: update from automake.
56560
56561 2003-05-17  Bruno Haible  <bruno@clisp.org>
56562
56563         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
56564         invalid expansion for AC_EGREP_CPP.
56565         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
56566         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56567         Suggested by Akim Demaille <akim@epita.fr> in
56568         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
56569
56570 2003-05-12  Jim Meyering  <jim@meyering.net>
56571
56572         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
56573         the space-padded-by-default conversion specifiers, %e, %k, %l.
56574
56575 2003-05-12  Bruno Haible  <bruno@clisp.org>
56576
56577         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
56578         the string is longer than 4 KB.
56579
56580 2003-05-11  Karl Berry  <karl@gnu.org>
56581
56582         * config/config.{guess,sub}: update from prep.
56583
56584 2003-05-09  Bruno Haible  <bruno@clisp.org>
56585
56586         * modules/error: Add m4/strerror_r.m4 to file list.
56587
56588 2003-05-03  Bruno Haible  <bruno@clisp.org>
56589
56590         Upgrade to Unicode-4.0.
56591         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
56592         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
56593         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
56594         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
56595         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
56596         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
56597         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
56598         Change width of U+E0100..U+E01EF from 1 to 0.
56599
56600 2003-04-25  Jim Meyering  <jim@meyering.net>
56601
56602         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
56603         of type size_t, not int.
56604
56605 2003-04-25  Bruno Haible  <bruno@clisp.org>
56606
56607         * lib/copy-file.c: Include <stddef.h>, for size_t.
56608
56609 2003-04-21  Paul Eggert  <eggert@twinsun.com>
56610
56611         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
56612         code which expansion is under static control.  Patch imported from
56613         Akim Demaille's patch to Bison; see
56614         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
56615
56616 2003-04-14  Bruno Haible  <bruno@clisp.org>
56617
56618         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
56619
56620 2003-04-11  Jim Meyering  <jim@meyering.net>
56621
56622         Merge changes from Coreutils.
56623
56624         2003-03-22  Jim Meyering  <jim@meyering.net>
56625
56626         * lib/strftime.c (widen): Cast alloca return value to proper type.
56627
56628         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
56629
56630         From GNU libc.
56631         * lib/strftime.c (my_strftime): Handle very large width
56632         specifications for numeric values correctly.  Improve checks for
56633         overflow.
56634
56635         2003-01-19  Jim Meyering  <jim@meyering.net>
56636
56637         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
56638         definitions.
56639         (nl_get_alt_digit) [! defined my_strftime]: Define.
56640         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
56641         _nl_get_alt_digit and _nl_get_walt_digit.
56642
56643         * lib/strftime.c (my_strftime): Merge in locale-related changes from
56644         libc. These changes have no effect outside of _LIBC.
56645
56646 2003-04-10  Bruno Haible  <bruno@clisp.org>
56647
56648         * modules/findprog: New file.
56649         * MODULES.html.sh (func_all_modules): Add it.
56650
56651 2003-04-10  Bruno Haible  <bruno@clisp.org>
56652
56653         * m4/findprog.m4: New file.
56654         * m4/eaccess.m4: New file.
56655
56656 2003-04-10  Bruno Haible  <bruno@clisp.org>
56657
56658         * lib/findprog.h: New file, from GNU gettext.
56659         * lib/findprog.c: New file, from GNU gettext.
56660
56661 2003-04-05  Jim Meyering  <jim@meyering.net>
56662
56663         Merge changes from Coreutils.
56664
56665         * lib/exclude.h (PARAMS): Remove definition and uses.
56666         * lib/exclude.c: Remove uses of `PARAMS'.
56667
56668         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
56669         Add test-cases for DOS filenames. Declare program_name.
56670         (main): Set up program_name.  Patch by Rich Dawe.
56671
56672         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
56673         error from mntctl.
56674         Use mntctl's return value to drive the entry-processing loop, since
56675         we can't rely on the value of the vmt_length member in the last
56676         entry.  On some systems doing so could result in exhausting
56677         virtual memory.  Based in part on a patch from Mike Jetzer.
56678
56679 2003-04-04  Bruno Haible  <bruno@clisp.org>
56680
56681         * modules/linebreak: New file.
56682         * MODULES.html.sh (func_all_modules): Add it.
56683
56684 2003-04-04  Bruno Haible  <bruno@clisp.org>
56685
56686         * m4/linebreak.m4: New file.
56687
56688 2003-04-04  Bruno Haible  <bruno@clisp.org>
56689
56690         * lib/linebreak.h: New file, from GNU gettext.
56691         * lib/linebreak.c: New file, from GNU gettext with slight
56692         modifications.
56693         * lib/lbrkprop.h: New file, from GNU gettext.
56694
56695 2003-04-03  Bruno Haible  <bruno@clisp.org>
56696
56697         * modules/utf8-ucs4: New file.
56698         * modules/utf16-ucs4: New file.
56699         * modules/ucs4-utf8: New file.
56700         * modules/ucs4-utf16: New file.
56701         * MODULES.html.sh (func_all_modules): Add them.
56702
56703 2003-04-03  Bruno Haible  <bruno@clisp.org>
56704
56705         * m4/utf-ucs4.m4: New file.
56706         * m4/ucs4-utf.m4: New file.
56707
56708 2003-04-03  Bruno Haible  <bruno@clisp.org>
56709
56710         * lib/utf8-ucs4.h: New file, from GNU gettext.
56711         * lib/utf16-ucs4.h: New file, from GNU gettext.
56712         * lib/ucs4-utf8.h: New file, from GNU gettext.
56713         * lib/ucs4-utf16.h: New file, from GNU gettext.
56714
56715 2003-04-02  Bruno Haible  <bruno@clisp.org>
56716
56717         * modules/binary-io: New file.
56718         * MODULES.html.sh (func_all_modules): Add it.
56719
56720 2003-04-02  Bruno Haible  <bruno@clisp.org>
56721
56722         * lib/binary-io.h: New file, from GNU gettext.
56723
56724 2003-04-01  Bruno Haible  <bruno@clisp.org>
56725
56726         * modules/pathname: New file.
56727         * MODULES.html.sh (func_all_modules): Add it.
56728
56729 2003-04-01  Bruno Haible  <bruno@clisp.org>
56730
56731         * lib/pathname.h: New file, from GNU gettext.
56732         * lib/concatpath.c: New file, from GNU gettext.
56733
56734 2003-03-30  Bruno Haible  <bruno@clisp.org>
56735
56736         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
56737
56738 2003-03-30  Bruno Haible  <bruno@clisp.org>
56739
56740         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
56741         function chown() doesn't exist.
56742
56743 2003-03-28  Bruno Haible  <bruno@clisp.org>
56744
56745         * modules/copy-file: New file.
56746         * MODULES.html.sh (func_all_modules): Add it.
56747
56748 2003-03-28  Bruno Haible  <bruno@clisp.org>
56749
56750         * m4/copy-file.m4: New file.
56751
56752 2003-03-28  Bruno Haible  <bruno@clisp.org>
56753
56754         * lib/copy-file.h: New file, from GNU gettext.
56755         * lib/copy-file.c: New file, from GNU gettext.
56756
56757 2003-03-18  Jim Meyering  <jim@meyering.net>
56758
56759         * lib/quote.c (quote_n): Fix typo in comment.
56760
56761 2003-03-18  Bruno Haible  <bruno@clisp.org>
56762
56763         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
56764         checking.
56765         * m4/onceonly_2_57.m4: Likewise.
56766
56767 2003-03-17  Bruno Haible  <bruno@clisp.org>
56768
56769         * m4/onceonly.m4: Require autoconf 2.54 or newer.
56770         (m4_quote): Remove macro.
56771         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
56772
56773 2003-03-14  Jim Meyering  <jim@meyering.net>
56774
56775         Merge changes from Coreutils.
56776         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
56777         to be const, in order to avoid warnings.
56778         (obstack_room): Likewise.
56779         (obstack_empty_p): Likewise.
56780
56781 2003-03-14  Bruno Haible  <bruno@clisp.org>
56782
56783         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
56784         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
56785
56786 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56787
56788         Merge changes from Bison.
56789         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
56790         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
56791         when compiling Bison 1.875's `bitset bset = obstack_alloc
56792         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
56793         * lib/hash.c: Include <stdbool.h> unconditionally.
56794
56795 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56796
56797         * m4/onceonly.m4 (m4_quote): New macro.
56798         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
56799         Quote AC_FOREACH variable-expansions properly.
56800
56801 2003-03-13  Paul Eggert  <eggert@twinsun.com>
56802
56803         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
56804
56805 2003-03-09  Paul Eggert  <eggert@twinsun.com>
56806
56807         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
56808         Reported by Bruce Becker; see:
56809         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
56810
56811 2003-03-03  Paul Eggert  <eggert@twinsun.com>
56812             Bruno Haible  <bruno@clisp.org>
56813
56814         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
56815         Reported by John Hughes, see
56816         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
56817
56818 2003-02-20  Bruno Haible  <bruno@clisp.org>
56819
56820         * MODULES.html.sh (func_all_modules): Add poll.
56821
56822 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56823
56824         * modules/poll: New file.
56825
56826 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56827
56828         * lib/poll_.h: New file.
56829         * lib/poll.c: New file.
56830
56831 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
56832
56833         * m4/poll.m4: New file.
56834
56835 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56836
56837         * modules/mathl: New file.
56838
56839 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56840
56841         * lib/mathl.h: New file.
56842         * lib/acosl.c: New file.
56843         * lib/asinl.c: New file.
56844         * lib/atanl.c: New file.
56845         * lib/ceill.c: New file.
56846         * lib/cosl.c: New file.
56847         * lib/expl.c: New file.
56848         * lib/floorl.c: New file.
56849         * lib/frexpl.c: New file.
56850         * lib/ldexpl.c: New file.
56851         * lib/logl.c: New file.
56852         * lib/sincosl.c: New file.
56853         * lib/sinl.c: New file.
56854         * lib/sqrtl.c: New file.
56855         * lib/tanl.c: New file.
56856         * lib/trigl.c: New file.
56857         * lib/trigl.h: New file.
56858
56859 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
56860
56861         * m4/mathl.m4: New file.
56862
56863 2003-02-18  Bruno Haible  <bruno@clisp.org>
56864
56865         * MODULES.html.sh (func_all_modules): Add mathl.
56866
56867 2003-02-17  Bruno Haible  <bruno@clisp.org>
56868
56869         * modules/mkdtemp: New module.
56870         * MODULES.html.sh (func_all_modules): Add it.
56871
56872 2003-02-17  Bruno Haible  <bruno@clisp.org>
56873
56874         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
56875
56876 2003-02-17  Bruno Haible  <bruno@clisp.org>
56877
56878         * lib/mkdtemp.h: New file, from GNU gettext.
56879         * lib/mkdtemp.c: New file, from GNU gettext.
56880
56881 2003-02-02  Jim Meyering  <jim@meyering.net>
56882
56883         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
56884         e.g. glibc-2.2.93.
56885
56886 2003-01-31  Bruno Haible  <bruno@clisp.org>
56887
56888         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
56889         'rpl_rename'.
56890         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
56891         'rpl_strnlen'.
56892         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
56893         'rpl_strtod'.
56894         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
56895         'rpl_utime'.
56896
56897 2003-01-31  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/rename.c: #undef rename before defining rpl_rename.
56900         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
56901
56902 2003-01-30  Bruno Haible  <bruno@clisp.org>
56903
56904         * modules/vasnprintf, modules/vasprintf: New modules.
56905         * MODULES.html.sh (func_all_modules): Add them.
56906
56907 2003-01-30  Bruno Haible  <bruno@clisp.org>
56908
56909         * m4/signed.m4: New file, from GNU gettext.
56910         * m4/longdouble.m4: New file, from GNU gettext.
56911         * m4/wchar_t.m4: New file, from GNU gettext.
56912         * m4/wint_t.m4: New file, from GNU gettext.
56913         * m4/vasnprintf.m4: New file.
56914         * m4/vasprintf.m4: New file.
56915
56916 2003-01-30  Bruno Haible  <bruno@clisp.org>
56917
56918         * lib/printf-args.h: New file, from GNU gettext.
56919         * lib/printf-args.c: New file, from GNU gettext.
56920         * lib/printf-parse.h: New file, from GNU gettext.
56921         * lib/printf-parse.c: New file, from GNU gettext.
56922         * lib/vasnprintf.h: New file, from GNU gettext.
56923         * lib/vasnprintf.c: New file, from GNU gettext.
56924         * lib/asnprintf.c: New file, from GNU gettext.
56925         * lib/vasprintf.h: New file, from GNU gettext with modifications.
56926         * lib/vasprintf.c: New file, from GNU gettext.
56927         * lib/asprintf.c: New file, from GNU gettext.
56928
56929 2003-01-29  Bruno Haible  <bruno@clisp.org>
56930
56931         * modules/stpncpy: New module.
56932         * MODULES.html.sh (func_all_modules): Add it.
56933
56934 2003-01-29  Bruno Haible  <bruno@clisp.org>
56935
56936         * m4/stpncpy.m4: New file.
56937
56938 2003-01-29  Bruno Haible  <bruno@clisp.org>
56939
56940         * lib/stpncpy.h: New file, from GNU gettext with modifications.
56941         * lib/stpncpy.c: New file, from GNU gettext with modifications.
56942
56943 2003-01-28  Bruno Haible  <bruno@clisp.org>
56944
56945         * modules/c-ctype: New module.
56946         * MODULES.html.sh (func_all_modules): Add it.
56947
56948 2003-01-28  Bruno Haible  <bruno@clisp.org>
56949
56950         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
56951         Paul Eggert.
56952         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
56953         Paul Eggert.
56954
56955 2003-01-27  Bruno Haible  <bruno@clisp.org>
56956
56957         * modules/xsetenv: New module.
56958         * MODULES.html.sh (func_all_modules): Add it.
56959
56960 2003-01-27  Bruno Haible  <bruno@clisp.org>
56961
56962         * lib/xsetenv.h: New file, from GNU gettext.
56963         * lib/xsetenv.c: New file, from GNU gettext.
56964
56965 2003-01-23  Jim Meyering  <jim@meyering.net>
56966
56967         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
56968         from working on systems without dirfd (at least Irix and OSF1/Tru64).
56969
56970 2003-01-23  Bruno Haible  <bruno@clisp.org>
56971
56972         * modules/minmax: New module.
56973         * MODULES.html.sh (func_all_modules): Add it.
56974
56975 2003-01-23  Bruno Haible  <bruno@clisp.org>
56976
56977         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
56978         Eggert.
56979
56980 2003-01-22  Bruno Haible  <bruno@clisp.org>
56981
56982         * modules/exit: New module.
56983         * MODULES.html.sh (func_all_modules): Add it.
56984
56985 2003-01-22  Bruno Haible  <bruno@clisp.org>
56986
56987         * lib/exit.h: New file, from GNU gettext.
56988
56989 2003-01-19  Bruno Haible  <bruno@clisp.org>
56990
56991         * gnulib-tool: Recognize option --extract-maintainer.
56992         (func_get_maintainer): New function.
56993         * modules/*: Add Maintainer entry.
56994
56995 2003-01-16  Jim Meyering  <jim@meyering.net>
56996
56997         * m4/regex.m4: The `regex' struct is both input and output.
56998         Initialize it before each use.  Patch by Tim Waugh.
56999
57000 2003-01-16  Bruno Haible  <bruno@clisp.org>
57001
57002         * MODULES.html.sh: Add a table of contents. Add the module name as
57003         leftmost column. Add hyperlinks.
57004
57005 2003-01-15  Bruno Haible  <bruno@clisp.org>
57006
57007         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
57008
57009 2003-01-15  Bruno Haible  <bruno@clisp.org>
57010
57011         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
57012         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
57013         suffix.
57014
57015 2003-01-15  Bruno Haible  <bruno@clisp.org>
57016
57017         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
57018
57019 2003-01-15  Bruno Haible  <bruno@clisp.org>
57020
57021         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
57022         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
57023
57024 2003-01-14  Jim Meyering  <jim@meyering.net>
57025
57026         * lib/same.c (same_name): Tweak a comment.
57027
57028 2003-01-14  Bruno Haible  <bruno@clisp.org>
57029
57030         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
57031         when a string comparison is sufficient.
57032
57033 2003-01-14  Bruno Haible  <bruno@clisp.org>
57034
57035         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
57036         'unsigned int'.
57037
57038 2003-01-14  Bruno Haible  <bruno@clisp.org>
57039
57040         * lib/hash-pjw.c: Add comment about low quality of this function.
57041
57042 2003-01-13  Bruno Haible  <bruno@clisp.org>
57043
57044         * modules/stpcpy: Distribute lib/stpcpy.h.
57045         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
57046
57047 2003-01-13  Bruno Haible  <bruno@clisp.org>
57048
57049         * modules/*: Add a description.
57050         * modules/strpbrk: Fix Makefile.am snippet.
57051         * modules/strtoimax: Fix dependencies.
57052         * modules/strtoumax: Likewise.
57053
57054 2003-01-13  Bruno Haible  <bruno@clisp.org>
57055
57056         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
57057         * modules/alloca (Makefile.am): All object files depend on alloca.h.
57058         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
57059
57060 2003-01-13  Bruno Haible  <bruno@clisp.org>
57061
57062         * gnulib-tool (func_create_testdir): Store config/* files in the main
57063         directory.
57064         * config.rpath: Move to ...
57065         * config/config.rpath: ... here.
57066         * modules/gettext: Contains config/config.rpath, not config.rpath.
57067         * modules/iconv: Likewise.
57068
57069 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57070
57071         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57072         to avoid collisions with libcurses and libreadline.
57073
57074         * m4/getstr.m4: Remove.
57075         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
57076
57077 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57078
57079         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57080         to avoid collisions with libcurses and libreadline.
57081
57082         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
57083         * lib/getstr.h, getstr.c: Remove.
57084         * lib/getline.c: Include "getline.h", to check interface.
57085         Move body of old getstr.c here: this defines MIN_CHUNK and
57086         declares getdelim2, which is renamed from getstr.
57087         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
57088
57089         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
57090         All uses changed.
57091         * lib/linebuffer.h: Likewise.
57092         (readline): Remove backward-compatibility macro.
57093
57094 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57095
57096         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57097         to avoid collisions with libcurses and libreadline.
57098         * getstr: Remove.
57099         * MODULES.html.sh: Remove getstr.
57100         * modules/getline: Depend on unlocked-io, not getstr.
57101
57102 2003-01-12  Jim Meyering  <jim@meyering.net>
57103
57104         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
57105
57106 2003-01-10  Bruno Haible  <bruno@clisp.org>
57107
57108         * modules/alloca: Change Makefile.am requirements. Simplify Include
57109         requirements. Add lib/alloca_.h to file list.
57110
57111 2003-01-10  Bruno Haible  <bruno@clisp.org>
57112
57113         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
57114
57115 2003-01-10  Bruno Haible  <bruno@clisp.org>
57116
57117         * lib/alloca_.h: New file.
57118         * lib/getdate.y: Unconditionally include alloca.h.
57119         * lib/makepath.c: Likewise.
57120         * lib/setenv.c: Likewise.
57121         * lib/userspec.c: Likewise.
57122
57123 2003-01-09  Karl Berry  <karl@gnu.org>
57124
57125         * MODULES.html.sh: include `dirname $0` in PATH, to find
57126         gnulib-tool.
57127
57128 2003-01-09  Bruno Haible  <bruno@clisp.org>
57129
57130         * modules/stdbool: Change configure.ac, Makefile.am requirements.
57131         Simplify Include requirements. Add lib/stdbool.h.in to file list.
57132
57133 2003-01-09  Bruno Haible  <bruno@clisp.org>
57134
57135         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
57136
57137 2003-01-09  Bruno Haible  <bruno@clisp.org>
57138
57139         * lib/stdbool.h.in: New file.
57140
57141 2003-01-09  Bruno Haible  <bruno@clisp.org>
57142
57143         * gnulib-tool (func_all_modules): Ignore files ending in ~.
57144         * MODULES.html.sh: Likewise.
57145
57146 2003-01-08  Jim Meyering  <jim@meyering.net>
57147
57148         * lib/full-write.c: Undefine and define-away `const' after inclusion
57149         of errno.h, not before.  Suggestion from Bruno Haible.
57150
57151 2003-01-08  Bruno Haible  <bruno@clisp.org>
57152
57153         * modules/full-read: Depend on full-write.
57154
57155 2003-01-08  Bruno Haible  <bruno@clisp.org>
57156
57157         * lib/safe-read.c: Include specification header first, to ensure its
57158         selfcontainedness.
57159         * lib/full-write.c: Likewise.
57160
57161 2003-01-07  Jim Meyering  <jim@meyering.net>
57162
57163         * lib/full-write.c: Rework so that it may serve to define full_read,
57164         too.
57165         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
57166
57167 2003-01-07  Bruno Haible  <bruno@clisp.org>
57168
57169         * lib/strtoimax.c: Include <stdint.h> as an alternative to
57170         <inttypes.h>.
57171         * lib/xstrtol.h: Likewise.
57172         * lib/xstrtoimax.c: Likewise.
57173         * lib/xstrtoumax.c: Likewise.
57174         * lib/human.h: Likewise.
57175
57176         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
57177         on systems that have <inttypes.h> but not <stdint.h>.
57178
57179 2003-01-07  Bruno Haible  <bruno@clisp.org>
57180
57181         * MODULES.html.sh: Add copyright notice.
57182         (missed_files): Omit CVS directory entries.
57183         (func_module): Make it work with sed-3.02.
57184         * MODULES.txt: Remove file.
57185
57186 2003-01-06  Jim Meyering  <jim@meyering.net>
57187
57188         * lib/version-etc.c: Update year in translatable copyright string.
57189
57190 2003-01-03  Karl Berry  <karl@gnu.org>
57191
57192         * config/config.{guess,sub}: update from prep.
57193
57194 2003-01-02  Karl Berry  <karl@gnu.org>
57195
57196         * doc/COPYING.DOC: belatedly updated to 1.2.
57197
57198 2003-01-01  Karl Berry  <karl@gnu.org>
57199
57200         * gnulib-tool (func_verify_module): report module name $module in
57201         error message, not $1.
57202         * gnulib-tool (create-testdir): don't complain if destdir couldn't
57203         be created, only if it doesn't exist.
57204         * gnulib-tool (last_checkin_date): don't expand the $Date here.
57205
57206 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57207
57208         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
57209
57210 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57211
57212         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
57213         memcmp if strcoll doesn't work.
57214
57215 2002-12-31  Bruno Haible  <bruno@clisp.org>
57216
57217         * lib/utime.c (utime_null): No need to call ftruncate if the file was
57218         nonempty.
57219
57220 2002-12-31  Bruno Haible  <bruno@clisp.org>
57221
57222         * lib/memcoll.c (STRCOLL): New macro.
57223         (memcoll): Use it.
57224
57225 2002-12-31  Bruno Haible  <bruno@clisp.org>
57226
57227         * lib/localcharset.h: New file.
57228         * lib/localcharset.c: Include it.
57229         * lib/unicodeio.c: Likewise.
57230
57231 2002-12-31  Bruno Haible  <bruno@clisp.org>
57232
57233         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
57234         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
57235
57236 2002-12-31  Bruno Haible  <bruno@clisp.org>
57237
57238         * lib/getline.h: Include <stddef.h>, for size_t.
57239
57240         * lib/unicodeio.h: Include <stddef.h>, for size_t.
57241         * lib/unicodeio.c: Don't include <stddef.h>.
57242
57243 2002-12-31  Bruno Haible  <bruno@clisp.org>
57244
57245         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
57246         HAVE_TM_ZONE.
57247
57248 2002-12-24  Karl Berry  <karl@gnu.org>
57249
57250         * config/config.guess: update from prep.
57251
57252 2002-12-24  Bruno Haible  <bruno@clisp.org>
57253
57254         General infrasructure.
57255         * m4/README: Rewritten.
57256         * m4/onceonly.m4: New file.
57257         * m4/onceonly_2_57.m4: New file.
57258
57259         Module atexit.
57260         * m4/atexit.m4: New file.
57261
57262         Module strtod.
57263         * m4/strtod.m4: New file.
57264
57265         Module strtol.
57266         * m4/strtol.m4: New file.
57267
57268         Module strtoul.
57269         * m4/strtoul.m4: New file.
57270
57271         Module memchr.
57272         * m4/memchr.m4: New file.
57273
57274         Module memcmp.
57275         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
57276         (jm_FUNC_MEMCMP): Invoke it.
57277
57278         Module memcpy.
57279         * m4/memcpy.m4: New file.
57280
57281         Module memmove.
57282         * m4/memmove.m4: New file.
57283
57284         Module memset.
57285         * m4/memset.m4: New file.
57286
57287         Module strcspn.
57288         * m4/strcspn.m4: New file.
57289
57290         Module strpbrk.
57291         * m4/strpbrk.m4: New file.
57292
57293         Module strstr.
57294         * m4/strstr.m4: New file.
57295
57296         Module strerror.
57297         * m4/strerror.m4: New file.
57298
57299         Module mktime.
57300         * m4/mktime.m4: Renamed from jm-mktime.m4.
57301         (gl_PREREQ_MKTIME): New macro.
57302         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
57303
57304         Module malloc.
57305         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
57306         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
57307         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
57308
57309         Module realloc.
57310         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
57311         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
57312         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
57313
57314         Module strftime.
57315         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
57316         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
57317         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
57318         gl_TM_GMTOFF.
57319         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
57320
57321         Module xalloc.
57322         * m4/xalloc.m4: New file.
57323
57324         Module alloca.
57325         * m4/alloca.m4: New file.
57326
57327         Module putenv.
57328         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
57329         (jm_FUNC_PUTENV): Invoke it.
57330
57331         Module setenv.
57332         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
57333         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
57334         when invoked twice.
57335         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
57336         gt_FUNC_SETENV.
57337
57338         Module memrchr.
57339         * m4/memrchr.m4: New file.
57340
57341         Module stpcpy.
57342         * m4/stpcpy.m4: New file.
57343
57344         Module strcase.
57345         * m4/strcase.m4: New file.
57346
57347         Module strdup.
57348         * m4/strdup.m4: New file.
57349
57350         Module strnlen.
57351         * m4/strnlen.m4: New file.
57352
57353         Module strndup.
57354         * m4/strndup.m4: New file.
57355
57356         Module xstrtod.
57357         * m4/xstrtod.m4: New file.
57358
57359         Module xstrtol.
57360         * m4/xstrtol.m4: New file.
57361
57362         Module getdate.
57363         * m4/getdate.m4: New file.
57364
57365         Module unlocked-io.
57366         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
57367         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
57368         * m4/jm-glibc-io.m4n: Remove file.
57369
57370         Module long-options.
57371         * m4/long-options.m4: New file.
57372
57373         Module md5.
57374         * m4/md5.m4: New file.
57375
57376         Module sha.
57377         * m4/sha.m4: New file.
57378
57379         Module getstr.
57380         * m4/getstr.m4: New file.
57381
57382         Module getline.
57383         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
57384         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
57385         <sys/types.h>, for size_t. Use the function name gnu_getline, not
57386         simply getline. Infoke gl_PREREQ_GETLINE.
57387
57388         Module obstack.
57389         * m4/obstack.m4: New file.
57390
57391         Module hash.
57392         * m4/hash.m4: New file.
57393
57394         Module readtokens.
57395         * m4/readtokens.m4: New file.
57396
57397         Module strverscmp.
57398         * m4/strverscmp.m4: New file.
57399
57400         Module stdbool.
57401         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
57402         OSF/1.
57403
57404         Module strtoll.
57405         * m4/strtoll.m4: New file.
57406
57407         Module strtoull.
57408         * m4/strtoull.m4: New file.
57409
57410         Module strtoimax.
57411         * m4/strtoimax.m4: New file.
57412
57413         Module strtoumax.
57414         * m4/strtoumax.m4: New file.
57415
57416         Module xstrtoimax.
57417         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
57418         jm_AC_PREREQ_XSTRTOIMAX.
57419         Moved the strtol prerequisites to strtol.m4.
57420         Moved the strtoll prerequisites to strtoll.m4.
57421         Moved the strtoimax prerequisites to strtoimax.m4.
57422
57423         Module xstrtoumax.
57424         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
57425         jm_AC_PREREQ_XSTRTOUMAX.
57426         Moved the strtoul prerequisites to strtoul.m4.
57427         Moved the strtoull prerequisites to strtoull.m4.
57428         Moved the strtoumax prerequisites to strtoumax.m4.
57429
57430         Module chown.
57431         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
57432         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
57433
57434         Module dup2.
57435         * m4/dup2.m4: New file.
57436
57437         Module ftruncate.
57438         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
57439         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
57440
57441         Module getgroups.
57442         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
57443         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
57444
57445         Module gettimeofday.
57446         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
57447         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
57448         gl_PREREQ_GETTIMEOFDAY.
57449
57450         Module mkdir.
57451         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
57452         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
57453
57454         Module mkstemp.
57455         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
57456         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
57457         jm_AC_TYPE_UINTMAX_T.
57458         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
57459
57460         Module stat.
57461         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
57462         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
57463
57464         Module lstat.
57465         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
57466         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
57467
57468         Module timespec.
57469         * m4/timespec.m4 (gl_TIMESPEC): New macro.
57470         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
57471         * m4/st_mtim.m4: Indentation.
57472
57473         Module nanosleep.
57474         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
57475         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
57476         gl_PREREQ_NANOSLEEP.
57477
57478         Module regex.
57479         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
57480         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
57481         (gl_REGEX): New macro.
57482
57483         Module rename.
57484         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
57485         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
57486
57487         Module rmdir.
57488         * m4/rmdir.m4: New file.
57489
57490         Module utime.
57491         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
57492         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
57493         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
57494
57495         Module dirname.
57496         * m4/dirname.m4: New file.
57497
57498         Module getopt.
57499         * m4/getopt.m4: New file.
57500
57501         Module unistd-safer.
57502         * m4/unistd-safer.m4: New file.
57503
57504         Module fnmatch.
57505         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
57506         declaration.
57507         (gl_PREREQ_FNMATCH_EXTRA): New macro.
57508         (gl_FUNC_FNMATCH_POSIX): New macro.
57509         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
57510         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
57511         simply fnmatch.
57512
57513         Module exclude.
57514         * m4/exclude.m4: New file.
57515
57516         Module human.
57517         * m4/human.m4: New file.
57518
57519         Module acl.
57520         * m4/acl.m4: Nop.
57521
57522         Module backupfile.
57523         * m4/backupfile.m4: New file.
57524         * m4/d-ino.m4: Indentation.
57525
57526         Module fsusage.
57527         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
57528         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
57529         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
57530
57531         Module dirfd.
57532         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
57533         requirements.
57534
57535         Module euidaccess.
57536         * m4/euidaccess.m4: New file.
57537
57538         Module file-type.
57539         * m4/file-type.m4: New file.
57540
57541         Module fileblocks.
57542         * m4/fileblocks.m4: New file.
57543
57544         Module filemode.
57545         * m4/filemode.m4: New file.
57546
57547         Module isdir.
57548         * m4/isdir.m4: New file.
57549
57550         Module lchown.
57551         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
57552         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
57553
57554         Module makepath.
57555         * m4/makepath.m4: New file.
57556
57557         Module modechange.
57558         * m4/modechange.m4: New file.
57559
57560         Module mountlist.
57561         * m4/mountlist.m4: New file.
57562         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
57563         Indentation.
57564
57565         Module path-concat.
57566         * m4/path-concat.m4: New file.
57567
57568         Module pathmax.
57569         * m4/pathmax.m4: New file.
57570
57571         Module same.
57572         * m4/same.m4: New file.
57573
57574         Module save-cwd.
57575         * m4/save-cwd.m4: New file.
57576
57577         Module savedir.
57578         * m4/savedir.m4: New file.
57579
57580         Module xgetcwd.
57581         * m4/xgetcwd.m4: New file.
57582         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
57583
57584         Module xreadlink.
57585         * m4/xreadlink.m4: New file.
57586
57587         Module safe-read.
57588         * m4/safe-read.m4: New file.
57589
57590         Module safe-write.
57591         * m4/safe-write.m4: New file.
57592
57593         Module closeout.
57594         * m4/closeout.m4: New file.
57595
57596         Module stdio-safer.
57597         * m4/stdio-safer.m4: New file.
57598
57599         Module getpass.
57600         * m4/getpass.m4: New file.
57601
57602         Module getugroups.
57603         * m4/getugroups.m4: New file.
57604
57605         Module group-member.
57606         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
57607         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
57608
57609         Module idcache.
57610         * m4/idcache.m4: New file.
57611
57612         Module userspec.
57613         * m4/userspec.m4: New file.
57614
57615         Module gettime.
57616         * m4/clock_time.m4: New file.
57617         * m4/gettime.m4: New file.
57618
57619         Module settime.
57620         * m4/settime.m4: New file.
57621
57622         Module posixtm.
57623         * m4/posixtm.m4: New file.
57624
57625         Module gethostname.
57626         * m4/gethostname.m4: New file.
57627
57628         Module canon-host.
57629         * m4/canon-host.m4: New file.
57630
57631         Module gettext.
57632         * m4/codeset.m4: New file, from gettext-0.11.5.
57633         * m4/gettext.m4: New file, from gettext-0.11.5.
57634         * m4/glibc21.m4: New file, from gettext-0.11.5.
57635         * m4/iconv.m4: New file, from gettext-0.11.5.
57636         * m4/intdiv0.m4: New file, from gettext-0.11.5.
57637         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
57638         * m4/inttypes.m4: New file, from gettext-0.11.5.
57639         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
57640         * m4/isc-posix.m4: New file, from gettext-0.11.5.
57641         * m4/lcmessage.m4: New file, from gettext-0.11.5.
57642         * m4/lib-ld.m4: New file, from gettext-0.11.5.
57643         * m4/lib-link.m4: New file, from gettext-0.11.5.
57644         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
57645         * m4/progtest.m4: New file, from gettext-0.11.5.
57646         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
57647         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
57648         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
57649
57650         Module localcharset.
57651         * m4/localcharset.m4: New file.
57652
57653         Module hard-locale.
57654         * m4/hard-locale.m4: New file.
57655
57656         Module mbswidth.
57657         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
57658         onceonly macros.
57659         * m4/mbrtowc.m4: Add comment.
57660
57661         Module memcasecmp.
57662         * m4/memcasecmp.m4: New file.
57663
57664         Module memcoll.
57665         * m4/memcoll.m4: New file.
57666
57667         Module unicodeio.
57668         * m4/unicodeio.m4: New file.
57669
57670         Module rpmatch.
57671         * m4/rpmatch.m4: New file.
57672
57673         Module yesno.
57674         * m4/yesno.m4: New file.
57675
57676         Module exitfail.
57677         * m4/exitfail.m4: New file.
57678
57679         Module c-stack.
57680         * m4/c-stack.m4 (gl_C_STACK): New macro.
57681         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
57682
57683         Module error.
57684         * m4/error.m4 (gl_ERROR): New macro.
57685         (jm_PREREQ_ERROR): Use onceonly macros.
57686
57687         Module fatal.
57688         * m4/fatal.m4: New file.
57689
57690         Module getloadavg.
57691         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
57692         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
57693
57694         Module getpagesize.
57695         * m4/getpagesize.m4: New file.
57696
57697         Module getusershell.
57698         * m4/getusershell.m4: New file.
57699
57700         Module physmem.
57701         * m4/physmem.m4: New file.
57702
57703         Module posixver.
57704         * m4/posixver.m4: New file.
57705
57706         Module quotearg.
57707         * m4/quotearg.m4: New file.
57708
57709         Module quote.
57710         * m4/quote.m4: New file.
57711
57712         Module readutmp.
57713         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
57714
57715         Module sig2str.
57716         * m4/sig2str.m4: New file.
57717
57718         Other.
57719         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
57720         ulonglong.m4.
57721         * m4/intmax_t.m4: New file.
57722         * m4/d-type.m4: Indentation.
57723         * m4/jm-macros.m4: Update.
57724         * m4/prereq.m4 (jm_PREREQ): Update.
57725         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
57726         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
57727         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
57728         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
57729         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
57730         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
57731         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
57732         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
57733         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
57734         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
57735         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
57736         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
57737         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
57738         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
57739         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
57740         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
57741         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
57742         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
57743         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
57744
57745 2002-12-24  Bruno Haible  <bruno@clisp.org>
57746
57747         * MODULES.txt: Update according to m4/ changes.
57748
57749         Module gettext.
57750         * config.rpath: New file, from gettext-0.11.5.
57751
57752         * modules/*: New module descriptions.
57753         * gnulib-tool: New file.
57754         * MODULES.html.sh: New file.
57755
57756 2002-12-21  Karl Berry  <karl@gnu.org>
57757
57758         * doc/fdl.texi: update to version 1.2.
57759
57760 2002-12-19  Karl Berry  <karl@gnu.org>
57761
57762         * config/config.guess: update from prep.
57763
57764 2002-12-18  Bruno Haible  <bruno@clisp.org>
57765
57766         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
57767         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
57768
57769 2002-12-17  Bruno Haible  <bruno@clisp.org>
57770
57771         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
57772         stdlib.h, string.h.
57773
57774 2002-12-17  Bruno Haible  <bruno@clisp.org>
57775
57776         * lib/canon-host.c (strdup): Remove unused declaration.
57777
57778         * lib/fsusage.c: Include full_read.h.
57779         (get_fs_usage): Use full_read instead of safe_read.
57780
57781         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
57782
57783 2002-12-12  Karl Berry  <karl@gnu.org>
57784
57785         * config/config.guess: update from prep.
57786
57787 2002-12-11  Bruno Haible  <bruno@clisp.org>
57788
57789         * m4/setenv.m4: New file, from gettext-0.11.5.
57790
57791 2002-12-11  Bruno Haible  <bruno@clisp.org>
57792
57793         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
57794         not unsetenv().
57795         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
57796         modifications:
57797
57798         2002-12-11  Bruno Haible  <bruno@clisp.org>
57799
57800                 * setenv.c (alloca): Fall back to malloc.
57801                 (freea): New macro.
57802                 (setenv): Use freea() to free memory allocated with alloca().
57803
57804         2002-11-13  Bruno Haible  <bruno@clisp.org>
57805
57806                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
57807                 function declarations.
57808                 * unsetenv.c (unsetenv): Likewise.
57809
57810         2002-03-04  Bruno Haible  <bruno@clisp.org>
57811
57812                 Portability to AIX 4.3.3.
57813                 * unsetenv.c: New file, extracted from setenv.c.
57814                 * setenv.c: Move the unsetenv() function to unsetenv.c.
57815
57816         2001-12-20  Bruno Haible  <bruno@clisp.org>
57817
57818                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
57819                 use malloc instead. For SunOS 4.
57820
57821         2001-12-11  Bruno Haible  <bruno@clisp.org>
57822
57823                 * setenv.c: Declare alloca.
57824                 (compar_fn_t): New typedef.
57825                 (KNOWN_VALUE, STORE_VALUE): Use it.
57826
57827         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
57828         setenv.h.
57829
57830 2002-12-10  Paul Eggert  <eggert@twinsun.com>
57831
57832         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
57833         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
57834         Choose values that are less likely to collide with system fnmatch
57835         options.
57836         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
57837         defined (e.g., a pure POSIX system).
57838         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
57839         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
57840
57841 2002-12-06  Paul Eggert  <eggert@twinsun.com>
57842
57843         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
57844         a pain in practice to deal with generated m4 files.  This change
57845         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
57846
57847         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
57848         and jm-glibc-io.m4, as they are no longer a special case.
57849         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
57850         kludge and the auto-generation stuff.  Check only whether the
57851         functions are declared, not whether they exist, since older hosts
57852         that don't declare the functions can't use the optimization anyway.
57853
57854 2002-12-06  Jim Meyering  <jim@meyering.net>
57855
57856         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
57857
57858         Merge in changes from libc's misc/error.c, in preparation
57859         for the merge of gnulib's changes back into libc.
57860
57861         * lib/error.c (_): Define only if not already defined.
57862         Move definition to follow all #include directives.
57863         Include unlocked-io.h only if !_LIBC.
57864         [_LIBC]: Include <libio/libioP.h>.
57865         [USE_IN_LIBIO]: Include <libio/iolibio.h>
57866         (fflush): Tweak definition to use INTUSE.
57867         (putc): Define.
57868
57869 2002-12-05  Paul Eggert  <eggert@twinsun.com>
57870
57871         * lib/alloca.c [defined emacs]: Include "lisp.h".
57872         (xalloc_die) [defined emacs]: New macro.
57873         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
57874         [! defined emacs]: Include <xalloc.h>.
57875         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
57876         (pointer): Typedef to POINTER_TYPE *.
57877         (malloc): Remove decl; we now always use xmalloc.
57878         (alloca): Use old-style definition, since Emacs needs this.
57879         Check for arithmetic overflow when computing combined size.
57880
57881 2002-12-04  Paul Eggert  <eggert@twinsun.com>
57882
57883         Do not generate unlocked-io.h automatically, since it's easier to
57884         maintain it by hand.
57885
57886         * lib/unlocked-io.h: New file, from GNU diffutils,
57887         but with proper copyright notice and attribution.
57888         * lib/gen-uio: Remove.
57889         * lib/Makefile.am: Add copyright notice.
57890         (libfetish_a_SOURCES): Add unlocked-io.h.
57891         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
57892         (DISTCLEANFILES, io_functions): Remove macros.
57893         (EXTRA_DIST): Remove gen_uio.
57894         (unlocked-io.h): Remove rule.
57895
57896 2002-12-04  Jim Meyering  <jim@meyering.net>
57897
57898         Reflect the fact that stat.c and lstat.c are no longer generated.
57899         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
57900         (DISTCLEANFILES): Likewise.
57901         (EXTRA_DIST): Likewise.
57902         (all_local): Don't depend on stat.c or lstat.c.
57903         (stat.c, lstat.c): Remove rules.
57904         (EXTRA_DIST): Remove xstat.in.
57905
57906         * lib/xstat.in: Remove file.  Contents moved into stat.c.
57907         * lib/stat.c: New file.  Contents mostly from xstat.in.
57908         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
57909         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
57910
57911         * lib/safe-read.c: Rework so that it may serve to define safe_write,
57912         too.
57913         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
57914
57915 2002-12-03  Jim Meyering  <jim@meyering.net>
57916
57917         * lib/safe-read.c, safe-write.c: Change variable names and comments,
57918         but not semantics, to minimize the differences between these two files.
57919         (safe_read): Change comment to mention SAFE_READ_ERROR.
57920
57921         * lib/safe-read.c (IS_EINTR): Define.
57922         (safe_read): Use IS_EINTR in place of in-function cpp directives.
57923
57924 2002-12-02  Jim Meyering  <jim@meyering.net>
57925
57926         * lib/safe-read.c (EINTR): Define.
57927         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
57928         (INT_MAX): Provide fallback.
57929         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
57930
57931         * lib/safe-read.h (SAFE_READ_ERROR): Define.
57932
57933 2002-12-02  Bruno Haible  <bruno@clisp.org>
57934
57935         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
57936         Define, taken from safe-read.c.
57937         (INT_MAX): Provide fallback.
57938         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
57939         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
57940
57941         * lib/safe-read.c (EINTR): Remove definition.
57942         (safe_read): Don't use EINTR if it is absent.
57943
57944 2002-12-01  Jim Meyering  <jim@meyering.net>
57945
57946         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
57947         zero.
57948         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
57949
57950 2002-11-27  Paul Eggert  <eggert@twinsun.com>
57951
57952         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
57953         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
57954         with `if (! (value < limit)) abort ();', for readability.
57955
57956 2002-11-26  Karl Berry  <karl@gnu.org>
57957
57958         * lib/strdup.c: copy from libc again, with jim's ok.
57959         * lib/.cppi-disable: re-add strdup.c
57960
57961 2002-11-25  Karl Berry  <karl@gnu.org>
57962
57963         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
57964         instead of "strtol.c".
57965
57966 2002-11-25  Karl Berry  <karl@gnu.org>
57967
57968         * config/install-sh: update from automake for variable quoting, $0 in
57969         error msgs, etc.
57970
57971         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
57972         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
57973         entry.
57974
57975 2002-11-25  Jim Meyering  <jim@meyering.net>
57976
57977         * lib/mktime.c: Sync from libc, now that it has the latest fix.
57978
57979 2002-11-24  Karl Berry  <karl@gnu.org>
57980
57981         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
57982         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
57983
57984 2002-11-24  Jim Meyering  <jim@meyering.net>
57985
57986         Update from coreutils:
57987
57988         * lib/mktime.c: Merge in changes from libc.
57989
57990         Avoid a link-time failure on some Linux systems.
57991         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
57992         (otherwise).
57993         (__mon_yday): Declare with the STATIC attribute.
57994         (__mktime_internal): Likewise.
57995         Based on a report from Greg Schafer.
57996
57997 2002-11-23  Jim Meyering  <jim@meyering.net>
57998
57999         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
58000         Use `unsigned', not `int', as type of index.
58001
58002         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
58003
58004         * lib/fsusage.c: Remove unneeded parentheses around operands of
58005         `defined'.
58006
58007 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58008
58009         * lib/quotearg.h: Allow multiple inclusion by surrounding with
58010         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
58011         so that we can be included first.
58012         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
58013         * lib/quotearg.c: Include quotearg.h immediately after config.h.
58014         No need to include stddef.h or sys/types.h any more.
58015         Surround local include files with "", not "<>".
58016         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
58017         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
58018         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
58019         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
58020         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
58021         (ISPRINT): Remove; no longer needed now that we assume C89.
58022
58023         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
58024         Preserve errno.
58025
58026         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
58027         quotearg_char): Use SIZE_MAX rather than
58028         (size_t) -1 when we are talking about "infinity".
58029
58030         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
58031
58032 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58033
58034         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
58035         hint that one should use `if (! x) abort ();' rather than `assert
58036         (x);', and anyway it's one less thing to worry about configuring.
58037         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
58038         hash_rehash, hash_insert): Use abort rather than assert.
58039
58040 2002-11-22  Bruno Haible  <bruno@clisp.org>
58041
58042         * lib/safe-read.h: Assume C89. Add comments.
58043         (safe_read): Change return type to size_t.
58044         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
58045         byte counts > SSIZE_MAX correctly.
58046         * lib/safe-write.h: New file.
58047         * lib/safe-write.c: New file.
58048         * lib/full-read.h: New file.
58049         * lib/full-read.c: New file.
58050         * lib/full-write.h: Assume C89. Add comments.
58051         * lib/full-write.c: Include safe-write.h.
58052         (full_write): Rewritten to use safe_write.
58053         Suggested by Jim Meyering and Paul Eggert.
58054
58055 2002-11-21  Jim Meyering  <jim@meyering.net>
58056
58057         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
58058
58059         Merge in changes from the coreutils.
58060
58061         2002-09-25  Paul Eggert  <eggert@twinsun.com>
58062         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
58063         <stdint.h>.
58064         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
58065         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
58066         int.  Work more efficiently if X is the same width as uintmax_t.
58067         Do not compare X to -1, to avoid bogus compiler warning.
58068         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
58069         Don't assume that f_frsize and f_bsize are the same type.
58070
58071         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
58072         warning on FreeBSD.
58073
58074         * lib/makepath.c (make_path): Restore umask *before* creating the final
58075         component.
58076         (make_path): Minor reformatting.
58077
58078         * lib/xmalloc.c: Adjust to work with new autoconf macros,
58079         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
58080         HAVE_MALLOC/HAVE_REALLOC.
58081
58082         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
58083         dummy ones.  At least on GNU/Linux systems, `auto' means something
58084         else.
58085         From Michael Stone.
58086
58087 2002-11-21  Bruno Haible  <bruno@clisp.org>
58088
58089         Remove case insensitive option matching.
58090         * lib/argmatch.h (argcasematch): Remove declaration.
58091         (ARGCASEMATCH): Remove macro.
58092         (__xargmatch_internal): Remove case_sensitive argument.
58093         (XARGMATCH): Update.
58094         (XARGCASEMATCH): Remove macro.
58095         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
58096         case_sensitive argument.
58097         (argcasematch): Remove function.
58098         (__xargmatch_internal): Remove case_sensitive argument.
58099         (main): Use XARGMATCH instead of XARGCASEMATCH.
58100
58101         * lib/xmalloc.c: Change compile-time error message. Add comment about
58102         required autoconf version.
58103
58104 2002-11-20  Paul Eggert  <eggert@twinsun.com>
58105
58106         Merge argmatch cleanups from Bison.  Assume C89.
58107
58108         * lib/argmatch.c: Include config.h here, not in argmatch.h.
58109         Include stdlib.h, for EXIT_FAILURE.
58110         Always include <string.h>, since we assume C89.
58111         (EXIT_FAILURE): Remove pre-C89 bug workaround.
58112         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
58113         Include <stddef.h> instead, since it's all we need for size_t.
58114         (PARAMS): Remove.  All uses removed.
58115         (ARRAY_CARDINALITY): Do not bother to #undef.
58116         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
58117         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58118         Remove unnecessary parentheses.
58119         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58120         Insert necessary parentheses.
58121         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
58122         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
58123
58124 2002-11-19  Bruno Haible  <bruno@clisp.org>
58125
58126         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
58127         * lib/mbswidth.h: Include <stddef.h>, for size_t.
58128
58129         * lib/mbswidth.h (PARAMS): Remove macro.
58130         (mbswidth, mbsnwidth): Use ANSI C function declarations.
58131         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
58132
58133         * lib/gcd.h (PARAMS): Remove macro.
58134         (gcd): Use ANSI C function declarations.
58135         * lib/gcd.c (gcd): Likewise.
58136
58137 2002-11-15  Bruno Haible  <bruno@clisp.org>
58138
58139         * lib/strcspn.c: Include <stddef.h>.
58140         (strcspn): Use ANSI C function declaration. Change return type to
58141         size_t. Use NULL.
58142         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
58143         (strpbrk): Use NULL.
58144         * lib/strpbrk.h (PARAMS): Remove macro.
58145         (strpbrk): Use ANSI C function declaration.
58146         * lib/strstr.c: Don't include <sys/types.h>.
58147         * lib/strstr.h (PARAMS): Remove macro.
58148         (strstr): Use ANSI C function declarations.
58149
58150 2002-11-14  Karl Berry  <karl@gnu.org>
58151
58152         * config/mkinstalldirs: `do' on separate line, instead of
58153         `for var; do'.
58154
58155 2002-11-06  Bruno Haible  <bruno@clisp.org>
58156
58157         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
58158         * lib/gcd.c (gcd): Likewise.
58159
58160 2002-11-05  Bruno Haible  <bruno@clisp.org>
58161
58162         * lib/gcd.h: New file, from gettext-0.11.5.
58163         * lib/gcd.c: New file, from gettext-0.11.5.
58164
58165 2002-11-05  Bruno Haible  <bruno@clisp.org>
58166
58167         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58168         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58169         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58170         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58171
58172         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
58173         <libintl.h>.
58174         * lib/makepath.c: Include gettext.h instead of <locale.h> and
58175         <libintl.h>.
58176
58177         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
58178         * lib/human.c: Include gettext.h instead of <libintl.h>.
58179         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
58180         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
58181         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
58182         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
58183         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
58184         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
58185         (textdomain): Remove definition.
58186         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
58187
58188         * lib/long-options.c: Remove include of <libintl.h> and definition of
58189         _.
58190         * lib/same.c: Remove include of <libintl.h> and definition of _.
58191
58192 2002-11-04  Owen Taylor  <otaylor@redhat.com>
58193
58194         * lib/config.charset: A few additions for Solaris.
58195
58196 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58197
58198         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
58199         * lib/localcharset.c (locale_charset): Declare as extern "C".
58200
58201 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58202
58203         * lib/config.charset: msdos in uk_UA uses CP1125.
58204
58205 2002-11-04  Bruno Haible  <bruno@clisp.org>
58206
58207         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
58208         * lib/strcase.h: New file, from GNU gettext-0.11.5.
58209         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
58210         * lib/strstr.h: New file, from GNU gettext-0.11.5.
58211         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
58212
58213 2002-11-04  Bruno Haible  <bruno@clisp.org>
58214
58215         * lib/localcharset.c (locale_charset): Don't return an empty string.
58216
58217 2002-11-04  Bruno Haible  <bruno@clisp.org>
58218
58219         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
58220         aliases.
58221
58222 2002-11-04  Bruno Haible  <bruno@clisp.org>
58223
58224         * lib/config.charset: Update for newest glibc. Add canonical names
58225         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
58226
58227 2002-11-04  Bruno Haible  <bruno@clisp.org>
58228
58229         * lib/config.charset: Add support for NetBSD.
58230
58231 2002-11-04  Bruno Haible  <bruno@clisp.org>
58232
58233         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
58234
58235 2002-11-01  Bruno Haible  <bruno@clisp.org>
58236
58237         * configure.in: Add AC_CONFIG_AUX_DIR call.
58238         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
58239         test/Makefile.
58240         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
58241
58242 2002-09-28  Karl Berry  <karl@gnu.org>
58243
58244         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
58245         installed automake until the next release, since changes have been
58246         made.
58247
58248 2002-09-25  Karl Berry  <karl@gnu.org>
58249
58250         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
58251         * lib/getopt*: copy from libc/posix.
58252         * lib/gettext.h: copy from gettext.
58253         * lib/.cppi-disable: add strdup.c, gettext.h.
58254
58255 2002-09-25  Karl Berry  <karl@gnu.org>
58256
58257         * config/srclist.txt: enable gettext.h check.
58258         * config/config.{guess,sub}: update from prep.
58259         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
58260                 from automake 1.6.3.
58261         See srclist*.
58262
58263 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
58264
58265         * regex.c (PATFETCH): Remove the translating fetch.
58266         (PATFETCH_RAW): Rename to PATFETCH.
58267         (set_image_of_range): New fun.
58268         (SET_RANGE_TABLE_WORK_AREA): Use it.
58269         (regex_compile): Don't translate the pattern chars so eagerly.
58270         Only do it when inserting an `exactn' bytecode or when handling
58271         a char-range.
58272         (mutually_exclusive_p): Avoid empty statement.
58273
58274 2002-07-06  Jim Meyering  <meyering@lucent.com>
58275
58276         * m4/README: Don't mention Makefile.am.in.
58277         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
58278
58279 2002-07-01  Jim Meyering  <meyering@lucent.com>
58280
58281         * lib/c-stack.c: Include sys/time.h.
58282         From Volker Borchert.
58283
58284 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58285
58286         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
58287
58288 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58289
58290         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
58291         New macro.  Use it uniformly instead of
58292         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
58293         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
58294         reported by Vin Shelton.
58295
58296 2002-06-22  Paul Eggert  <eggert@twinsun.com>
58297
58298         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
58299         Do not assume SA_SIGINFO behavior.
58300         Bug reported by Jim Meyering on NetBSD 1.5.2.
58301
58302 2002-06-22  Jim Meyering  <meyering@lucent.com>
58303
58304         * m4/c-stack.m4: New file, from diffutils-2.8.2.
58305         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
58306
58307         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
58308         now that configure.ac uses AC_GNU_SOURCE.
58309         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
58310         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
58311
58312         Update to latest tools.  Suggestions from Paul Eggert.
58313         * m4/stdbool.m4: New file, from diffutils-2.8.2.
58314         * m4/gnu-source.m4: Update from diffutils-2.8.2.
58315         * m4/fnmatch.m4: Likewise.
58316         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
58317         to AC_HEADER_STDBOOL
58318
58319 2002-06-22  Jim Meyering  <meyering@lucent.com>
58320
58321         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
58322         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
58323
58324 2002-06-22  Jim Meyering  <meyering@lucent.com>
58325
58326         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
58327
58328         * lib/exitfail.c, exitfail.h: Likewise.
58329         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
58330
58331         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
58332         of fnmatch.h.
58333         (EXTRA_DIST): Add fnmatch_loop.c.
58334         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
58335
58336         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
58337         * lib/fnmatch.c: Update from diffutils-2.8.2.
58338         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
58339         * lib/fnmatch.h: Remove file.
58340
58341 2002-06-21  Jim Meyering  <meyering@lucent.com>
58342
58343         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
58344         * m4/mbrtowc.m4: Likewise.
58345
58346         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
58347         * m4/mbswidth.m4: Reflect name change:
58348         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
58349         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58350
58351         * m4/lib-link.m4: Update from gettext-0.11.2.
58352         * m4/gettext.m4: Likewise.
58353
58354         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
58355         From Alfred M. Szmidt.
58356
58357 2002-06-18  Paul Eggert  <eggert@twinsun.com>
58358
58359         * lib/file-type.h: Report an error if neither S_ISREG nor
58360         S_IFREG is defined, instead of using a test specific to glibc
58361         2.2.  This should be safe, since POSIX requires S_ISREG and
58362         Unix Version 7 had S_IFREG.  We don't need to check for
58363         <sys/types.h> since we don't use any symbols that it defines.
58364
58365 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
58366
58367         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
58368         $@-t, so that each temporary file name is unique and valid in the first
58369         8 characters, for operation under DOS.
58370
58371 2002-06-15  Paul Eggert  <eggert@twinsun.com>
58372
58373         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
58374
58375 2002-06-15  Jim Meyering  <meyering@lucent.com>
58376
58377         Work even with DJGPP 2.03, which lacks support for symlinks.
58378         From Richard Dawe.
58379         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
58380         is defined.
58381         * lib/lchown.c (S_ISLNK): Likewise.
58382
58383 2002-06-15  Jim Meyering  <meyering@lucent.com>
58384
58385         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
58386         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
58387         have been included before this file.
58388
58389 2002-06-14  Jim Meyering  <meyering@lucent.com>
58390
58391         * lib/file-type.h: Use the version from diffutils-2.8.2.
58392         * lib/file-type.c: Likewise.
58393
58394 2002-06-07  Jim Meyering  <meyering@lucent.com>
58395
58396         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
58397         They're needed at least for NetBSD 1.5.2.
58398         ($statxfs_includes): Include those same headers.
58399         ($statxfs_includes): Include sys/vfs.h if available.
58400         ($statxfs_includes): Likewise for sys/statvfs.h.
58401         Check for the following members in both structs statfs and statvfs:
58402         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
58403
58404 2002-06-01  Jim Meyering  <meyering@lucent.com>
58405
58406         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
58407         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
58408
58409 2002-05-28  Jim Meyering  <meyering@lucent.com>
58410
58411         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
58412         Reported by Volker Borchert.
58413
58414 2002-05-27  Jim Meyering  <meyering@lucent.com>
58415
58416         Fix a problem seen only on nonconforming systems whereby ls.c's
58417         use of localtime, and then of gettimeofday would cause trouble:
58418         the localtime call used to initialize rpl_gettimeofday's save
58419         mechanism would clobber ls's current local time information so
58420         that in any long listing the first file would always be listed
58421         with date 1970-01-01.  Analysis by Volker Borchert.
58422
58423         * lib/gettimeofday.c (localtime): Undefine.
58424         (rpl_localtime): New function.
58425
58426 2002-05-27  Jim Meyering  <meyering@lucent.com>
58427
58428         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
58429         localtime.
58430
58431         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
58432         use the replacement function; it wouldn't resolve at link time.
58433         Reported by Volker Borchert.
58434
58435 2002-05-22  Jim Meyering  <meyering@lucent.com>
58436
58437         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
58438         file-type.h.
58439         * lib/file-type.h: New file.
58440         * lib/file-type.c (file_type): New file/function.  Extracted from
58441         diffutils.
58442
58443 2002-04-30  Jim Meyering  <meyering@lucent.com>
58444
58445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
58446
58447 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58448
58449         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
58450
58451 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58452
58453         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
58454         Do not check for alloca.h (no longer used) or stdbool.h (was never
58455         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
58456
58457 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58458
58459         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
58460
58461 2002-04-29  Jim Meyering  <meyering@lucent.com>
58462
58463         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
58464         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
58465         Use AC_FUNC_STRNLEN here instead.
58466
58467         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
58468         With autoconf-2.53a, it's part of AC_PROG_CC.
58469
58470 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58471
58472         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
58473         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
58474
58475 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58476
58477         * lib/sig2str.h, lib/sig2str.c: New files.
58478         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
58479
58480 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58481
58482         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
58483         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
58484         of 127, since 64 is the largest conceivable number for ancient
58485         nonstandard hosts.
58486         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
58487
58488 2002-04-28  Jim Meyering  <meyering@lucent.com>
58489
58490         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
58491
58492 2002-04-24  Jim Meyering  <meyering@lucent.com>
58493
58494         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
58495         (jm_PREREQ): Use it.
58496
58497         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
58498         mach/mach.h fcntl.h.
58499         Check for this function: setlocale.
58500
58501 2002-04-24  Jim Meyering  <meyering@lucent.com>
58502
58503         * lib/gettext.h: New file, from Gettext.
58504         * lib/Makefile.am (INCLUDES): Remove -I../intl.
58505         (libfetish_a_SOURCES): Add gettext.h.
58506
58507 2002-04-16  Jim Meyering  <meyering@lucent.com>
58508
58509         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
58510         ut_pid, ut_id, ut_exit.
58511
58512 2002-04-16  Jim Meyering  <meyering@lucent.com>
58513
58514         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
58515         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
58516         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
58517
58518 2002-04-12  Jim Meyering  <meyering@lucent.com>
58519
58520         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
58521         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
58522         existence of the getmntinfo function.  Needed for Darwin 5.3.
58523
58524         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
58525         This is necessary at least on Darwin 5.3.
58526
58527         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
58528         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
58529         strnlen.o in the library, and that makes some versions of ranlib
58530         object.
58531
58532 2002-04-12  Jim Meyering  <meyering@lucent.com>
58533
58534         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
58535
58536 2002-04-09  Jim Meyering  <meyering@lucent.com>
58537
58538         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
58539         to be more precise.  Rather than saying we're checking whether the
58540         function `works', say what we're testing.
58541         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
58542         Reported by Bruno Haible.
58543
58544 2002-03-10  Jim Meyering  <meyering@lucent.com>
58545
58546         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
58547         Suggestion from Santiago Vila.
58548
58549 2002-03-08  Jim Meyering  <meyering@lucent.com>
58550
58551         * lib/rename.c: Mention that this wrapper is needed also on
58552         mips-dec-ultrix4.4 systems.
58553
58554 2002-03-02  Jim Meyering  <meyering@lucent.com>
58555
58556         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
58557         not HAVE_CLOCK_SETTIME.
58558
58559 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58560
58561         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
58562         Check for clock_settime.
58563
58564 2002-02-27  Paul Eggert  <eggert@twinsun.com>
58565
58566         * lib/nanosleep.h: Rename to....
58567         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
58568
58569         * lib/gettime.c: New file.
58570         * lib/settime.c: New file.
58571         * lib/stime.c: Remove.
58572
58573         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
58574         timespec.h.  Remove nanosleep.h.
58575
58576 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58577
58578         * m4/acl.m4: New file.
58579         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
58580         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
58581
58582 2002-02-25  Paul Eggert  <eggert@twinsun.com>
58583
58584         * lib/acl.c, lib/acl.h: New files.
58585         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
58586
58587 2002-02-24  Jim Meyering  <meyering@lucent.com>
58588
58589         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
58590         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
58591         cause trouble.  Reported by Nelson Beebe.
58592
58593 2002-02-23  Paul Eggert  <eggert@twinsun.com>
58594
58595         * lib/path-concat.c (xpath_concat): Reorder code to pacify
58596         compilers that don't know that xalloc_die never returns.
58597
58598 2002-02-20  Jim Meyering  <meyering@lucent.com>
58599
58600         * lib/getdate.c: Regenerate using bison-1.33.
58601
58602 2002-02-17  Jim Meyering  <meyering@lucent.com>
58603
58604         * config/config.guess (main): Don't use `head -1'; it's no longer
58605         portable. Use `sed 1q' instead.
58606
58607 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
58608
58609         * m4/codeset.m4: Upgrade to gettext-0.11.
58610         * m4/gettext.m4: Upgrade to gettext-0.11.
58611         * m4/glibc21.m4: Upgrade to gettext-0.11.
58612         * m4/iconv.m4: Upgrade to gettext-0.11.
58613         * m4/isc-posix.m4: Upgrade to gettext-0.11.
58614         * m4/lcmessage.m4: Upgrade to gettext-0.11.
58615         * m4/lib-ld.m4: New file, from gettext-0.11.
58616         * m4/lib-link.m4: New file, from gettext-0.11.
58617         * m4/lib-prefix.m4: New file, from gettext-0.11.
58618         * m4/progtest.m4: Upgrade to gettext-0.11.
58619
58620 2002-02-15  Paul Eggert  <eggert@twinsun.com>
58621
58622         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
58623         (jm_PREREQ): Use it.
58624
58625 2002-02-15  Paul Eggert  <eggert@twinsun.com>
58626
58627         * lib/posixver.c, lib/posixver.h: New files.
58628         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
58629
58630 2002-02-02  Paul Eggert  <eggert@twinsun.com>
58631             Bruno Haible  <bruno@clisp.org>
58632
58633         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
58634         (fwrite_success_callback): New declaration.
58635         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
58636         print_unicode_char. Call failure callback instead of error.
58637         (fwrite_success_callback): New function.
58638         (exit_failure_callback): New function.
58639         (fallback_failure_callback): New function.
58640         (print_unicode_char): Call unicode_to_mb.
58641
58642 2002-01-26  Jim Meyering  <meyering@lucent.com>
58643
58644         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
58645         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
58646
58647 2002-01-26  Jim Meyering  <meyering@lucent.com>
58648
58649         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
58650
58651 2002-01-22  Paul Eggert  <eggert@twinsun.com>
58652
58653         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
58654
58655 2002-01-22  Jim Meyering  <meyering@lucent.com>
58656
58657         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
58658         Otherwise, some versions of automake would omit the rule that makes
58659         Makefile from Makefile.in.
58660
58661 2002-01-21  Paul Eggert  <eggert@twinsun.com>
58662
58663         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
58664         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
58665         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
58666         (memcoll): Set errno to zero if there is no error.
58667
58668         * lib/quotearg.c (quotearg_buffer_restyled):
58669         Fix bug with quoting buffers containing NUL when backslashing escapes.
58670         This bug was exposed by the other changes in this patch.
58671         (quotearg_n_options): New arg ARGSIZE.
58672         All callers changed.
58673         (quoting_options_from_style): New function.
58674         (quotearg_n_style): Use it.
58675         (quotearg_n_style_mem): New function.
58676
58677         * lib/quotearg.h (quotearg_n_style_mem): New function.
58678
58679 2002-01-19  Jim Meyering  <meyering@lucent.com>
58680
58681         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
58682         Remove useless quotes: DF_PROG="df".
58683         * m4/strnlen.m4: New file.
58684
58685 2002-01-16  Paul Eggert  <eggert@twinsun.com>
58686
58687         * lib/backupfile.c (ISDIGIT): Comment fix.
58688         * lib/getdate.y (ISDIGIT): Likewise.
58689         * lib/posixtm.c (ISDIGIT, year): Likewise.
58690         * lib/strverscmp.c (ISDIGIT): Likewise.
58691         * lib/userspec.c (ISDIGIT): Likewise.
58692
58693 2002-01-16  Jim Meyering  <meyering@lucent.com>
58694
58695         * lib/getdate.y: Add three semicolons, each just before a closing
58696         brace. Bison (as of version 1.31) no longer papers over that mistake.
58697
58698 2002-01-05  Jim Meyering  <meyering@lucent.com>
58699
58700         * lib/version-etc.c (version_etc_copyright): Update copyright year.
58701
58702 2001-12-19  Paul Eggert  <eggert@twinsun.com>
58703
58704         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
58705         not silently exit merely because the output buffer happens to
58706         have nothing pending.
58707
58708 2001-12-18  Paul Eggert  <eggert@twinsun.com>
58709
58710         See the big note in ../ChangeLog.
58711         * lib/human.c (suffixes): Prefer K to k for 1024.
58712         (generate_suffix_backwards): New function.
58713         (human_readable_inexact): Use it.
58714         * lib/xstrtol.c (__xstrtol): If there is no number but there
58715         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
58716         Accept 'K' as well as 'k'.
58717
58718 2001-12-15  Jim Meyering  <meyering@lucent.com>
58719
58720         * lib/regex.h (__restrict_arr): Update from libc.
58721
58722         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
58723         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
58724         (STREQ): Define.
58725
58726 2001-12-14  Jim Meyering  <meyering@lucent.com>
58727
58728         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
58729         Suggestion from Bruno Haible.
58730
58731 2001-12-10  Jim Meyering  <meyering@lucent.com>
58732
58733         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
58734         xrealloc, Instead, include "xalloc.h".
58735         (initbuffer): Don't cast xmalloc return value to char*.
58736         (readline): Reword comment.
58737         Don't cast xrealloc return value to char*
58738         Return NULL, not 0.
58739
58740 2001-12-09  Jim Meyering  <meyering@lucent.com>
58741
58742         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
58743         about `signed and unsigned type in conditional expression'.
58744         * lib/posixtm.c (posix_time_parse): Likewise.
58745
58746         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
58747
58748         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
58749         to avoid a pedantic warning.
58750
58751         * lib/getstr.c: Don't include assert.h.
58752         (getstr): Remove warning-evoking assertions.
58753         Return -1 if offset parameter is out of bounds.
58754         Change the type of a local from int to size_t.
58755
58756         * lib/strftime.c (my_strftime_localtime_r): Include this function
58757         definition in the `#if ! HAVE_TM_GMTOFF' block.
58758
58759         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
58760         Include xalloc.h instead.
58761
58762 2001-12-02  Jim Meyering  <meyering@lucent.com>
58763
58764         * lib/tempname.c: Don't declare getenv, thus reverting the change of
58765         2001-11-18.  It's no longer necessary, now that stdlib.h is always
58766         included.
58767
58768         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
58769         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
58770
58771 2001-11-30  Akim Demaille  <akim@epita.fr>
58772
58773         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
58774         before being defined.
58775
58776 2001-11-27  Paul Eggert  <eggert@twinsun.com>
58777
58778         * lib/quotearg.h (quotearg_n, quotearg_n_style):
58779         First arg is int, not unsigned.
58780         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
58781         (SIZE_MAX, UINT_MAX): New macros.
58782         (quotearg_n_options): Abort if N is negative.
58783         Avoid overflow check on hosts where size_t is 64 bits and int
58784         is 32 bits, as overflow is impossible there.
58785         Fix off-by-one typo that caused unnecessary reallocation.
58786
58787 2001-11-27  Jim Meyering  <meyering@lucent.com>
58788
58789         * lib/tempname.c: Merge with version from libc.
58790         * lib/regex.c: Likewise.
58791
58792         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
58793         systems for which STDC_HEADERS is 0, it was not included, resulting in
58794         a warning about an integer-to-pointer conversion problem with getenv.
58795         Reported by Volker Borchert.
58796
58797 2001-11-26  Jim Meyering  <meyering@lucent.com>
58798
58799         * lib/gtod.h: Remove file.
58800         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
58801         * lib/gettimeofday.c: Don't include gtod.h.
58802         (GTOD_init): Remove function.
58803         (rpl_gettimeofday): Do its job here instead, rather than aborting.
58804         Suggestion from Volker Borchert.
58805
58806 2001-11-23  Jim Meyering  <meyering@lucent.com>
58807
58808         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
58809         it.
58810         * lib/hash.c (struct hash_table): Define it here instead.
58811
58812 2001-11-22  Jim Meyering  <meyering@lucent.com>
58813
58814         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
58815
58816 2001-11-20  Jim Meyering  <meyering@lucent.com>
58817
58818         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
58819         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
58820
58821 2001-11-19  Jim Meyering  <meyering@lucent.com>
58822
58823         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
58824         directory.  Use "conftestXXXXXX" as the template.
58825         Suggestion from Paul Eggert.
58826
58827         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
58828         immediately, so the test doesn't mistakenly hit the max-open-files
58829         limit.
58830
58831 2001-11-18  Paul Eggert  <eggert@twinsun.com>
58832
58833         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
58834         (TEMPORARIES): New macro.
58835         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
58836         removes an artificial limitation (e.g. HP-UX 10.20, where
58837         TMP_MAX is 17576).
58838
58839 2001-11-18  Jim Meyering  <meyering@lucent.com>
58840
58841         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
58842
58843 2001-11-18  Jim Meyering  <meyering@lucent.com>
58844
58845         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
58846         on SunOS 4.
58847
58848         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
58849         files will be created before anything else.
58850
58851 2001-11-17  Paul Eggert  <eggert@twinsun.com>
58852
58853         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
58854         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
58855
58856 2001-11-17  Jim Meyering  <meyering@lucent.com>
58857
58858         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
58859         Prompted by a report from Bob Proulx.
58860
58861         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
58862         Instead, require UTILS_FUNC_MKSTEMP.
58863
58864 2001-11-17  Jim Meyering  <meyering@lucent.com>
58865
58866         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
58867         Now, that's done as part of AC_FUNC_STRTOD.
58868
58869 2001-11-17  Jim Meyering  <meyering@lucent.com>
58870
58871         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
58872         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
58873         rather than group writable.  Patch by Juan F. Codagnone.
58874
58875         * lib/readtokens.c: Remove explicit declarations of xmalloc and
58876         xrealloc, Instead, include "xalloc.h".
58877
58878         * lib/mountlist.c: Include unlocked-io.h after all system headers.
58879         Remove explicit declarations of xmalloc, xrealloc,
58880         and xstrdup.  Instead, include "xalloc.h".
58881
58882         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
58883         unlocked-io.h.
58884         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
58885         Likewise.
58886         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
58887
58888         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
58889         Reported by Padraig Brady.
58890
58891         * lib/mkstemp.c: #undef mkstemp.
58892         Include config.h.
58893         (rpl_mkstemp): Rename from mkstemp.
58894         Protoize.
58895
58896 2001-11-16  Jim Meyering  <meyering@lucent.com>
58897
58898         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
58899         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
58900         determine the amount of total physical memory, use pstat_getstatic.
58901         HPUX-11 doesn't define _SC_PHYS_PAGES.
58902         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
58903         If sysconf couldn't be used to determine the amount of available
58904         physical memory, use both pstat_getstatic and pstat_getdynamic.
58905         Based on a patch from Bob Proulx.
58906
58907 2001-11-10  Jim Meyering  <meyering@lucent.com>
58908
58909         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
58910         (jm_PREREQ): Use it.
58911
58912 2001-11-09  Jim Meyering  <meyering@lucent.com>
58913
58914         * m4/jm-macros.m4: Require autoconf-2.52f.
58915         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
58916         Use these AC_-prefixed names, not the AM_-prefixed ones.
58917
58918         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
58919
58920 2001-11-05  Jim Meyering  <meyering@lucent.com>
58921
58922         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
58923
58924 2001-11-04  Jim Meyering  <meyering@lucent.com>
58925
58926         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
58927         $DEFS.
58928
58929 2001-11-03  Jim Meyering  <meyering@lucent.com>
58930
58931         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
58932         of AC_DEFUN.
58933
58934         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
58935         know the name of the variable in the macro definition.
58936
58937 2001-11-03  Jim Meyering  <meyering@lucent.com>
58938
58939         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
58940         in argmatch_to_argument call.
58941
58942         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
58943         argument.
58944
58945         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
58946         e.g., a fault due to an attempt to free a NULL pointer.
58947
58948 2001-11-01  Jim Meyering  <meyering@lucent.com>
58949
58950         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
58951         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
58952
58953 2001-11-01  Jim Meyering  <meyering@lucent.com>
58954
58955         * lib/dirfd.c, lib/dirfd.h: New files.
58956         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
58957
58958         * lib/hash.c (hash_print) [TESTING]: Clean up.
58959
58960 2001-10-22  Paul Eggert  <eggert@twinsun.com>
58961
58962         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
58963         to avoid a warning if -Wall.
58964
58965 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
58966
58967         * README: New file
58968         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
58969         (per RMS's instructions, this is now the canonical source)
58970         * lgpl/, gpl/: New directories.
58971
58972 2001-10-21  Paul Eggert  <eggert@twinsun.com>
58973
58974         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
58975
58976 2001-10-21  Jim Meyering  <meyering@lucent.com>
58977
58978         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
58979         this code would end up calling gettext even in packages built
58980         with --disable-nls.
58981         * lib/getopt.c (_): Likewise.
58982         * lib/regex.c (_): Likewise.
58983
58984 2001-10-20  Paul Eggert  <eggert@twinsun.com>
58985
58986         * m4/error.m4 (jm_PREREQ_ERROR):
58987         Do not invoke AC_CHECK_FUNCS with strerror_r, as
58988         AC_FUNC_STRERROR_R does that.
58989         Check for strerror declaration.
58990
58991         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
58992         are supposed to have them these days.
58993         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
58994         Merge changes from latest Autoconf CVS.
58995         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
58996         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
58997         POSIX decided to standardize on the int flavor of strerror_r.
58998
58999 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59000
59001         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
59002         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
59003         Use strerror_r that is only a macro, even if it is not a function.
59004         (strerror): Check for HAVE_DECL_STRERROR before declaring.
59005         (private_strerror): Use prototypes, not old-style function definition.
59006         (print_errno_message): New function.
59007         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
59008         char*-flavored one.
59009         (error_tail, error, error_at_line): Use it.
59010
59011 2001-10-11  Jim Meyering  <meyering@lucent.com>
59012
59013         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
59014         and quote_n (1, ... to avoid clobbering a buffer.
59015
59016 2001-10-05  Jim Meyering  <meyering@lucent.com>
59017
59018         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
59019         hash-pjw.h.
59020         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
59021         * lib/hash-pjw.h: New file.
59022
59023 2001-09-30  Jim Meyering  <meyering@lucent.com>
59024
59025         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
59026         `struct fsstat' has the `f_fstypename' member.
59027         Use that to define FS_TYPE, which is now used to make
59028         the getfsstat link test tighter.
59029
59030 2001-09-30  Jim Meyering  <meyering@lucent.com>
59031
59032         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
59033         Include <sys/ucred.h>, for Apple Darwin.
59034         Include sys/mount.h and sys/fs_types.h only if available.
59035         (FS_TYPE): Define.
59036         (read_filesystem_list): Use FS_TYPE.
59037
59038 2001-09-29  Paul Eggert  <eggert@twinsun.com>
59039
59040         * lib/exclude.c (excluded_filename): 0 -> false, since it's
59041         a boolean context.
59042
59043 2001-09-29  Jim Meyering  <meyering@lucent.com>
59044
59045         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59046         [one-argument getmntent function]): Include stdio.h before mntent.h.
59047         SunOS 4.1.x needs it for the declaration of `FILE'.
59048         Patch by Volker Borchert.
59049
59050         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59051         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
59052         sys/fs_types.h, and make the link-test for getfsstat guard #include
59053         directives with appropriate #if HAVE_*_H tests so that we can
59054         detect getfsstat on Apple Darwin1.3.7 systems.
59055         Reported by Nelson Beebe.
59056         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
59057
59058 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59059
59060         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59061         #defines strtoimax.  Also treat the other strto* functions
59062         like strtoimax.
59063
59064         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59065         Check for strtoul and strtoumax,
59066         as those declarations are made even in the signed case.
59067         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
59068         Likewise, for strtol and strtoimax.
59069
59070 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59071
59072         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59073         #defines strtoimax.  Also treat the other strto* functions
59074         like strtoimax.
59075
59076         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
59077         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
59078         (strtoimax, strtoumax): Do not declare if already defined as a macro.
59079
59080 2001-09-26  Jim Meyering  <meyering@lucent.com>
59081
59082         Most macros in unlocked-io.h had the wrong number of arguments.
59083         * lib/gen-uio: New script.
59084         (USE_UNLOCKED_IO): Define to 1 if not already defined.
59085         * lib/unlocked-io.hin: Remove file.
59086         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
59087         rather than trying to embed it here.
59088         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
59089         Reported by Padraig Brady.
59090
59091 2001-09-25  Volker Borchert  <bt@teknon.de>
59092
59093         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
59094         `result'.
59095
59096 2001-09-24  Jim Meyering  <meyering@lucent.com>
59097
59098         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
59099
59100 2001-09-23  Jim Meyering  <meyering@lucent.com>
59101
59102         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
59103         instead of the mere test for existence of mntent.h.  The latter
59104         would get a false-positive on AIX 3.4 systems.
59105         In the outer getmntent if-block, don't die if neither of the getmntent
59106         tests succeeds.  Instead, just fall through and continue with the
59107         remaining tests.
59108
59109 2001-09-23  Jim Meyering  <meyering@lucent.com>
59110
59111         * lib/mountlist.c: Remove useless parentheses in #if directives.
59112         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
59113         the deprecated MOUNTED symbol is no longer defined in mntent.h.
59114
59115 2001-09-22  Jim Meyering  <meyering@lucent.com>
59116
59117         * m4/gettext.m4: New file.  From gettext.
59118         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
59119         * m4/progtest.m4: Likewise
59120         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
59121         * m4/glibc21.m4: Likewise.
59122
59123         * m4/libintl.m4: Remove.  No longer used.
59124
59125 2001-09-22  Jim Meyering  <meyering@lucent.com>
59126
59127         * lib/localcharset.c: Update from latest gettext.
59128         * lib/config.charset: Likewise.
59129
59130 2001-09-20  Jim Meyering  <meyering@lucent.com>
59131
59132         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
59133         strtoimax.
59134         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
59135         strtoumax.
59136
59137 2001-09-20  Jim Meyering  <meyering@lucent.com>
59138
59139         * lib/xstrtol.c (strtoimax): Guard declaration with
59140         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
59141         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
59142         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
59143         (strtoumax): Likewise, for completeness (it wasn't necessary).
59144
59145 2001-09-17  Paul Eggert  <eggert@twinsun.com>
59146
59147         * lib/strtoimax.c (HAVE_LONG_LONG):
59148         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
59149         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
59150         to work around bug in IBM C compiler.
59151
59152 2001-09-17  Jim Meyering  <meyering@lucent.com>
59153
59154         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
59155         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
59156         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
59157         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
59158         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
59159         whenever the right hand side need not be expanded by the shell.
59160
59161 2001-09-16  Paul Eggert  <eggert@twinsun.com>
59162
59163         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
59164         library.  It's not correct, as some older glibcs are buggy.
59165         fnmatch wasn't fixed until glibc 2.2.
59166
59167         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
59168         special shell magic here.
59169
59170 2001-09-16  Jim Meyering  <meyering@lucent.com>
59171
59172         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
59173         * m4/jm-macros.m4: Require it.
59174
59175 2001-09-16  Jim Meyering  <meyering@lucent.com>
59176
59177         * lib/mkdir.c: New file.
59178
59179 2001-09-15  Jim Meyering  <meyering@lucent.com>
59180
59181         * m4/jm-macros.m4: Check for help2man.
59182
59183 2001-09-11  Jim Meyering  <meyering@lucent.com>
59184
59185         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
59186         The body, by Paul Eggert, was moved here from configure.in.
59187         * m4/jm-macros.m4: Require UTILS_HOST_OS.
59188
59189 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59190
59191         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
59192         (jm_PREREQ): Use it.
59193
59194 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59195
59196         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
59197         Use ssize_t, not int, to store result of readlink.
59198         Check for ssize_t overflow as well as size_t overflow,
59199         as POSIX says the result of readlink is implementation-defined
59200         when ssize_t overflows.
59201         Remove unnecessary cast to char*.
59202         Use free+malloc instead of realloc, as the storage doesn't need
59203         to be preserved and it's clearer and can be more efficient that way.
59204         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
59205         * lib/xreadlink.h (xreadlink): Update prototype.
59206
59207 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59208
59209         * lib/xgetcwd.c: Revert some of the previous change; intead,
59210         fix the HAVE_GETCWD_NULL code to behave more like the
59211         !HAVE_GETCWD_NULL code used to.
59212
59213         Include "xalloc.h".
59214         (xgetcwd): Do not return NULL when memory is exhausted; instead,
59215         invoke xalloc_die.
59216
59217 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59218
59219         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
59220         sys/param.h, as pathmax.h includes them.
59221
59222 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59223
59224         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
59225         (jm_PREREQ_XGETCWD): New macro.
59226
59227         * m4/getcwd.m4: New file.
59228
59229 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59230
59231         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
59232         like the HAVE_GETCWD_NULL code.
59233         Include pathmax.h if not HAVE_GETCWD.
59234         Do not include xalloc.h.
59235         (INITIAL_BUFFER_SIZE): New symbol.
59236         Do not use xmalloc / xrealloc, since the caller is responsible for
59237         handling errors.  Preserve errno around `free' during failure.
59238         Do not overrun buffer when using getwd.
59239
59240 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59241
59242         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
59243         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
59244         getcwd (NULL, 0).
59245
59246 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59247
59248         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
59249         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
59250         spotted by Jim Meyering.
59251
59252 2001-09-03  Jim Meyering  <meyering@lucent.com>
59253
59254         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
59255         failure.
59256
59257 2001-09-02  Jim Meyering  <meyering@lucent.com>
59258
59259         * lib/error.c: Update from GNU libc.
59260
59261 2001-09-01  Jim Meyering  <meyering@lucent.com>
59262
59263         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
59264         Used by df.
59265
59266 2001-09-01  Jim Meyering  <meyering@lucent.com>
59267
59268         * lib/xreadlink.c: New file.
59269         * lib/xreadlink.h: New file.
59270         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
59271         xreadlink.h.
59272
59273         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
59274         doesn't conflict with sparc Solaris 7's definition in
59275         /usr/include/sys/int_types.h.
59276
59277         * lib/exclude.c: Use `""', not `<>' to #include non-system header
59278         files.
59279         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
59280         and strncasecmp as r-values.  Unixware didn't have declarations.
59281
59282 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59283
59284         * lib/xstrtol.h: Add copyright notice.
59285         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
59286         LONGINT_INVALID_SUFFIX_CHAR.
59287
59288 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59289
59290         * lib/xstrtol.c (strtoimax): New decl.
59291
59292 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59293
59294         * lib/xgetcwd.c: Don't include pathmax.h.
59295         Include stdlib.h and unistd.h if available.
59296         Include xalloc.h.
59297         (xmalloc, xstrdup, free): Remove decls.
59298         (xgetcwd): Don't assume sizes fit in unsigned.
59299         Check for overflow when computing sizes.
59300         Simplify reallocation code.
59301
59302 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59303
59304         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
59305         a directory's st_size can have an arbitrary value, so the old
59306         usage could waste an arbitrary amount of memory.  All uses
59307         changed.
59308         * lib/savedir.h: Update prototype.
59309
59310 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59311
59312         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
59313
59314         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
59315         old strtoimax.c.
59316
59317         Also, make the following further changes to make this file's
59318         configuration more similar to that of strtol.c:
59319         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
59320         (strtoumax, uintmax_t, strtoull, strtol): Remove.
59321         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
59322         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
59323         changed to signed values.
59324
59325         And make the following changes as well:
59326         Fix copyright notice, as 1999 was missing.
59327         (verify): New macro.
59328         (strtoimax): Check sizes at compile-time, not run-time.
59329         Prefer strtol to strtoll if both work.
59330         (main): Remove; it was not that useful and was a pain to maintain.
59331
59332         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
59333
59334 2001-08-31  Jim Meyering  <meyering@lucent.com>
59335
59336         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
59337         Use an initial, malloc'd, buffer of length 128 rather than
59338         a statically allocated one of length 1024.
59339
59340 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59341
59342         Simplify code, partly by assuming autoconf 2.52 semantics.
59343
59344         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
59345
59346         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
59347         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
59348         All uses removed.
59349         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
59350         Move AC_REQUIRE to next-to-top level, to avoid confusion.
59351         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
59352         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
59353         jm_AC_HEADER_INTTYPES_H.
59354         * m4/jm-macros.m4 (jm_MACROS): Likewise.
59355
59356         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
59357
59358         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59359         Quote first arg of AC_DEFUN.
59360         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
59361         since they are needed to parse the include file even if we need
59362         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
59363         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
59364         but with opposite signedness.
59365
59366 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59367
59368         Merge 'exclude' changes from tar 1.13.22.
59369         This fixes one or two unlikely storage allocation overflow bugs,
59370         but doesn't change user-visible behavior otherwise.
59371
59372 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59373
59374         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
59375         (jm_PREREQ_EXCLUDE): New macro.
59376
59377 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59378
59379         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
59380         tm to be declared.
59381
59382 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59383
59384         * lib/hash.c: Remove '2001' from copyright notice.
59385
59386 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59387
59388         * lib/full-write.h: New file.
59389         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
59390         * lib/full-write.c: Correct credits, as cccp.c no longer
59391         exists and anyway it was so heavily changed from the old cccp
59392         code as to be unrecognizable.  Include full-write.h.
59393         (full_write) Return size_t, with short writes meaning failure.
59394         All callers changed.  This fixes a bug with large buffers
59395         on 64-bit hosts.
59396         * lib/utime.c: Include full-write.h.
59397
59398 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59399
59400         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
59401         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
59402         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
59403         Include if available.
59404         (<xalloc.h>): Include
59405         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
59406         (verify): New macro.  Use it to verify that EXCLUDE macros do not
59407         collide with FNM macros.
59408         (struct patopts): New struct.
59409         (struct exclude): Use it, as exclude patterns now come with options.
59410         (new_exclude): Support above changes.
59411         (new_exclude, add_exclude_file):
59412         Initial size must now be a power of two to simplify overflow checking.
59413         (free_exclude, fnmatch_no_wildcards): New function.
59414         (excluded_filename): No longer requires options arg, as the options
59415         are determined by add_exclude.  Now returns bool, not int.
59416         (excluded_filename, add_exclude):
59417         Add support for the fancy new exclusion options.
59418         (add_exclude, add_exclude_file): Now takes int options arg.
59419         Check for arithmetic overflow when computing sizes.
59420         (add_exclude_file): xrealloc might modify errno, so don't
59421         realloc until after errno might be used.
59422
59423         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
59424         New macros.
59425         (free_exclude): New decl.
59426         (add_exclude, add_exclude_file): Now takes int options arg.
59427         (excluded_filename): No longer requires options arg, as the options
59428         are determined by add_exclude.  Now returns bool, not int.
59429
59430 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59431
59432         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
59433
59434 2001-08-27  Jim Meyering  <meyering@lucent.com>
59435
59436         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
59437
59438         * lib/version-etc.c (N_): Remove definition.
59439         Revert most of last change.
59440         Instead, simply don't mark the `Copyright...' string for translation.
59441         Based on advice from Paul Eggert.
59442
59443         * lib/strtoxmax.c: Tweak comment.
59444
59445 2001-08-26  Jim Meyering  <meyering@lucent.com>
59446
59447         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
59448
59449         * m4/xstrtoimax.m4: New file.
59450         * m4/xstrtoumax.m4: Add comments explaining why we
59451         AC_REPLACE_FUNCS(strtol).
59452
59453 2001-08-26  Jim Meyering  <meyering@lucent.com>
59454
59455         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
59456         of copyright with `%s' so translators don't get an untranslated
59457         message in 2002.
59458         (COPYRIGHT_YEAR): Define.
59459         (version_etc): Use fprintf rather than fputs.
59460         Suggestion from Ulrich Drepper.
59461
59462         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
59463
59464         * lib/strtoll.c: New file, from GNU libc.
59465         * lib/xstrtoimax.c: New file.
59466
59467         * lib/xstrtol.h: Add xstrtoimax.
59468         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
59469         * lib/strtoimax.c: New file.  Likewise, but first define
59470         STRTOUXMAX_SIGNED.
59471
59472         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
59473         ...
59474         * lib/strtoxmax.c: ... then renamed to this.
59475
59476 2001-08-18  Paul Eggert  <eggert@twinsun.com>
59477
59478         * m4/inttypes.m4: Add AC_PREREQ(2.13).
59479         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
59480         (jm_AC_TYPE_INTMAX_T): New macro.
59481         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
59482
59483         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
59484
59485         * m4/longlong.m4: Renamed from ulonglong.m4.
59486         * m4/inttypes.m4: Renamed from inttypes_h.m4.
59487         * m4/uintmax_t.m4: Removed.
59488
59489 2001-08-13  Paul Eggert  <eggert@twinsun.com>
59490
59491         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
59492         Port to Solaris 8, where 'sed' requires a space after the 'r'
59493         command, and where sh dislikes "$/".  Clean up the spacing a bit.
59494         Redirect output to $tmp just once.
59495
59496 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
59497
59498         * lib/addext.c (<errno.h>): Include.
59499         (errno): Declare if not defined.
59500         (addext): Work correctly when pathconf returns -1 and leaves
59501         errno alone because there is no limit.  Also, work even if
59502         pathconf returns a value greater than SIZE_MAX.
59503
59504 2001-08-12  Jim Meyering  <meyering@lucent.com>
59505
59506         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
59507         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
59508         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
59509         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
59510         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
59511         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
59512         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
59513         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
59514         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
59515         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
59516         utime.m4, utimes.m4, xstrtoumax.m4:
59517         Quote the first argument in each use of AC_DEFUN.
59518
59519 2001-08-12  Jim Meyering  <meyering@lucent.com>
59520
59521         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
59522         Simply `return getcwd (NULL, 0);'.
59523         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
59524         Use 1300 as initial value for length, not PATH_MAX.
59525
59526         * lib/pathmax.h: Clean up cpp syntax.
59527
59528 2001-08-12  Jim Meyering  <meyering@lucent.com>
59529
59530         * lib/gettimeofday.c: New file.
59531         * lib/gtod.h: New file.
59532         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
59533
59534 2001-08-05  Jim Meyering  <meyering@lucent.com>
59535
59536         * m4/jm-macros.m4: Require autoconf-2.52.
59537
59538 2001-08-04  Jim Meyering  <meyering@lucent.com>
59539
59540         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
59541         stmt, to get in sync with glibc.
59542
59543 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59544
59545         The following changes are from gettext 0.10.39 as maintained by
59546         Bruno Haible.
59547
59548         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
59549         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
59550         with inverted sense.  All uses changed.
59551
59552         * lib/mbswidth.c: Don't include <limits.h>.
59553         Include <stdlib.h> and <string.h> unconditionally.
59554         (iswcntrl, mbsinit, ISCNTRL): New macros.
59555         (mbsnwidth): Use K&R style function declarations.
59556         Don't bother checking for MB_LEN_MAX == 1, since the compiler
59557         can optimize it when MB_CUR_MAX == 1.
59558         The width of control characters is zero, not 1.
59559
59560 2001-08-03  Paul Eggert  <eggert@twinsun.com>
59561
59562         The following changes are from gettext 0.10.39 as maintained by
59563         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
59564
59565         * m4/codeset.m4: Upgrade to serial AM1.
59566         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
59567         all uses changed.  Quote first arg of AC_DEFUN.
59568         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
59569
59570         * m4/iconv.m4: Upgrade to serial AM2.
59571         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
59572         Add --with-libconv-prefix.
59573         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
59574         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
59575         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
59576         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
59577         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
59578
59579         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
59580         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
59581         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
59582         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
59583         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
59584         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
59585         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
59586         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
59587         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
59588
59589         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
59590         string.h any more.
59591
59592         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
59593         not the default value.
59594
59595         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
59596         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
59597         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
59598         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
59599         Also check for iswcntrl, used for wcwidth fallback.
59600         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
59601         to Autoconf 2.13.
59602
59603 2001-08-03  Jim Meyering  <meyering@lucent.com>
59604
59605         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
59606         as it was in the original.  Reported by Paul Eggert.
59607
59608 2001-07-16  Jim Meyering  <meyering@lucent.com>
59609
59610         * m4/gettimeofday.m4: New file.
59611         Prompted by a report from Bernhard Baehr.
59612
59613 2001-07-15  Jim Meyering  <meyering@lucent.com>
59614
59615         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
59616         stuff. Now it's in ../Makefile.cfg.
59617
59618 2001-07-15  Jim Meyering  <meyering@lucent.com>
59619
59620         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
59621         (BUILT_SOURCES): Add unlocked-io.h.
59622         (io_functions): Define.
59623         (unlocked-io.h): New rule.
59624         (DISTCLEANFILES): Add unlocked-io.h.
59625         (all-local): Depend on unlocked-io.h, to ensure it is created.
59626
59627         * lib/unlocked-io.hin: New file
59628
59629         * lib/regex.c: Update from glibc.
59630
59631 2001-07-05  Jim Meyering  <meyering@lucent.com>
59632
59633         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
59634         recommendation.
59635         (libfetish_a_SOURCES): Put all .h files here instead.
59636         Remove a thus-exposed (better checks in automake) duplicate and
59637         two unnecessary .h files.
59638
59639 2001-07-04  Jim Meyering  <meyering@lucent.com>
59640
59641         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
59642         that generates jm-glibc-io.m4 so that it doesn't trigger any make
59643         distcheck failure.
59644
59645 2001-07-02  Jim Meyering  <meyering@lucent.com>
59646
59647         The following changes were prompted by suggestions from Bruno Haible.
59648
59649         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
59650         is now generated.
59651         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
59652         definition of EXTRA_DIST.
59653         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
59654         ensure that the generated file is created/updated whenever the list
59655         of $(unlocked_functions) is changed.
59656         (jm-glibc-io.m4): New rule.
59657         (unlocked-io.h): New rule -- currently unused.
59658
59659 2001-06-24  Jim Meyering  <meyering@lucent.com>
59660
59661         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
59662         unmatched right bracket, rather than kludging it with an extra,
59663         falsely-matching quote in a comment.  Patch by Akim Demaille.
59664
59665 2001-06-11  Jim Meyering  <meyering@lucent.com>
59666
59667         * lib/regex.c: Update from GNU libc.
59668
59669 2001-05-27  Jim Meyering  <meyering@lucent.com>
59670
59671         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
59672         Check for ut_type in struct utmp.
59673
59674 2001-05-27  Jim Meyering  <meyering@lucent.com>
59675
59676         * lib/readutmp.h (UT_TYPE): Define.
59677
59678 2001-05-24  Jim Meyering  <meyering@lucent.com>
59679
59680         * lib/argmatch.c: Include "quote.h".
59681         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
59682         quote function.  Reported by Göran Uddeborg.
59683
59684 2001-05-22  Jim Meyering  <meyering@lucent.com>
59685
59686         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
59687         now that we use the package-supplied version unconditionally.
59688         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
59689
59690 2001-05-21  Jim Meyering  <meyering@lucent.com>
59691
59692         * m4/regex.m4: Change a couple backticks to single quotes to avoid
59693         shell syntax errors.
59694
59695 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
59696
59697         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
59698
59699 2001-05-20  Paul Eggert  <eggert@twinsun.com>
59700
59701         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
59702         Don't bother to check library strftime, since
59703         we'll be using our own my_strftime function anyway.
59704         Define my_strftime instead of strftime.
59705
59706 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
59707
59708         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
59709         which is not yet declared.
59710
59711 2001-05-15  Jim Meyering  <meyering@lucent.com>
59712
59713         * m4/regex.m4: Use proper quoting so brackets appear in the test
59714         program.
59715         Reported by, and with help from, Bruno Haible.
59716
59717 2001-05-13  Jim Meyering  <meyering@lucent.com>
59718
59719         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
59720         undefined.
59721
59722 2001-05-11  Paul Eggert  <eggert@twinsun.com>
59723
59724         dirname code cleanup.  base_name now behaves more compatibly
59725         with POSIX basename when given file names that have trailing
59726         slashes, and similarly for dir_name.  Add new primitives
59727         base_len and dir_len.  Put the directory-name-related decls
59728         into dirname.h.
59729
59730         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
59731         * lib/backupfile.c (base_name): Likewise.
59732         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
59733         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
59734         * lib/makepath.c (strip_trailing_slashes): Likewise.
59735         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
59736         ISSLASH): Likewise.
59737         * lib/rename.c (strip_trailing_slashes): Likewise.
59738         * lib/same.c (base_name): Likewise.
59739         * lib/stripslash.c (ISSLASH): Likewise.
59740
59741         * lib/addext.c: Include <dirname.h> after size_t is defined.
59742         * lib/backupfile.c: Likewise.
59743
59744         * lib/addext.c (addext): Use base_len to trim redundant
59745         trailing slashes instead of doing it ourselves.
59746         But do not trim the last slash if it is not redundant.
59747
59748         * lib/backupfile.c (find_backup_file_name,
59749         max_backup_version): Use base_len instead of rolling it ourselves.
59750         Handle the case of "" and (on DOS) "C:" correctly.
59751
59752         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
59753         needed. Include <string.h>, <dirname.h>.
59754         (base_name): Allow file names ending in slashes, other than names
59755         that are all slashes.  In this case, return the basename followed
59756         by the slashes.  This is more general, and can be used in places
59757         where the original base_name purposely had an assertion failure.
59758         (base_len): New function.
59759
59760         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
59761         Do not include <assert.h>; no longer needed.
59762         Include xalloc.h.
59763         (memrchr): Remove decl.
59764         (dir_name_r): Remove.
59765         (dir_len): Renamed from dirlen.  All callers changed.
59766         Rewrite in terms of base_name, for simplicity and consistency.
59767         (dir_name): Never return NULL.  All callers changed.
59768         Do not include <stdlib.h> in test program; no longer needed.
59769         return 0; is fine for test program.
59770
59771         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
59772         New macros.
59773         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
59774
59775         * lib/path-concat.c (path_concat): Use base_len to compute
59776         base length, not strlen; this means we cannot rely on memcpy
59777         to null-terminate.
59778
59779         * lib/same.c (STREQ): Remove.
59780         (same_name): Handle the case where the basename ends in trailing '/'.
59781
59782         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
59783         a slash was stripped.  Do not strip the last slash after a
59784         file system prefix.
59785
59786 2001-05-11  Paul Eggert  <eggert@twinsun.com>
59787
59788         * lib/Makefile.am (libfetish_a_SOURCES):
59789         Add strftime.c, since we now compile it on all hosts.
59790
59791         * lib/strftime.c (my_strftime):
59792         Define to nstrftime if emacs, but only if my_strftime is not defined.
59793         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
59794         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
59795         Add one more extra argument: a nanoseconds value.
59796         All uses changed.
59797         (ns): New macro.
59798         (my_strftime function): Add %N format.
59799         (emacs_strftimeu): Renamed from emacs_strftime,
59800         with extra ut argument.
59801
59802 2001-05-09  Paul Eggert  <eggert@twinsun.com>
59803
59804         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
59805
59806 2001-04-21  Jim Meyering  <meyering@lucent.com>
59807
59808         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
59809         doesn't interfere.
59810
59811 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
59812
59813         * m4/ftruncate.m4: Check for chsize.
59814         Link with ftruncate.o unconditionally if ftruncate is missing.
59815         This was required when cross-compiling to i586-mingw32msvc.
59816
59817 2001-04-08  Jim Meyering  <meyering@lucent.com>
59818
59819         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
59820         recomputed; that's necessary when the offset spans a DST transition.
59821         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
59822
59823 2001-04-02  Jim Meyering  <meyering@lucent.com>
59824
59825         * lib/regex.h, regex.c: Update from GNU libc.
59826
59827 2001-03-24  Jim Meyering  <meyering@lucent.com>
59828
59829         * m4/jm-macros.m4: Require autoconf-2.49d.
59830
59831 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
59832
59833         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
59834
59835 2001-03-19  Paul Eggert  <eggert@twinsun.com>
59836
59837         * lib/version-etc.c (version_etc_copyright): Update to 2001.
59838
59839 2001-03-17  Jim Meyering  <meyering@lucent.com>
59840
59841         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
59842         now that the version in autoconf is equivalent.
59843         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
59844
59845         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
59846         Suggestion from Akim Demaille.
59847
59848         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
59849         (jm_PREREQ_TEMPNAME): New function.
59850
59851 2001-03-16  Paul Eggert  <eggert@twinsun.com>
59852
59853         * lib/tempname.c (uint64_t): Define to uintmax_t if
59854         not defined, and if UINT64_MAX is not defined.
59855         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
59856         Reported by John David Anglin.
59857
59858 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
59859
59860         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
59861         resolve alias if codeset is empty.
59862         * lib/config.charset (BeOS): Use wildcard syntax.
59863
59864 2001-03-13  Jim Meyering  <meyering@lucent.com>
59865
59866         * lib/path-concat.c (path_concat)
59867         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
59868         concatenating e.g., `C:' and `foo'.
59869         From Bruno Haible.
59870
59871 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
59872
59873         * lib/localcharset.c (locale_charset): Don't use
59874         setlocale(LC_CTYPE,NULL). Don't return NULL.
59875         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
59876
59877 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
59878
59879         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
59880         support for DOS/DJGPP.
59881
59882 2001-03-01  Paul Eggert  <eggert@twinsun.com>
59883
59884         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
59885         lacks mkstemp.  Compile our own tempname.c if we compile our own
59886         mkstemp.c, as mkstemp relies on tempname.
59887
59888 2001-03-01  Jim Meyering  <meyering@lucent.com>
59889
59890         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
59891         AH_VERBATIM really does output its argument verbatim.
59892
59893 2001-02-28  Paul Eggert  <eggert@twinsun.com>
59894
59895         * lib/Makefile.am (libfetish_a_SOURCES):
59896         Add dup-safer.c, fopen-safer.c.
59897         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
59898
59899         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
59900         * lib/unistd-safer.h: New files.
59901
59902 2001-02-25  Paul Eggert  <eggert@twinsun.com>
59903
59904         The mkstemp replacement is taken from glibc 2.2.2, with some
59905         portability fixes for use outside glibc, as follows:
59906
59907         * lib/tempname.c (struct_stat64): New macro.
59908         (direxists, __gen_tempname): Use it.
59909         This avoids a portability problem with Solaris 8.
59910
59911         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
59912         (<stddef.h>, <stdint.h>, <string.h>):
59913         Include only if STDC_HEADERS || _LIBC.
59914         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
59915         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
59916         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
59917         (__set_errno): Define this macro if <errno.h> doesn't.
59918         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
59919         Define these macros if <stdio.h> doesn't.
59920         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
59921         Define these macros if <sys/stat.h>
59922         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
59923         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
59924         __xstat64): Define if not _LIBC.
59925         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
59926         (__gen_tempname): Invoke gettimeofday only if
59927         HAVE_GETTIMEOFDAY || _LIBC;
59928         otherwise, fall back on plain "time".
59929         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
59930
59931         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
59932
59933         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
59934
59935 2001-02-18  Paul Eggert  <eggert@twinsun.com>
59936
59937         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
59938
59939 2001-02-17  Paul Eggert  <eggert@twinsun.com>
59940
59941         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
59942         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
59943         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
59944         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
59945
59946 2001-02-17  Paul Eggert  <eggert@twinsun.com>
59947
59948         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
59949         Remove workaround macros for hosts that have mbrtowc but not
59950         mbstate_t, as we now insist on proper declarations for both
59951         before using mbrtowc.
59952
59953 2001-02-17  Jim Meyering  <meyering@lucent.com>
59954
59955         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
59956         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
59957         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
59958         UnixWare 7.1.1.
59959
59960         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
59961         rather than AC_CACHE_VAL.
59962
59963 2001-02-17  Jim Meyering  <meyering@lucent.com>
59964
59965         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
59966         around included file name.
59967
59968         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
59969
59970         * lib/strftime.c: Update from GNU libc (the only changes were to
59971         comments).
59972
59973 2001-02-17  Jim Meyering  <meyering@lucent.com>
59974
59975         * lib/regex.c: Update from libc.
59976
59977 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
59978
59979         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
59980         clash.
59981
59982 2001-02-16  Paul Eggert  <eggert@twinsun.com>
59983
59984         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
59985         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
59986         Reported by Mark Hounschell via Paul Eggert.
59987
59988 2001-02-07  Jim Meyering  <meyering@lucent.com>
59989
59990         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
59991
59992 2001-02-05  Jim Meyering  <meyering@lucent.com>
59993
59994         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
59995         it includes the patch required for `large file' support with at least
59996         HP-UX's 10.20 /bin/cc.
59997
59998 2001-02-03  Jim Meyering  <meyering@lucent.com>
59999
60000         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
60001         AS_IF, now that it works once again (mysteriously).
60002         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60003
60004 2001-01-30  Jim Meyering  <meyering@lucent.com>
60005
60006         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
60007         * m4/chown.m4: Rename conftestchown to conftest.chown.
60008         * m4/rename.m4: s/conftestdir/conftest.d1/ and
60009         s/conftestdir2/conftest.d2/.
60010         * m4/utimes.m4: s/conftestdata/conftest.data/
60011         Inspired by Pavel Roskin's change in autoconf.
60012
60013 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
60014
60015         * lib/config.charset: Update for FreeBSD 4.2.
60016
60017 2001-01-27  Jim Meyering  <meyering@lucent.com>
60018
60019         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
60020         a use of AS_IF.
60021         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60022
60023 2001-01-26  Jim Meyering  <meyering@lucent.com>
60024
60025         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
60026         quotearg.c includes it.
60027
60028 2001-01-26  Jim Meyering  <meyering@lucent.com>
60029
60030         * lib/quotearg.c: Include stddef.h.
60031         * lib/quote.c: Include stddef.h.
60032         Reported by Axel Kittenberger.
60033
60034         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
60035         line in double quotes so that it evokes a better diagnostic.
60036         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
60037         Reported by Axel Kittenberger.
60038
60039 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
60040
60041         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
60042         as if it was a `charset'.
60043
60044 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60045
60046         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
60047         has const.
60048
60049 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60050
60051         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
60052         to avoid a warning.  Add back 'const' to inptr.
60053
60054 2001-01-20  Jim Meyering  <meyering@lucent.com>
60055
60056         Be sure that headers are checked before used in code compiled
60057         for the type checks.
60058         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
60059         In place of that, invoke jm_CHECK_ALL_TYPES.
60060         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
60061         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
60062         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
60063         The check for ssize_t was mistakenly run before the test for unistd.h.
60064
60065         The configure-time check for stdbool.h was missing.
60066         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
60067         (jm_PREREQ_HASH): New function.
60068
60069 2001-01-17  Jim Meyering  <meyering@lucent.com>
60070
60071         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
60072         for autoconf-2.49c.
60073         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
60074
60075 2001-01-16  Jim Meyering  <meyering@lucent.com>
60076
60077         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
60078         From Bruno Haible.
60079
60080 2001-01-14  Jim Meyering  <meyering@lucent.com>
60081
60082         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
60083         foo and bar.  Create conftestdir/ in the script, not in the C code.
60084         Remove directories in the script, not in the C code.
60085         Remove conftestdir{,2} before trying to create the directory.
60086         Make the entire configure script fail if the mkdir fails.
60087
60088 2001-01-14  Jim Meyering  <meyering@lucent.com>
60089
60090         * lib/rename.c: New file.  From Volker Borchert.
60091         Include stdlib.h, string.h or strings.h, and xalloc.h.
60092         Use strip_trailing_slashes rather than open-coding it.
60093
60094 2001-01-03  Paul Eggert  <eggert@twinsun.com>
60095
60096         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
60097
60098 2001-01-03  Jim Meyering  <meyering@lucent.com>
60099
60100         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
60101         of local `inptr' to avoid warning with some system declarations of
60102         iconv.
60103
60104 2001-01-02  Volker Borchert  <bt@teknon.de>
60105
60106         * m4/rename.m4: New file.
60107         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
60108
60109 2001-01-01  Jim Meyering  <meyering@lucent.com>
60110
60111         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
60112         even on systems with utmpx.h.  It's necessary for the declaration of
60113         utmp's ut_user member.  Reported by Andreas Jaeger.
60114
60115         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
60116         available. They are required for the declarations of getgrgid and
60117         getpwuid resp.
60118         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
60119         Reported by Andreas Jaeger.
60120
60121 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
60122
60123         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
60124         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
60125         so `make install' also works in VPATH builds.
60126
60127 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
60128
60129         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
60130         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
60131         can be used in subdirectories.
60132
60133 2000-12-29  Paul Eggert  <eggert@twinsun.com>
60134
60135         * lib/modechange.c: Do not assume that mode_t uses the
60136         traditional octal encoding.  E.g. "chmod 1 FOO" should set
60137         the other-execute bit of FOO even if S_IXOTH != 1.
60138
60139         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
60140         WOTH, XOTH, ALLM): New macros.
60141         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
60142          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
60143         Use them.
60144         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
60145         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
60146         (mode_compile):
60147         No need to use uintmax_t; unsigned long is long enough.
60148         Don't bother to get suffix since we don't use it.
60149
60150 2000-12-26  Jim Meyering  <meyering@lucent.com>
60151
60152         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
60153         better with autoheader.
60154
60155 2000-12-24  Jim Meyering  <meyering@lucent.com>
60156
60157         * lib/hash.c (is_prime): Return explicit boolean values.
60158         (hash_get_first): Return NULL to appease Irix5.6's 89.
60159         Reported by Nelson Beebe.
60160
60161 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
60162
60163         * lib/localcharset.c (locale_charset): Add support for Win32.
60164
60165 2000-12-18  Paul Eggert  <eggert@twinsun.com>
60166
60167         * lib/physmem.h, lib/physmem.c: New files.
60168
60169         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
60170         (noinst_HEADERS): Add physmem.h.
60171
60172         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
60173         't' for compatibility with Solaris 8 sort.
60174
60175 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
60176
60177         * lib/config.charset: Add support for BeOS.
60178
60179 2000-12-17  Jim Meyering  <meyering@lucent.com>
60180
60181         * m4/dos.m4 (jm_AC_DOS): New file and macro.
60182         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
60183
60184 2000-12-16  Jim Meyering  <meyering@lucent.com>
60185
60186         This bug had a serious impact on chown: `chown N:M FILE' (for integer
60187         N and M) would have treated it like `chown N:N FILE'.
60188
60189         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
60190
60191 2000-12-16  Jim Meyering  <meyering@lucent.com>
60192
60193         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
60194         SHELLS_FILE to a file name that's useful on djgpp systems.
60195         Include stdlib.h.
60196         (ADDITIONAL_DEFAULT_SHELLS): Define.
60197         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
60198         Based mostly on a patch from Prashant TR.
60199
60200 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
60201
60202         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
60203         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
60204         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
60205
60206 2000-12-08  Andreas Schwab  <schwab@suse.de>
60207
60208         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
60209         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
60210
60211 2000-12-07  Jim Meyering  <meyering@lucent.com>
60212
60213         * lib/stripslash.c (ISSLASH): Define.
60214         (strip_trailing_slashes): Use ISSLASH rather than comparing against
60215         `/'.
60216         From Prashant TR.
60217
60218         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
60219         (dir_name_r): Declare this function as static.
60220         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
60221         manifest itself on a name containing a mix of slashes and
60222         backslashes.
60223         Make this function work with names starting with a DOS-style
60224         drive letter and colon prefix.
60225         (dir_name): Append `.' if necessary.
60226         Based mostly on patches from Prashant TR and Eli Zaretskii.
60227
60228         * lib/dirname.h (dir_name_r): Remove prototype.
60229
60230 2000-12-06  Paul Eggert  <eggert@twinsun.com>
60231
60232         * m4/off_t-format.m4: Remove this file.
60233         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
60234
60235 2000-12-06  Jim Meyering  <meyering@lucent.com>
60236
60237         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
60238         replacement strtoull, we may well need the replacement strtoul, too.
60239         Check for declarations of strtoul and strtoull.
60240         Check for strtol.  Mainly as a cue to cause automake to include
60241         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
60242         Check for limits.h -- strtol.c needs it.
60243
60244 2000-12-05  Jim Meyering  <meyering@lucent.com>
60245
60246         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
60247
60248 2000-12-04  Jim Meyering  <meyering@lucent.com>
60249
60250         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
60251         Also include memory.h, stdlib.h, unistd.h if appropriate.
60252         Reported by Andreas Jaeger (conflicting declaration of malloc).
60253
60254 2000-12-02  Jim Meyering  <meyering@lucent.com>
60255
60256         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
60257         * m4/jm-macros.m4 (jm_MACROS): require it.
60258
60259 2000-12-02  Jim Meyering  <meyering@lucent.com>
60260
60261         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
60262
60263 2000-12-01  Paul Eggert  <eggert@twinsun.com>
60264
60265         * lib/memrchr.c: Include <config.h> before any system include file.
60266
60267 2000-11-30  Jim Meyering  <meyering@lucent.com>
60268
60269         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
60270
60271 2000-11-30  Jim Meyering  <meyering@lucent.com>
60272
60273         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
60274
60275 2000-11-29  Paul Eggert  <eggert@twinsun.com>
60276
60277         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
60278
60279 2000-11-26  Jim Meyering  <meyering@lucent.com>
60280
60281         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
60282
60283 2000-11-22  Paul Eggert  <eggert@twinsun.com>
60284
60285         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
60286         size of (size_t) -1; it's not portable.
60287
60288 2000-11-17  Jim Meyering  <meyering@lucent.com>
60289
60290         * lib/strstr.c: Update from GNU libc.
60291
60292 2000-11-17  Akim Demaille  <akim@epita.fr>
60293
60294         * lib/obstack.h: Formatting changes.
60295         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
60296         prevent type checking.
60297         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
60298         cast the value to (void *): assigning a `foo *' to a `void *'
60299         variable is valid.
60300         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
60301
60302 2000-11-16  Jim Meyering  <meyering@lucent.com>
60303
60304         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
60305
60306 2000-11-11  Jim Meyering  <meyering@lucent.com>
60307
60308         * lib/error.c: Add a couple #includes, merging from GNU libc version.
60309
60310 2000-11-10  Jim Meyering  <meyering@lucent.com>
60311
60312         * lib/obstack.h: Update from GNU libc.
60313         * lib/obstack.c: Likewise.
60314
60315 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
60316
60317         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
60318
60319 2000-11-06  Paul Eggert  <eggert@twinsun.com>
60320
60321         * lib/getusershell.c (setusershell): Use rewind rather than
60322         fseek/fseeko, to avoid configuration hassles with fseeko.
60323         Don't bother opening SHELLS_FILE if shellstream is NULL;
60324         it's not necessary.
60325
60326 2000-11-05  Jim Meyering  <meyering@lucent.com>
60327
60328         * lib/makepath.h (make_dir): Declare.
60329         * lib/makepath.c (make_dir): Remove `static' attribute.
60330         Tweak a comment.
60331
60332 2000-11-04  Jim Meyering  <meyering@lucent.com>
60333
60334         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
60335
60336 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
60337
60338         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
60339         last one in a bucket, advance to the next bucket.
60340
60341 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
60342
60343         * lib/fnmatch.c: Do not comment out all the code if we are using
60344         the GNU C library, because in some cases we are replacing buggy
60345         code in the GNU C library itself.
60346
60347 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
60348
60349         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
60350         (regex_compile): Catch bogus \(\1\).
60351
60352 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60353
60354         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
60355         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
60356         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
60357
60358 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60359
60360         * lib/error.h, getline.h, modechange.h:
60361         Remove "2000" from Copyright line, as the file hasn't been
60362         changed this year other than in the copyright notice.
60363
60364         * lib/xalloc.h: Add "2000" to Copyright line, as this file
60365         was changed this year.
60366
60367 2000-10-29  Jim Meyering  <meyering@lucent.com>
60368
60369         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
60370         renaming.
60371         * m4/ls-mntd-fs.m4: Likewise
60372
60373 2000-10-29  Jim Meyering  <meyering@lucent.com>
60374
60375         * lib/xstat.in: Fix grammar in comment.
60376
60377 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
60378
60379         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
60380         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
60381         doesn't define __restrict_arr.
60382
60383 2000-10-28  Jim Meyering  <meyering@lucent.com>
60384
60385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
60386         (jm_PREREQ_MEMCHR): New function.
60387
60388 2000-10-28  Jim Meyering  <meyering@lucent.com>
60389
60390         * lib/memchr.c: Update from libc.
60391         Adjust for portability:
60392         [HAVE_STDLIB_H]: Include stdlib.h.
60393         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
60394         Undef __memchr, too.
60395         [!weak_alias]: Define __memchr to memchr.
60396
60397         * lib/regex.c: Update from libc.
60398         * lib/regex.h: Likewise.
60399         * lib/getopt1.c: Likewise.
60400         * lib/memcmp.c: Likewise.
60401
60402         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
60403         Avoid using fseek, when possible -- it's broken by design.
60404         Patch by Ulrich Drepper.
60405
60406 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
60407
60408         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
60409         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
60410         Giving in to popular pressure to shut up the compiler with casts.
60411
60412 2000-10-26  Jim Meyering  <meyering@lucent.com>
60413
60414         * lib/strftime.c: Update from libc.
60415
60416 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
60417
60418         * regex.c: More `unsigned char' -> `re_char' changes.
60419         Also change several `int' into `re_wchar_t'.
60420         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
60421         (PUSH_FAILURE_POINTER): Don't cast any more.
60422         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
60423         We want GCC to complain, since this piece of code makes
60424         re_match non-reentrant, which *should* be fixed.
60425         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
60426         (EXTEND_BUFFER): Use RETALLOC.
60427         (SET_LIST_BIT): Don't cast.
60428         (re_wchar_t): New type.
60429         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
60430         that those two functions will always properly return.
60431         (IMMEDIATE_QUIT_CHECK): Cast to void.
60432         (analyse_first): Use recursion rather than an explicit stack.
60433         (re_compile_fastmap): Can't fail anymore.
60434         (re_search_2): Don't check re_compile_fastmap for failure.
60435         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
60436         Now also sets the new value (passed in a new argument).
60437         (re_match_2_internal): Use it.
60438         Also, use a new var `reg' of type size_t when looping through regs
60439         rather than reuse the inappropriate `mcnt'.
60440
60441 2000-10-25  Jim Meyering  <meyering@lucent.com>
60442
60443         * lib/obstack.c: Update from libc.
60444
60445 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
60446
60447         * regex.c (regex_compile): Change the way of handling a range from
60448         a char less than 256 to a char not less than 256.
60449
60450 2000-10-24  Andrew Innes  <andrewi@gnu.org>
60451
60452         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
60453         NT-Emacs only.
60454         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
60455         so that re_search functions only quit when callers expect them to.
60456
60457 2000-10-23  Jim Meyering  <meyering@lucent.com>
60458
60459         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
60460         wrong.  That set_locale call must not have any side effects.
60461         From Paul Eggert.
60462
60463 2000-10-22  Jim Meyering  <meyering@lucent.com>
60464
60465         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
60466         [CYCLIC]: Remove now-unused definition.
60467
60468         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
60469         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
60470         Suggestion from Ulrich Drepper.
60471
60472 2000-10-21  Jim Meyering  <meyering@lucent.com>
60473
60474         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
60475         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
60476         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
60477
60478 2000-10-21  Jim Meyering  <meyering@lucent.com>
60479
60480         * lib/dirname.c (memrchr): Declare if necessary.
60481         (dir_name): Remove the restriction that there be no
60482         trailing slashes.  Now, this code skips past them, effectively
60483         ignoring them.
60484         [TEST_DIRNAME] (main): New unit tests.
60485
60486         * lib/memrchr.c: New file from GNU libc.
60487         Undef __memrchr, too.
60488         [!weak_alias]: Define __memrchr to memrchr.
60489         Guard weak_alias use with `#ifdef weak_alias'.
60490
60491 2000-10-21  Jim Meyering  <meyering@lucent.com>
60492
60493         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
60494         (dir_name): Use dir_name_r.
60495         * lib/dirname.h (dir_name_r): Declare it.
60496
60497 2000-10-17  Jim Meyering  <meyering@lucent.com>
60498
60499         * lib/quote.h (PARAMS): Define and use.
60500         Reported by Akim Demaille.
60501
60502         * lib/getopt.c: Update from libc.
60503
60504 2000-10-16  Jim Meyering  <meyering@lucent.com>
60505
60506         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
60507         setlocale.
60508         From Jan Fedak.
60509
60510 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
60511
60512         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
60513
60514 2000-09-25  Jim Meyering  <meyering@lucent.com>
60515
60516         * lib/md5.h (rol): Define (from GnuPG).
60517
60518         * lib/sha.c: Give credit (GnuPG) where due.
60519         (M): Use rol rather than open-coding it.
60520         Add a FIXME comment.
60521
60522 2000-09-21  Jim Meyering  <meyering@lucent.com>
60523
60524         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
60525         Reported by Michael Stone.
60526
60527 2000-09-20  Jim Meyering  <meyering@lucent.com>
60528
60529         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
60530         (noinst_HEADERS): Add sha.h.
60531         Based on code from Scott G. Miller and from GnuPG.
60532
60533 2000-09-18  Jim Meyering  <meyering@lucent.com>
60534
60535         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
60536         LIBS. Otherwise, everyone ends up linking with -lelf for some
60537         configurations.
60538         Reported by Mike Stone.
60539
60540 2000-09-15  Jim Meyering  <meyering@lucent.com>
60541
60542         * lib/regex.c: Update from libc.
60543
60544 2000-09-10  Jim Meyering  <meyering@lucent.com>
60545
60546         * lib/getopt.c (_getopt_internal): Update from glibc.
60547
60548 2000-09-09  Jim Meyering  <meyering@lucent.com>
60549
60550         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
60551         think it should be used as a general replacement for isascii.
60552         * lib/fnmatch.c: Likewise.
60553         * lib/mbswidth.c: Likewise
60554         * lib/regex.c: Likewise.
60555
60556         Don't use atoi.
60557         * lib/userspec.c: Include sys/param.h and limits.h.
60558         Include xstrtol.h.
60559         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
60560         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
60561         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
60562         UID, GID.  Check range.
60563
60564 2000-09-06  Jim Meyering  <meyering@lucent.com>
60565
60566         * lib/getopt.c (_getopt_internal): Update from glibc.
60567
60568 2000-08-30  Jim Meyering  <meyering@lucent.com>
60569
60570         * lib/strftime.c: Merge in changes from GNU libc.
60571
60572 2000-08-26  Jim Meyering  <meyering@lucent.com>
60573
60574         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
60575         * m4/fpending.m4: New file.
60576
60577 2000-08-26  Jim Meyering  <meyering@lucent.com>
60578
60579         * lib/closeout.c: Include "__fpending.h".
60580         (close_stdout_status): Return right away if there's nothing to flush.
60581
60582         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
60583         * lib/__fpending.c: New file.
60584         * lib/__fpending.h: New file.
60585
60586 2000-08-20  Jim Meyering  <meyering@lucent.com>
60587
60588         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
60589         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
60590         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
60591
60592 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
60593
60594         Improve fileutils installation on systems where running
60595         programs (like install) can't be unlinked.
60596         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
60597         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
60598
60599 2000-08-07  Paul Eggert  <eggert@twinsun.com>
60600
60601         Standardize on "memory exhausted" instead of "Memory exhausted"
60602         or "virtual memory exhausted".
60603         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
60604         "virtual memory exhausted".
60605         * lib/same.c (same_name): Invoke xalloc_die instead of printing
60606         our own message.
60607         * lib/userspec.c (parse_user_spec): Likewise.
60608         * lib/bumpalloc.h: comment fix
60609         * lib/same.c, userspec.c: Include xalloc.h.
60610
60611         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
60612         not char *const and pointing to a constant array.
60613         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
60614         (xrealloc): Comment fix.
60615
60616         * lib/userspec.c (parse_user_spec):
60617         Don't translate a message until just before returning,
60618         to avoid unnecessary translation.
60619
60620 2000-08-07  Jim Meyering  <meyering@lucent.com>
60621
60622         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
60623         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
60624         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
60625         getgroups.c, gethostname.c, getopt.h, group-member.c,
60626         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
60627         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
60628         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
60629         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
60630         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
60631         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
60632         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
60633         yesno.c: Back out Copyright date changes for each file with no change
60634         this year.  This eases coordination with other programs using the same
60635         source code modules.  From Paul Eggert.
60636
60637 2000-08-06  Paul Eggert  <eggert@twinsun.com>
60638
60639         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
60640         not char, for compatibility with glibc 2.1.3 strftime.c.
60641
60642 2000-08-03  Greg McGary  <greg@mcgary.org>
60643
60644         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
60645         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
60646         (EXTEND_BUFFER): Use them.
60647
60648 2000-08-01  Jim Meyering  <meyering@lucent.com>
60649
60650         * lib/dirname.c (ISSLASH): Define.
60651         (BACKSLASH_IS_PATH_SEPARATOR): Define.
60652         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
60653         both `\' and `/' may be use as path separators.
60654         Based on a patch from Prashant TR.
60655
60656 2000-07-31  Paul Eggert  <eggert@twinsun.com>
60657
60658         * lib/quotearg.c (quotearg_n_options): Don't make the initial
60659         slot vector a constant, since it might get modified.
60660
60661 2000-07-31  Jim Meyering  <meyering@lucent.com>
60662
60663         * lib/xmalloc.c: Use `virtual memory exhausted', not
60664         `Memory exhausted'.
60665         * lib/obstack.c (print_and_abort): Likewise.
60666
60667 2000-07-30  Paul Eggert  <eggert@twinsun.com>
60668
60669         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
60670         buffer, so that the caller can always quote one small
60671         component of a "memory exhausted" message in slot 0.
60672         From a suggestion by Jim Meyering.
60673
60674 2000-07-30  Jim Meyering  <meyering@lucent.com>
60675
60676         * lib/makepath.c (make_path): Quote the other instance, too.
60677
60678         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
60679         (STATIC_BUF_SIZE): Define.
60680         (quotearg_n_options): Use only statically allocated storage when
60681         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
60682         than STATIC_BUF_SIZE.
60683
60684 2000-07-29  Jim Meyering  <meyering@lucent.com>
60685
60686         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
60687         * lib/dirname.c (dir_name): Likewise.
60688
60689         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
60690         `/'.
60691
60692         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
60693         (dir_name): Assert that there are no trailing slashes.
60694
60695 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
60696
60697         * lib/mbswidth.h (mbswidth): Add a flags argument.
60698         (mbswidth): New declaration.
60699         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
60700         * lib/mbswidth.c (mbswidth): Add a flags argument.
60701         (mbsnwidth): New function.
60702
60703 2000-07-24  Jim Meyering  <meyering@lucent.com>
60704
60705         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
60706
60707 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60708
60709         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
60710
60711 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60712
60713         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
60714         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
60715         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
60716         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
60717         invoke multibyte primitives.
60718
60719 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60720
60721         * lib/quotearg.c:
60722         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
60723         so that mbstate_t is always defined.
60724
60725         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
60726         be 1 in at least one GCC installation, and this configuration
60727         error is likely to be common.  Ignoring MB_LEN_MAX hurts
60728         performance on hosts that have mbrtowc but have only unibyte
60729         locales, but I assume these hosts are rare.
60730
60731 2000-07-23  Paul Eggert  <eggert@twinsun.com>
60732
60733         * lib/mbswidth.c (_XOPEN_SOURCE):
60734         Don't define; this causes problems on Solaris 7.
60735         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
60736
60737 2000-07-23  Jim Meyering  <meyering@lucent.com>
60738
60739         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
60740         too: getgrgid, getpwuid, getuid.
60741
60742 2000-07-23  Jim Meyering  <meyering@lucent.com>
60743
60744         * lib/basename.c (base_name): Add an assertion.
60745
60746 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
60747
60748         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
60749         shadow its mbsinit function.
60750
60751 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
60752
60753         * lib/mbswidth.h: New file.
60754         * lib/mbswidth.c: New file.
60755         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
60756         (noinst_HEADERS): Add mbswidth.h.
60757
60758 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
60759
60760         * lib/config.charset: Add support for FreeBSD. Improve support for
60761         HP-UX and IRIX 6.
60762
60763 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
60764
60765         * m4/mbswidth.m4: New file.
60766         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
60767
60768 2000-07-15  Jim Meyering  <meyering@lucent.com>
60769
60770         * lib/makepath.c: Include quote.h.
60771         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
60772         corresponding argument in a `quote (...)' call.
60773         Give better diagnostics.
60774
60775         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
60776         (noinst_HEADERS): Add quote.h.
60777
60778         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
60779         from tar's src/misc.c.
60780         * lib/quote.h: New file.  Prototypes for same.
60781
60782 2000-07-14  Paul Eggert  <eggert@twinsun.com>
60783
60784         From a suggestion by Bruno Haible.
60785         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
60786         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
60787         to decide whether to define the BeOS workaround macro;
60788         this adjusts to the change to AC_MBSTATE_T.
60789
60790 2000-07-14  Jim Meyering  <meyering@lucent.com>
60791
60792         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
60793         jm_AC_TYPE_UINTMAX_T.
60794
60795 2000-07-13  Paul Eggert  <eggert@twinsun.com>
60796
60797         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
60798
60799         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
60800         quotearg_buffer_restyled): Add support for
60801         clocale_quoting_style.  Undo previous change to
60802         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
60803         and "{RIGHT QUOTATION MARK}" msgids.
60804
60805 2000-07-10  Paul Eggert  <eggert@twinsun.com>
60806
60807         From a suggestion by Bruno Haible.
60808         * m4/mbstate_t.m4 (AC_MBSTATE_T):
60809         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
60810         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
60811         and mbstate_t, to a single-part test that simply defines mbstate_t.
60812         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
60813         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
60814
60815 2000-07-10  Jim Meyering  <meyering@lucent.com>
60816
60817         * m4/strerror_r.m4: Mirror the correction made in autoconf.
60818
60819         * m4/gnu-source.m4: Output to confdefs.h directly.
60820         Suggestion from Akim Demaille.
60821
60822 2000-07-09  Paul Eggert  <eggert@twinsun.com>
60823
60824         The old behavior of quoting `like this' doesn't look good with
60825         newer, ISO-style fonts.  See:
60826         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
60827
60828         Instead, quote "like this" by default.  Let the translator
60829         tailor the locale-specific quoting behavior by providing
60830         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
60831
60832         * lib/quotearg.c (N_): New macro.
60833         (gettext_default): New function.
60834         (quotearg_buffer_restyled): Use
60835         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
60836         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
60837
60838 2000-07-09  Jim Meyering  <meyering@lucent.com>
60839
60840         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
60841         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
60842
60843         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
60844         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
60845
60846 2000-07-09  Jim Meyering  <meyering@lucent.com>
60847
60848         * lib/Most files: Update copyright dates to include 2000.
60849
60850 2000-07-08  Jim Meyering  <meyering@lucent.com>
60851
60852         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
60853         if not defined.
60854         (xgethostname): Remove now-unnecessary #ifdef.
60855         Move declaration of `err' into loop where it's used.
60856
60857 2000-07-05  Paul Eggert  <eggert@twinsun.com>
60858         and Bruno Haible  <haible@clisp.cons.org>
60859
60860         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
60861         only if the test for an object-type mbstate_t fails.  This
60862         prevents us from mistakenly reporting that mbstate_t is a
60863         system object type after we "#define mbstate_t int" to work
60864         around its lack.
60865
60866 2000-07-05  Paul Eggert  <eggert@twinsun.com>
60867         and Bruno Haible  <haible@clisp.cons.org>
60868
60869         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
60870
60871 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60872
60873         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
60874         to strerror_r.
60875         Include <ctype.h> for use of isalpha.
60876
60877 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60878
60879         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
60880         by allocating a larger buffer. Test the gethostname return value for
60881         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
60882         returns an error and ENAMETOOLONG isn't defined.
60883
60884 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
60885
60886         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
60887         dimension.
60888
60889 2000-07-04  Jim Meyering  <meyering@lucent.com>
60890
60891         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
60892         of the deprecated AC_CHECKING.
60893
60894 2000-07-04  Jim Meyering  <meyering@lucent.com>
60895
60896         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
60897         Reported by Bruno Haible.
60898
60899 2000-07-04  Jim Meyering  <meyering@lucent.com>
60900
60901         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
60902         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
60903         lacks mbrtowc.
60904
60905 2000-07-03  Paul Eggert  <eggert@twinsun.com>
60906
60907         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
60908         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
60909
60910 2000-07-03  Paul Eggert  <eggert@twinsun.com>
60911         and Bruno Haible  <haible@clisp.cons.org>
60912
60913         * lib/quotearg.c (mbrtowc):
60914         Assign to *pwc, and return 1 only if result is nonzero.
60915         (iswprint): Use ISPRINT when substituting our own mbrtowc.
60916
60917 2000-07-03  Jim Meyering  <meyering@lucent.com>
60918
60919         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
60920
60921 2000-07-03  Jim Meyering  <meyering@lucent.com>
60922
60923         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
60924         This is necessary to get a definition of e.g., UTMP_FILE on
60925         HP-UX 10.20.
60926         From Bob Proulx.
60927
60928 2000-07-02  Jim Meyering  <meyering@lucent.com>
60929
60930         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
60931
60932         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
60933         AC_LIBOBJ(function_name).
60934         * m4/chown.m4: Likewise.
60935         * m4/fnmatch.m4: Likewise.
60936         * m4/ftruncate.m4: Likewise.
60937         * m4/getgroups.m4: Likewise.
60938         * m4/getline.m4: Likewise.
60939         * m4/group-member.m4: Likewise.
60940         * m4/jm-macros.m4: Likewise.
60941         * m4/lstat.m4: Likewise.
60942         * m4/malloc.m4: Likewise.
60943         * m4/memcmp.m4: Likewise.
60944         * m4/nanosleep.m4: Likewise.
60945         * m4/putenv.m4: Likewise.
60946         * m4/realloc.m4: Likewise.
60947         * m4/regex.m4: Likewise.
60948         * m4/stat.m4: Likewise.
60949         * m4/strftime.m4: Likewise.
60950
60951 2000-07-02  Jim Meyering  <meyering@lucent.com>
60952
60953         * lib/quotearg.c (mbstate_t): Don't define here.
60954
60955 2000-07-02  Jim Meyering  <meyering@lucent.com>
60956
60957         * lib/nanosleep.c (SIGCONT): Define if not already defined.
60958
60959 2000-07-01  Jim Meyering  <meyering@lucent.com>
60960
60961         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
60962
60963 2000-07-01  Jim Meyering  <meyering@lucent.com>
60964
60965         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
60966         problem.
60967
60968 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
60969
60970         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
60971         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
60972
60973 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
60974
60975         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
60976         per change in ../m4/ls-mntd-fs.m4.
60977         (read_filesystem_list): Ignore symbolic links.
60978
60979 2000-06-29  Jim Meyering  <meyering@lucent.com>
60980
60981         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
60982         for declaration of strcmp.
60983
60984         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
60985
60986         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
60987         Avoid warning by casting result to `char *' to remove `const'.
60988
60989 2000-06-28  Jim Meyering  <meyering@lucent.com>
60990
60991         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
60992         included by quotearg.c, for which we perform this test.  From
60993         Bruno Haible.
60994
60995 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
60996
60997         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
60998         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
60999         <utmpx.h> exists, put readutmp.o into LIBOBJS.
61000
61001 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61002
61003         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
61004
61005 2000-06-26  Paul Eggert  <eggert@twinsun.com>
61006
61007         savedir now sets errno on failure and invokes xmalloc to get memory.
61008         Fix a couple of other minor bugs while we're at it.
61009
61010         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
61011         (NAMLEN): Remove macro.
61012         (malloc, realloc): Remove decls.
61013         (stpcpy): Likewise.
61014         ("xalloc.h"): Include.
61015         (NAME_SIZE_DEFAULT): New macro.
61016         (savedir): Use xmalloc / xrealloc to allocate memory.
61017         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
61018         Skip "" directory entries.
61019         Use strlen to calculate directory entry length, since the old method
61020         is rarely used these days and isn't worth supporting.
61021         Don't use a pointer after freeing it.
61022         Check for integer overflow when calculating allocation size.
61023         Use memcpy to copy entries, instead of stpcpy.
61024         Set errno properly when returning NULL.
61025         Check for readdir error.
61026
61027 2000-06-26  Jim Meyering  <meyering@lucent.com>
61028
61029         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
61030
61031 2000-06-25  Jim Meyering  <meyering@lucent.com>
61032
61033         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
61034         Linux header bug when _XOPEN_SOURCE is defined to 500.
61035
61036 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61037
61038         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
61039         deficiency.
61040
61041 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61042
61043         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
61044         Include xalloc.h.
61045         Don't include <stdlib.h>.  Don't declare malloc, realloc.
61046
61047 2000-06-24  Jim Meyering  <meyering@lucent.com>
61048
61049         * m4/strerror_r.m4: Revive this file -- to try out an experimental
61050         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
61051         for which strerror does return char*, but which lacks a conveniently
61052         accessible declaration of the function.  If the compile-test says
61053         strerror_r doesn't work, then resort to a `run'-test that works on
61054         BeOS and segfaults on DEC Unix.
61055
61056 2000-06-24  Jim Meyering  <meyering@lucent.com>
61057
61058         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
61059
61060 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61061
61062         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
61063         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
61064
61065 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61066
61067         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
61068         (mbrtowc, mbstate_t): Define substitutes if
61069         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61070         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
61071         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
61072
61073 2000-06-23  Jim Meyering  <meyering@lucent.com>
61074
61075         * m4/afs.m4: Add missing AC_MSG_RESULT.
61076         Reported by Bruno Haible.
61077
61078         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
61079         Suggestion from Bruno Haible.
61080
61081 2000-06-23  Jim Meyering  <meyering@lucent.com>
61082
61083         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
61084
61085 2000-06-21  Jim Meyering  <meyering@lucent.com>
61086
61087         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
61088
61089 2000-06-21  Jim Meyering  <meyering@lucent.com>
61090
61091         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
61092         (noinst_HEADERS): Add getstr.h.
61093
61094         * lib/getline.c (getstr): Move into a separate file.
61095         * lib/getstr.c (getstr): New file, extracted from getline.c, with
61096         the following changes: new parameter, delim2; both delim[12]
61097         parameters have type `int', not `char'.  The latter would lose
61098         with 8-bit delimiters.
61099         * lib/getstr.h: New file.
61100
61101 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61102
61103         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
61104         than 1024, return a memory chunk of least possible size, instead
61105         of size PATH_MAX + 2. In the loop, increment the size proportionally.
61106         Use free/xmalloc instead of xrealloc to avoid copying for very long
61107         paths.
61108
61109 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61110
61111         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
61112         the empty string.
61113
61114 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61115
61116         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
61117         address, not strdup.  Include <stdlib.h> and don't declare free().
61118
61119 2000-06-19  Jim Meyering  <meyering@lucent.com>
61120
61121         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
61122
61123 2000-06-18  Jim Meyering  <meyering@lucent.com>
61124
61125         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
61126
61127         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
61128         `checking whether...' message to be consistent with that of the
61129         lstat test.
61130
61131 2000-06-18  Jim Meyering  <meyering@lucent.com>
61132
61133         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
61134         Besides, these days every porting target provides a mkdir function.
61135
61136         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
61137         needed. (this snippet comes from src/system.h).
61138
61139 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
61140
61141         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
61142
61143 2000-06-15  Paul Eggert  <eggert@twinsun.com>
61144
61145         * lib/human.c (adjust_value): New function.
61146         (human_readable_inexact): Apply rounding style even when
61147         printing approximate values.
61148
61149 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61150
61151         * lib/human.c (human_readable_inexact): Allow an input block
61152         size that is not a multiple of the output block size, and vice versa.
61153         Reported by Piergiorgio Sartor.
61154
61155 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61156
61157         * lib/getdate.y (get_date): Apply relative times after time
61158         zone indicator, not before.  Reported by Todd A. Jacobs.
61159
61160 2000-06-13  Jim Meyering  <meyering@lucent.com>
61161
61162         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
61163
61164         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
61165
61166 2000-06-12  Paul Eggert  <eggert@twinsun.com>
61167
61168         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
61169
61170 2000-06-12  Jim Meyering  <meyering@lucent.com>
61171
61172         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
61173         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
61174         optional argument.
61175         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
61176         the optional argument, `lib'.
61177
61178 2000-06-08  Jim Meyering  <meyering@lucent.com>
61179
61180         * m4/largefile.m4: Remove file (now that it's part of autoconf).
61181
61182 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61183
61184         Rewrite largefile configuration so that we don't need to run
61185         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
61186         AC_CANONICAL_HOST in configure.in -- jmm]
61187
61188         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
61189         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
61190         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
61191         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
61192         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
61193         All uses changed.
61194         Instead of inspecting the output of getconf, try to compile the
61195         test program without and with the macro definition.
61196         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
61197         for getconf.  Instead, check for the needed flags by compiling
61198         test programs.
61199
61200 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61201
61202         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
61203
61204 2000-06-04  Jim Meyering  <meyering@lucent.com>
61205
61206         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
61207         SunOS 4.1.4 for which gid_t is an unsigned type.
61208
61209 2000-06-03  Jim Meyering  <meyering@lucent.com>
61210
61211         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
61212         now that autoconf requires that.
61213
61214         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
61215         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
61216         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
61217
61218 2000-06-03  Jim Meyering  <meyering@lucent.com>
61219
61220         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
61221
61222 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61223
61224         * m4/glibc21.m4: New file.
61225         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
61226
61227 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61228
61229         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
61230         newer, don't install charset.alias.
61231         * lib/config.charset: Change the Linux/glibc rules so they become empty
61232         on glibc-2.1 or newer.
61233
61234 2000-06-02  Jim Meyering  <meyering@lucent.com>
61235
61236         * lib/mountlist.c: Back out last change.  Instead, do this...
61237         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
61238         me_dummy member using the same `ignore'-testing code.
61239         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
61240         fs_type strings.
61241         From Mark D. Roth.
61242
61243 2000-05-29  Jim Meyering  <meyering@lucent.com>
61244
61245         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
61246         mounts with the `ignore' attribute.  Based on a patch from
61247         Mark D. Roth.
61248
61249 2000-05-28  Jim Meyering  <meyering@lucent.com>
61250
61251         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
61252         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61253         * m4/stat.m4: Likewise.
61254         * m4/lstat.m4: Likewise.
61255         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
61256
61257         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
61258         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
61259
61260 2000-05-26  Jim Meyering  <meyering@lucent.com>
61261
61262         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
61263
61264 2000-05-24  Jim Meyering  <meyering@lucent.com>
61265
61266         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
61267         autoconf requires that.
61268         * m4/lib-check.m4: Likewise.
61269         * m4/jm-macros.m4: Likewise.
61270         * m4/strftime.m4: Likewise.
61271
61272         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
61273         AC_CHECK_DECLS, now that autoconf requires that.
61274
61275 2000-05-22  Jim Meyering  <meyering@lucent.com>
61276
61277         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61278         * m4/lstat.m4: Likewise.
61279
61280 2000-05-22  Jim Meyering  <meyering@lucent.com>
61281
61282         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
61283
61284 2000-05-20  Jim Meyering  <meyering@lucent.com>
61285
61286         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
61287         (jm_PREREQ): Use it.
61288
61289 2000-05-18  Jim Meyering  <meyering@lucent.com>
61290
61291         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
61292         back, too, since it may have been modified by allocate_entry.
61293         (hash_delete): Rewrite to use neither the assignment operator
61294         nor the comma operator in an if-expression.
61295
61296 2000-05-15  Paul Eggert  <eggert@twinsun.com>
61297
61298         * lib/closeout.c:
61299         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
61300         Remove; no longer needed.
61301         "quotearg.h": Add include.
61302         (file_name): Do not bother to explicitly initialize to NULL; it's less
61303         efficient on some hosts.
61304         (close_stdout_status): Remove test as to whether stdout was already
61305         closed; it breaks for the case "echo x | sort >&-".
61306         Quote file name colons.
61307         Do not assume that _("write error") lacks format strings.
61308
61309 2000-05-15  Jim Meyering  <meyering@lucent.com>
61310
61311         * lib/version-etc.c (version_etc_copyright): Update the copyright
61312         string used in all --version output.
61313
61314 2000-05-14  Jim Meyering  <meyering@lucent.com>
61315
61316         * lib/closeout.c (close_stdout_set_file_name): New function.
61317         (close_stdout_status): Use new file-scoped global.
61318         Return right away if fstat says the stdout file descriptor is invalid.
61319         * lib/closeout.h (close_stdout_set_file_name): Declare.
61320
61321 2000-05-10  Jim Meyering  <meyering@lucent.com>
61322
61323         * lib/closeout.c [default_exit_status]: New file-scoped variable.
61324         (close_stdout_set_status): New function.
61325         * lib/closeout.h (close_stdout_set_status): Declare.
61326
61327 2000-05-09  Jim Meyering  <meyering@lucent.com>
61328
61329         * m4/gettext.m4: Rename this...
61330         * m4/libintl.m4: ...to this.
61331
61332 2000-05-08  Jim Meyering  <meyering@lucent.com>
61333
61334         * lib/long-options.c: Don't include closeout.h.
61335         (parse_long_options): Don't call close_stdout for --version.
61336
61337 2000-05-06  Paul Eggert  <eggert@twinsun.com>
61338
61339         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
61340         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
61341         2.1.3 bug.  This avoids a clash when files like regex.c define
61342         _GNU_SOURCE.
61343
61344 2000-05-06  Jim Meyering  <meyering@lucent.com>
61345
61346         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
61347         (AC_REPLACE_FUNCS): Add strnlen.
61348
61349         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
61350         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
61351
61352         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
61353         AC_SEARCH_LIBS call for nanosleep.
61354         (LIB_NANOSLEEP): Set and AC_SUBST.
61355
61356 2000-05-06  Jim Meyering  <meyering@lucent.com>
61357
61358         * lib/strnlen.c: Undefine __strnlen and strnlen.
61359         [!weak_alias]: Define __strnlen to strnlen.
61360
61361         * lib/atexit.c: New file, from libiberty.
61362
61363 2000-05-06  Jim Meyering  <meyering@lucent.com>
61364
61365         * lib/closeout.c (close_stdout_status): Also check for errors on the
61366         stderr stream.
61367
61368 2000-05-05  Jim Meyering  <meyering@lucent.com>
61369
61370         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
61371         AC_SEARCH_LIBS call for clock_gettime.
61372         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
61373
61374         * m4/search-libs.m4: Update from autoconf.
61375
61376         su doesn't work on Solaris 2.6.
61377         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
61378         <shadow.h>.  Reported by Dragos Harabor.
61379
61380 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
61381
61382         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
61383         memcpy instead of xmalloc, xrealloc, path_concat.
61384         (locale_charset): Treat empty environment variables as absent.
61385         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
61386
61387 2000-05-04  Jim Meyering  <meyering@lucent.com>
61388
61389         * lib/getopt.c: Update from glibc.
61390         * lib/obstack.c: Likewise.
61391         * lib/obstack.h: Likewise.
61392         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
61393         file
61394
61395         * lib/regex.h: Likewise.
61396         * lib/strndup.c: Likewise.
61397         * lib/strnlen.c: New file, from glibc.
61398
61399 2000-05-03  Jim Meyering  <meyering@lucent.com>
61400
61401         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
61402
61403 2000-05-02  Paul Eggert  <eggert@twinsun.com>
61404
61405         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
61406         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
61407         compile-time test, rather than inspecting host and OS, to
61408         decide whether to define _LARGEFILE_SOURCE.
61409
61410 2000-05-01  Jim Meyering  <meyering@lucent.com>
61411
61412         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
61413
61414         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
61415         Based on a patch from Bruno Haible.
61416
61417 2000-05-01  Jim Meyering  <meyering@lucent.com>
61418
61419         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
61420
61421 2000-04-29  Jim Meyering  <meyering@lucent.com>
61422
61423         * lib/path-concat.c: Declare strdup only if it's not defined.
61424         * lib/canon-host.c: Likewise.
61425
61426 2000-04-28  Jim Meyering  <meyering@lucent.com>
61427
61428         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
61429         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
61430         is included first, then limits.h is included by locale.h by libintl.h.
61431         From John David Anglin.
61432
61433 2000-04-25  Jim Meyering  <meyering@lucent.com>
61434
61435         * lib/makepath.c (S_IRWXUGO): Define.
61436         (make_path): Always perform explicit chmod if MODE specifies any
61437         of the `special' permission bits.  Prompted by a bug report against
61438         install from Mate Wierdl and Joost van Baal.
61439
61440 2000-04-18  Jim Meyering  <meyering@lucent.com>
61441
61442         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
61443         (jm_PREREQ): Use it.
61444
61445 2000-04-18  Jim Meyering  <meyering@lucent.com>
61446
61447         * lib/README: New file.
61448
61449         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
61450         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
61451
61452 2000-04-17  Jim Meyering  <meyering@lucent.com>
61453
61454         Get it right :-)
61455         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
61456         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
61457         Suggestion from Akim Demaille.
61458
61459 2000-04-17  Jim Meyering  <meyering@lucent.com>
61460
61461         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
61462         the definition of it to rpl_strftime also defined-away the system's
61463         declaration.
61464
61465 2000-04-15  Jim Meyering  <meyering@lucent.com>
61466
61467         Use `C' to denote so-called `contiguous' files, the same way
61468         that tar does.
61469         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
61470         (ftypelet): Use S_ISCTG.
61471         From Michael Deutschmann.
61472
61473 2000-04-14  Jim Meyering  <meyering@lucent.com>
61474
61475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
61476         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
61477         clobbered.
61478
61479 2000-04-14  Jim Meyering  <meyering@lucent.com>
61480
61481         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
61482
61483 2000-04-13  Jim Meyering  <meyering@lucent.com>
61484
61485         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
61486         AH_VERBATIM to insert required #ifndef into config.h.in.
61487         Suggestion from Akim Demaille.
61488
61489 2000-04-12  Jim Meyering  <meyering@lucent.com>
61490
61491         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
61492         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
61493         Christian Krackowizer.
61494
61495         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
61496         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
61497         (AC_SYS_LARGEFILE): Require.
61498         (AM_C_PROTOTYPES): Require.
61499
61500 2000-04-08  Jim Meyering  <meyering@lucent.com>
61501
61502         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
61503         names don't conflict.  Reported by Eli Zaretskii.
61504
61505 2000-04-07  Jim Meyering  <meyering@lucent.com>
61506
61507         * lib/putenv.c: Move inclusion of errno.h so it follows that of
61508         sys/types.h, to work around system header problems on AIX 3.2.5.
61509         From Bruno Haible.
61510
61511 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
61512
61513         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
61514         bug.  Deal with the different error behavior of Irix iconv.
61515
61516 2000-04-05  Paul Eggert  <eggert@twinsun.com>
61517
61518         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
61519         IRIX if the installer said otherwise.
61520
61521 2000-04-05  Jim Meyering  <meyering@lucent.com>
61522
61523         Portability tweaks required for ultrix4.3.
61524         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
61525         (jm_CHECK_DECLS): Add getutent to the list of functions.
61526         (_jm_DECL_HEADERS): Add utmpx.h.
61527         From John David Anglin.
61528
61529         * m4/strftime.m4: Back out the 2000-04-02 change.
61530         Instead of that change, simply undefine putenv in the test program.
61531
61532 2000-04-05  Jim Meyering  <meyering@lucent.com>
61533
61534         Portability tweaks required for ultrix4.3.
61535         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
61536         getutent.
61537         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
61538         * lib/canon-host.c: Declare strdup.
61539         * lib/path-concat.c: Likewise.
61540         From John David Anglin.
61541
61542 2000-04-04  Jim Meyering  <meyering@lucent.com>
61543
61544         Be more DOS 8.3-friendly.
61545         * lib/ref-add.sin: Renamed from ref-add.sed.in.
61546         * lib/ref-del.sin: Renamed from ref-del.sed.in.
61547         * lib/Makefile.am: Reflect renaming.
61548         Reported by Eli Zaretskii.
61549
61550         Use a temporary file name that won't clash with `charset.alias'
61551         in the DOS 8.3 name space.
61552         * lib/Makefile.am (charset_tmp): Define.
61553         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
61554         (uninstall-local): Likewise.
61555         Reported by Eli Zaretskii.
61556
61557 2000-04-03  Jim Meyering  <meyering@lucent.com>
61558
61559         * m4/gettext.m4: Fix typo in comment.
61560
61561         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
61562         textutils/configure.in).  Suggestion from Paul Eggert.
61563         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
61564
61565 2000-04-02  Paul Eggert  <eggert@twinsun.com>
61566
61567         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
61568         variable in the shell rather than using putenv, which isn't
61569         portable.  This avoids the configure-time inter-test dependency
61570         on the potentially-renamed putenv function.
61571
61572 2000-03-30  Paul Eggert  <eggert@twinsun.com>
61573
61574         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
61575         before checking struct stat.st_blksize, so that
61576         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
61577
61578 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61579
61580         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
61581         since strftime.c uses HAVE_STRFTIME to decide whether to use
61582         the underlying strftime.
61583
61584 2000-03-29  Paul Eggert  <eggert@twinsun.com>
61585
61586         * lib/time/strftime.c (my_strftime): Make sure we call the system
61587         strftime, not ourselves, when invoking the underlying strftime.
61588
61589 2000-03-24  Jim Meyering  <meyering@lucent.com>
61590
61591         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
61592         (charset_alias): Define.
61593         (install-exec-local): Factor out common code.
61594         (uninstall-local): Split lines longer than 80.
61595         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
61596         (SUFFIXES): Define.
61597         (.sed.in.sed): New rule.  Don't redirect directly to $@.
61598         (CLEANFILES): Add ref-add.sed and ref-del.sed.
61599
61600 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
61601
61602         * lib/config.charset: Output a line containing "Packages using this
61603         file".
61604         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
61605         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
61606         ref-del.sed): New rules.
61607
61608 2000-03-17  Jim Meyering  <meyering@lucent.com>
61609
61610         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
61611         Otherwise, include <strings.h>
61612
61613 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
61614
61615         * lib/unicodeio.c (utf8_wctomb): New function.
61616         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
61617         format instead of in UCS-4 with platform dependent endianness.
61618
61619 2000-03-10  Jim Meyering  <meyering@lucent.com>
61620
61621         * m4/lib-check.m4: Look for getspnam in -lgen, too.
61622         From Marco Franzen.
61623
61624 2000-03-07  Paul Eggert  <eggert@twinsun.com>
61625
61626         * lib/savedir.c (savedir): Work even if directory size is
61627         negative; this can happen with some screwy NFS configurations.
61628
61629 2000-03-06  Jim Meyering  <meyering@lucent.com>
61630
61631         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
61632         if it's NULL (because we ran out of memory).  From Bruno Haible.
61633
61634 2000-03-05  Jim Meyering  <meyering@lucent.com>
61635
61636         * lib/localcharset.c ("path-concat.h"): Include.
61637         (get_charset_aliases): Use path_concat instead of ANSI string
61638         concatenation.
61639
61640         * lib/unicodeio.h (PARAMS): Define.
61641         Use it to guard prototype.
61642
61643 2000-03-04  Jim Meyering  <meyering@lucent.com>
61644
61645         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
61646         for lib/localcharset.c.
61647
61648 2000-03-04  Jim Meyering  <meyering@lucent.com>
61649
61650         * lib/Makefile.am (install-exec-local): Create $(libdir) before
61651         installing into it.
61652         (uninstall-local): Uncomment this rule so `make distcheck' works
61653         once again.
61654
61655         * lib/unicodeio.c (<errno.h>): Include it.
61656         (errno): Declare if not defined.
61657
61658         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
61659
61660         * lib/config.charset: New version, incorporating remarks from a linux
61661         i18n mailing list.  From Bruno Haible.
61662
61663 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
61664
61665         * m4/codeset.m4: New file.
61666         * m4/iconv.m4: New file.
61667         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
61668
61669 2000-03-03  Jim Meyering  <meyering@lucent.com>
61670
61671         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
61672
61673 2000-03-02  Jim Meyering  <meyering@lucent.com>
61674
61675         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
61676         the messages come out on separate lines.
61677
61678         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
61679         rather than jm_CHECK_DECLARATIONS.
61680         * m4/decl.m4: Remove now-unused file.
61681
61682         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
61683         geteuid.
61684
61685 2000-03-02  Jim Meyering  <meyering@lucent.com>
61686
61687         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
61688
61689 2000-03-01  Jim Meyering  <meyering@lucent.com>
61690
61691         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
61692         * lib/unicodeio.c: Likewise.
61693
61694 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
61695
61696         * lib/config.charset: New file.
61697         * lib/localcharset.c: New file.
61698         * lib/unicodeio.h, lib/unicodeio.c: New files.
61699         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
61700         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
61701         (noinst_HEADERS): Add unicodeio.h.
61702         (all-local, install-exec-local, charset.alias): New targets.
61703
61704 2000-02-28  Paul Eggert  <eggert@twinsun.com>
61705
61706         * lib/quotearg.c (ALERT_CHAR): New macro.
61707         (quotearg_buffer_restyled): Use it.
61708
61709 2000-02-27  Jim Meyering  <meyering@lucent.com>
61710
61711         * m4/check-decl.m4: Add getenv to the list.
61712
61713 2000-02-27  Jim Meyering  <meyering@lucent.com>
61714
61715         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
61716         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
61717
61718         * lib/backupfile.c: Guard inclusion of stdlib.h with
61719         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
61720         Declare malloc if needed.
61721
61722         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
61723         `#ifndef HAVE_DECL..'
61724         now that autoconf always defines the HAVE_DECL_ symbols.
61725         * lib/human.c: Likewise.
61726         * lib/same.c: Likewise.
61727         * lib/strtoumax.c: Likewise.
61728
61729         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
61730         declaration check was not run.
61731         * lib/hash.c: Likewise.
61732         * lib/human.c: Likewise.
61733         * lib/same.c: Likewise.
61734         * lib/strtoumax.c: Likewise.
61735
61736         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
61737         `.', then first look up the entire `.'-containing string as a login
61738         name.
61739
61740 2000-02-23  Jim Meyering  <meyering@lucent.com>
61741
61742         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
61743         in place of my hack.
61744
61745 2000-02-18  Paul Eggert  <eggert@twinsun.com>
61746
61747         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
61748         (textint): New typedef.
61749         (parser_control): Member year changed from int to textint.
61750         All uses changed.
61751         (YYSTYPE): Removed; replaced by %union with int and textint members.
61752         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
61753         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
61754         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
61755         (tSNUMBER, tUNUMBER): Now of type <textintval>.
61756         (date, number, to_year): Use width of number in digits, not its value,
61757         to determine whether it's a 2-digit year, or a 2-digit time.
61758         (yylex): Store number of digits of numeric tokens.
61759         Reported by John Kendall.
61760
61761         (parser_control): Changed from struct parser_control to typedef (for
61762         consistency).  All uses changed.
61763
61764         (tID): Removed; not used.
61765         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
61766
61767 2000-02-14  Paul Eggert  <eggert@twinsun.com>
61768
61769         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
61770         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
61771
61772 2000-02-12  Jim Meyering  <meyering@lucent.com>
61773
61774         * lib/userspec.c (ISDIGIT): Define it.
61775         (isdigit): Remove definition.
61776         (is_number): Use ISDIGIT, not isdigit.
61777         <libintl.h>: Include.
61778         (_ and N_): Define.
61779         (parse_user_spec): Mark translatable strings.
61780
61781 2000-02-10  Jim Meyering  <meyering@lucent.com>
61782
61783         With these changes, nanosleep.[ch] are finally enough like the other
61784         lib/* replacement files to compile on a few more losing systems.
61785
61786         * lib/nanosleep.h: Don't include config.h.
61787         Remove prototype from declaration of nanosleep.
61788         (PARAMS): Remove now-unneeded definition.
61789         * lib/nanosleep.c: #undef nanosleep.
61790         (rpl_nanosleep): Rename from nanosleep.
61791
61792 2000-02-10  Jim Meyering  <meyering@lucent.com>
61793
61794         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
61795         gnu_nanosleep to rpl_nanosleep.
61796
61797 2000-02-09  Jim Meyering  <meyering@lucent.com>
61798
61799         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
61800         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
61801
61802 2000-02-08  Akim Demaille  <akim@epita.fr>
61803
61804         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
61805         `[' and `]' and remove uses of `changequote'.
61806         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
61807         (AC_SYS_LARGEFILE): Likewise.
61808         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
61809         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
61810         of changequote.
61811         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
61812         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
61813         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
61814         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
61815
61816 2000-02-05  Jim Meyering  <meyering@lucent.com>
61817
61818         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
61819         Remove explicit use of AC_HEADER_TIME.  It is required by
61820         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
61821         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
61822         in autoconf whereby the expansion of the latter ended up preceding
61823         the expansion of its prerequisite, AC_HEADER_TIME.
61824         Reported by Volker Borchert.
61825
61826 2000-02-03  Jim Meyering  <meyering@lucent.com>
61827
61828         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
61829
61830 2000-02-03  Jim Meyering  <meyering@lucent.com>
61831
61832         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
61833         rather than with `#if HAVE_UTMPNAME'.
61834
61835 2000-02-02  Jim Meyering  <meyering@lucent.com>
61836
61837         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
61838         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
61839         Reported by Eli Zaretskii.
61840
61841 2000-02-01  Jim Meyering  <meyering@lucent.com>
61842
61843         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
61844
61845 2000-01-31  Jim Meyering  <meyering@lucent.com>
61846
61847         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
61848         functions.  Add the time.h and sys/time.h headers along with the
61849         AC_REQUIRE'ment of AC_HEADER_TIME.
61850
61851 2000-01-31  Jim Meyering  <meyering@lucent.com>
61852
61853         * lib/nanosleep.h (nanosleep): Guard declaration with
61854         `#if ! HAVE_DECL_NANOSLEEP'.
61855         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
61856         the declaration in that vendor's sys/timers.h.
61857         Reported by Christian Krackowizer.
61858
61859         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
61860         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
61861         (ISPRINT): Likewise.
61862         Reported by Tom Tromey.
61863
61864 2000-01-30  Jim Meyering  <meyering@lucent.com>
61865
61866         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
61867
61868         * m4/prereq.m4 (utmp_includes): Define.
61869         Check for ut_user and ut_name members in both struct utmpx
61870         and struct utmp.
61871
61872 2000-01-30  Jim Meyering  <meyering@lucent.com>
61873
61874         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
61875         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
61876         header files where only utmpx.ut_user is declared.
61877
61878         * lib/readutmp.h (UT_USER): Define.
61879
61880 2000-01-29  Jim Meyering  <meyering@lucent.com>
61881
61882         * m4/lib-check.m4: New file containing library-related checks from
61883         fileutils and sh-utils (textutils had none).
61884
61885 2000-01-28  Jim Meyering  <meyering@lucent.com>
61886
61887         * m4/perl.m4: Change format of warning message to look more like that
61888         from the missing script.  Suggestion from François Pinard.
61889
61890 2000-01-25  Jim Meyering  <meyering@lucent.com>
61891
61892         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
61893         well as time.h in the compile check.
61894         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
61895         Fix typo in cross-compiling case: s/yes/no/.
61896
61897 2000-01-23  Jim Meyering  <meyering@lucent.com>
61898
61899         * m4/jm-macros.m4: Move df-related tests here from
61900         fileutils/configure.in
61901
61902         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
61903         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
61904
61905         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
61906         s/space/ac_fsusage_space/.
61907         (jm_FILE_SYSTEM_USAGE): Take two parameters.
61908
61909         * m4/ftruncate.m4: New file (derived from part of
61910         fileutils/configure.in).
61911         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
61912         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
61913
61914         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
61915         AC_SUBST these here, rather than just in sh-util/configure.in, so
61916         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
61917         all the same.
61918         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
61919         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
61920         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
61921         (AC_SUBST(POW_LIBM)): Likewise.
61922         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
61923
61924 2000-01-23  Jim Meyering  <meyering@lucent.com>
61925
61926         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
61927         obstack.c.
61928
61929 2000-01-22  Jim Meyering  <meyering@lucent.com>
61930
61931         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
61932
61933         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
61934
61935         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
61936         configure.in
61937         (AC_CHECK_HEADERS): Likewise for sh-utils.
61938         (AC_CHECK_HEADERS): Likewise for textutils.
61939         Merge the three lists of headers.
61940
61941         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
61942         from fileutils' configure.in.
61943
61944         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
61945         code. Moved tests into their own function (_jm_DECL_HEADERS) in
61946         check-decl.m4.
61947
61948         * m4/check-decl.m4: Use #if rather than #ifdef.
61949         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
61950         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
61951         (_jm_DECL_HEADERS): Define new function.
61952         (jm_CHECK_DECLARATIONS): Require it.
61953
61954 2000-01-22  Jim Meyering  <meyering@lucent.com>
61955
61956         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
61957         [! HAVE_DECL_STRTOULL]: Declare strtoull.
61958         Required for some AIX systems.  Reported by Christian Krackowizer.
61959         [TESTING] (main): New function.
61960
61961         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
61962         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
61963         letters.
61964
61965         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
61966         iswprint.
61967
61968         * lib/strverscmp.c (ISDIGIT): Define.
61969         (strverscmp): Use ISDIGIT, not isdigit.
61970
61971 2000-01-19  Jim Meyering  <meyering@lucent.com>
61972
61973         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
61974         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
61975         defines `struct timespec' in <sys/time.h>
61976
61977         * m4/c-bs-a.m4: Remove uses of changequote altogether.
61978         Thanks to Akim for explaining.
61979
61980 2000-01-17  Paul Eggert  <eggert@twinsun.com>
61981
61982         * lib/nanosleep.c (nanosleep):
61983         Don't use SA_INTERRUPT to decide whether to call sigaction, as
61984         POSIX.1 doesn't require SA_INTERRUPT and some systems
61985         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
61986         it's been part of POSIX.1 since day 1 (in 1988).
61987
61988 2000-01-17  Jim Meyering  <meyering@lucent.com>
61989
61990         * lib/interlock: Remove unused file.  Reported by François Pinard.
61991
61992 2000-01-16  Paul Eggert  <eggert@twinsun.com>
61993
61994         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
61995         alert, backslash, formfeed, and vertical tab unnecessarily in
61996         shell quoting style.
61997
61998 2000-01-16  Jim Meyering  <meyering@lucent.com>
61999
62000         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
62001         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
62002         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
62003         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
62004
62005 2000-01-16  Jim Meyering  <meyering@lucent.com>
62006
62007         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
62008         because the latter didn't work.
62009
62010 2000-01-15  Jim Meyering  <meyering@lucent.com>
62011
62012         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
62013         (AC_REPLACE_FUNCS): Add memcpy and memset.
62014         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
62015         Add strpbrk.
62016         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
62017
62018 2000-01-12  Jim Meyering  <meyering@lucent.com>
62019
62020         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
62021         (jm_PREREQ): Use it.
62022         (jm_PREREQ_READUTMP): New macro.
62023         (jm_PREREQ): Use it.
62024
62025 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62026
62027         Quote multibyte characters correctly.
62028         * m4/c-bs-a.m4: New file.
62029         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
62030         (jm_PREREQ): Use it.
62031
62032 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62033
62034         * m4/uintmax_t.m4: Port to autoconf 2.13.
62035
62036 2000-01-08  Jim Meyering  <meyering@ascend.com>
62037
62038         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
62039         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
62040
62041 2000-01-04  Jim Meyering  <meyering@ascend.com>
62042
62043         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
62044         jm_STRUCT_DIRENT_D_TYPE.
62045         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
62046         jm_STRUCT_DIRENT_D_INO.
62047         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
62048         jm_STRUCT_UTIMBUF.
62049         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
62050         renamings.
62051         * m4/utime.m4: Likewise.
62052
62053         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
62054         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
62055
62056 2000-01-03  Paul Eggert  <eggert@twinsun.com>
62057
62058         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
62059         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
62060
62061 2000-01-02  Jim Meyering  <meyering@ascend.com>
62062
62063         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
62064         remember if this is necessary.
62065
62066 1999-12-26  Jim Meyering  <meyering@ascend.com>
62067
62068         * m4/jm-macros.m4: Use it here.
62069         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
62070
62071 1999-12-23  Jim Meyering  <meyering@ascend.com>
62072
62073         * m4/jm-macros.m4: Check for clock_gettime (moved from
62074         fileutils/configure.in)
62075         Check for gettimeofday.
62076
62077 1999-12-20  Jim Meyering  <meyering@ascend.com>
62078
62079         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
62080         autoconf-2.14a-1999-12-20.
62081
62082 1999-12-19  Jim Meyering  <meyering@ascend.com>
62083
62084         * m4/lstat-slash.m4: New file.
62085         * m4/jm-macros.m4: Use the new macro:
62086         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62087
62088 1999-12-07  Jim Meyering  <meyering@ascend.com>
62089
62090         * m4/perl.m4: Require that File::Compare be available, too.
62091         Too many systems seem to lack it.
62092
62093         * m4/strftime.m4: Add checks for most of the cpp macros tested in
62094         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
62095
62096 1999-11-18  Paul Eggert  <eggert@twinsun.com>
62097
62098         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
62099         problem with the QNX 4.25 shell, which doesn't propagate exit
62100         status of failed commands inside shell assignments.
62101
62102 1999-11-17  Jim Meyering  <meyering@ascend.com>
62103
62104         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
62105
62106 1999-11-07  Jim Meyering  <meyering@ascend.com>
62107
62108         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
62109
62110 1999-11-06  Jim Meyering  <meyering@ascend.com>
62111
62112         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
62113         * m4/jm-macros.m4 (jm_MACROS): Use it here.
62114
62115 1999-11-05  Jim Meyering  <meyering@ascend.com>
62116
62117         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
62118         configure.in of textutils, fileutils, and sh-utils into this one
62119         (shared between those packages) file.
62120         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
62121         AC_STRUCT_ST_BLKSIZE.
62122
62123 1999-11-03  Jim Meyering  <meyering@ascend.com>
62124
62125         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
62126         of AC_CHECK_TYPE checks includes unistd.h.
62127         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
62128         Suggestion from Akim Demaille.
62129
62130 1999-10-30  Jim Meyering  <meyering@ascend.com>
62131
62132         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
62133         m4-quoted string.
62134         * m4/ls-mntd-fs.m4: Likewise.
62135         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
62136         * m4/jm-winsz1.m4: Likewise.
62137
62138         * m4/const.m4: Remove file, since the fix made it into the experimental
62139         version of autoconf.
62140         * m4/mktime.m4: Likewise.
62141
62142         * m4/check-type.m4: Remove file, now that the latest version of
62143         AC_CHECK_TYPE takes a third arg to specify additional #includes.
62144
62145         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
62146         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
62147         AC_CHECK_TYPE.
62148
62149 1999-10-04  Jim Meyering  <meyering@ascend.com>
62150
62151         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
62152
62153 1999-09-22  Paul Eggert  <eggert@twinsun.com>
62154
62155         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
62156         2.95.1 bug with HP-UX 10.20.
62157
62158 1999-09-17  Jim Meyering  <meyering@ascend.com>
62159
62160         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
62161         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
62162         due to missing strdup (against sh-utils-2.0).
62163
62164 1999-08-29  Jim Meyering  <meyering@ascend.com>
62165
62166         * m4/jm-macros.m4: Require jm_BISON.
62167         * m4/bison.m4: New file.
62168
62169 1999-08-17  Paul Eggert  <eggert@twinsun.com>
62170
62171         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
62172         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
62173
62174 1999-08-05  Jim Meyering  <meyering@ascend.com>
62175
62176         * m4/getline.m4: Rename test file from conftestdata to conftest.data
62177         to avoid conflicts with `conftest' on 8+3 filesystems.
62178         Suggestion from Eli Zaretskii.
62179
62180 1999-08-04  Jim Meyering  <meyering@ascend.com>
62181
62182         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
62183         fileutils and sh-utils (textutils's getline test was inadequate).
62184         (AM_FUNC_GETLINE): Run this test.
62185         (AC_CHECK_FUNCS): Check for getdelim.
62186         Reported by Bob Proulx.
62187
62188 1999-08-02  Jim Meyering  <meyering@ascend.com>
62189
62190         * m4/jm-macros.m4: Add a comment.
62191
62192 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62193
62194         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
62195         <inttypes.h> defines strtoumax as a macro (and not as a
62196         function).
62197
62198 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62199
62200         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
62201         that we can shift, multiply and divide unsigned long long
62202         values; Ultrix cc can't do it.
62203
62204 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62205
62206         * m4/mktime.m4: New file, which is a preview of what should appear
62207         in the next public autoconf release.
62208
62209 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62210
62211         * m4/lfs.m4: Remove this file.
62212         * m4/largefile.m4: New file.  It contains the old contents of
62213         lfs.m4, except that all names with prefix AC_LFS have been
62214         changed to use the prefix AC_SYS_LARGEFILE instead, to be
62215         compatible with future autoconf versions.  Also, some minor m4
62216         quoting problems have been fixed.
62217
62218 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62219
62220         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
62221         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
62222         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
62223         and simplify the shell code.
62224
62225 1999-08-01  Jim Meyering  <meyering@ascend.com>
62226
62227         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
62228         m4.
62229
62230 1999-07-20  Jim Meyering  <meyering@ascend.com>
62231
62232         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
62233
62234 1999-07-15  Jim Meyering  <meyering@ascend.com>
62235
62236         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
62237
62238 1999-05-22  Jim Meyering  <meyering@ascend.com>
62239
62240         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
62241
62242 1999-05-20  Jim Meyering  <meyering@ascend.com>
62243
62244         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
62245         Add a colon after each `then' in case $4 is empty.
62246
62247 1999-05-16  Jim Meyering  <meyering@ascend.com>
62248
62249         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
62250
62251 1999-05-10  Jim Meyering  <meyering@ascend.com>
62252
62253         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
62254
62255         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
62256         AC_FUNC_MKTIME.
62257
62258 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
62259
62260         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
62261
62262 1999-05-04  Paul Eggert  <eggert@twinsun.com>
62263
62264         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
62265         not CPPFLAGS, so that linking works correctly in IRIX.
62266
62267 1999-04-30  Paul Eggert  <eggert@twinsun.com>
62268
62269         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
62270
62271 1999-04-20  Paul Eggert  <eggert@twinsun.com>
62272
62273         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
62274         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
62275         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
62276         jm_AC_TYPE_UNSIGNED_LONG_LONG.
62277         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
62278
62279         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
62280
62281 1999-04-20  Jim Meyering  <meyering@ascend.com>
62282
62283         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
62284         AC_REPLACE xstroull if necessary.  From Paul Eggert.
62285         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
62286
62287 1999-04-18  Jim Meyering  <meyering@ascend.com>
62288
62289         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
62290         * m4/jm-macros.m4: Use it.
62291
62292 1999-04-06  Jim Meyering  <meyering@ascend.com>
62293
62294         * m4/strftime.m4: Remove test for %f.
62295
62296 1999-03-29  Jim Meyering  <meyering@ascend.com>
62297
62298         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
62299         superset of the AC_TYPE_* checks in the textutils, fileutils,
62300         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
62301         AC_TYPE_PID_T.
62302
62303 1999-03-28  Jim Meyering  <meyering@ascend.com>
62304
62305         * m4/jm-macros.m4: Define GNU_PACKAGE here.
62306         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
62307         replaced e.g., in the *.sh files of the sh-utils.
62308
62309 1999-03-20  Jim Meyering  <meyering@ascend.com>
62310
62311         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
62312         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
62313         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
62314
62315 1999-03-19  Jim Meyering  <meyering@ascend.com>
62316
62317         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
62318
62319 1999-03-12  Jim Meyering  <meyering@ascend.com>
62320
62321         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
62322
62323 1999-03-07  Jim Meyering  <meyering@ascend.com>
62324
62325         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
62326         declared.
62327
62328 1999-02-17  Jim Meyering  <meyering@ascend.com>
62329
62330         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
62331         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
62332
62333 1999-02-07  Jim Meyering  <meyering@ascend.com>
62334
62335         * m4/group-member.m4: New file -- extracted from sh-utils'
62336         configure.in.
62337
62338         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
62339         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
62340
62341 1999-02-06  Jim Meyering  <meyering@ascend.com>
62342
62343         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
62344         * m4/fnmatch.m4: Likewise.
62345         * m4/getgroups.m4: Likewise.
62346         * m4/lstat.m4: Likewise.
62347         * m4/malloc.m4: Likewise.
62348         * m4/putenv.m4: Likewise.
62349         * m4/realloc.m4: Likewise.
62350         * m4/regex.m4: Likewise.
62351         * m4/stat.m4: Likewise.
62352         * m4/strftime.m4: Likewise.
62353         Suggestion from Alain Magloire.
62354
62355         * m4/chown.m4: Use `.$ac_objext', not `.o'.
62356         * m4/fnmatch.m4: Likewise.
62357         * m4/getgroups.m4: Likewise.
62358         * m4/getline.m4: Likewise.
62359         * m4/lstat.m4: Likewise.
62360         * m4/malloc.m4: Likewise.
62361         * m4/memcmp.m4: Likewise.
62362         * m4/putenv.m4: Likewise.
62363         * m4/realloc.m4: Likewise.
62364         * m4/regex.m4: Likewise.
62365         * m4/stat.m4: Likewise.
62366         * m4/strftime.m4: Likewise.
62367         Suggestion from Alain Magloire.
62368
62369         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
62370         an argument.
62371
62372         * m4/regex.m4: Add a run-time Test for proper operation of
62373         re_compile_pattern.
62374
62375 1999-01-31  Jim Meyering  <meyering@ascend.com>
62376
62377         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
62378
62379 1999-01-30  Jim Meyering  <meyering@ascend.com>
62380
62381         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
62382
62383         * m4/jm-mktime.m4: Make this a wrapper around the official
62384         AM_FUNC_MKTIME rather than my private copy, now that the official one
62385         is up to date.
62386         * m4/mktime.m4: Remove file.
62387
62388         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
62389         * m4/uptime.m4: Likewise.
62390         * m4/uintmax_t.m4: Likewise.
62391
62392 1999-01-28  Jim Meyering  <meyering@ascend.com>
62393
62394         * m4/jm-macros.m4: Use jm_AFS.
62395         * m4/afs.m4: New file (from fileutils' configure.in).
62396
62397         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
62398         * m4/chown.m4: Likewise.
62399         * m4/d-ino.m4: Likewise.
62400         * m4/d-type.m4: Likewise.
62401         * m4/fnmatch.m4: Likewise.
62402         * m4/getgroups.m4: Likewise.
62403         * m4/gettext.m4: Likewise.
62404         * m4/jm-mktime.m4: Likewise.
62405         * m4/jm-winsz2.m4: Likewise.
62406         * m4/lcmessage.m4: Likewise.
62407         * m4/ls-mntd-fs.m4: Likewise.
62408         * m4/malloc.m4: Likewise.
62409         * m4/memcmp.m4: Likewise.
62410         * m4/putenv.m4: Likewise.
62411         * m4/realloc.m4: Likewise.
62412         * m4/st_mtim.m4: Likewise.
62413         * m4/strftime.m4: Likewise.
62414
62415 1999-01-16  Jim Meyering  <meyering@ascend.com>
62416
62417         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
62418         (ARGMATCH_DIE_DECL): Define.
62419
62420 1999-01-12  Jim Meyering  <meyering@ascend.com>
62421
62422         * m4/Makefile.am.in: Rewrite to avoid using fmt.
62423         Reported by Lars Hecking.
62424
62425 1999-01-10  Jim Meyering  <meyering@ascend.com>
62426
62427         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
62428         gross kludge.
62429         * m4/inttypes_h.m4: Likewise.
62430         * m4/lstat.m4: Likewise.
62431         * m4/malloc.m4: Likewise.
62432         * m4/readdir.m4: Likewise.
62433         * m4/realloc.m4: Likewise.
62434         * m4/st_dm_mode.m4: Likewise.
62435         * m4/stat.m4: Likewise.
62436         * m4/utimbuf.m4: Likewise.
62437         * m4/utimes.m4: Likewise.
62438
62439         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
62440         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
62441         comments in config.h.in are meaningful.
62442
62443         * m4/jm-macros.m4: Require autoconf-2.13 here.
62444
62445         * m4/regex.m4: By default, don't use the included regex.c on systems
62446         with glibc 2.  Suggestion from Uli Drepper.
62447
62448 1999-01-02  Jim Meyering  <meyering@ascend.com>
62449
62450         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
62451
62452 1998-12-18  Jim Meyering  <meyering@ascend.com>
62453
62454         * m4/Makefile.am.in (Makefile.am): Simplify rule.
62455         Based on a suggestion from Lars Hecking.
62456
62457 1998-11-16  Paul Eggert  <eggert@twinsun.com>
62458
62459         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
62460
62461 1998-11-16  Jim Meyering  <meyering@ascend.com>
62462
62463         * m4/lfs.m4: Double-quote the `uname...` expression.
62464
62465 1998-11-14  Jim Meyering  <meyering@ascend.com>
62466
62467         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
62468         * m4/stat.m4: Likewise.
62469
62470 1998-11-03  Jim Meyering  <meyering@ascend.com>
62471
62472         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
62473         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
62474
62475 1998-10-18  Jim Meyering  <meyering@ascend.com>
62476
62477         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
62478
62479 1998-10-17  Jim Meyering  <meyering@ascend.com>
62480
62481         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
62482         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
62483         calls for those previously hard-coded headers.  Instead, take a new
62484         parameter.
62485         (jm_CHECK_DECLARATIONS): Reflect interface change.
62486         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
62487         (jm_CHECK_DECL_LOCALTIME_R): New macro.
62488
62489         * m4/mktime.m4: Test for spring-forward gap before long-running test.
62490
62491 1998-10-14  Jim Meyering  <meyering@ascend.com>
62492
62493         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
62494         instead of "TZ=America/Vancouver".  From Paul Eggert.
62495
62496 1998-10-11  Jim Meyering  <meyering@ascend.com>
62497
62498         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
62499         This adds a test for a recently added compatibility fix for mktime.c.
62500         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
62501
62502 1998-09-27  Jim Meyering  <meyering@ascend.com>
62503
62504         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
62505
62506         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
62507         ../configure.in, including a change from Gordon Matzigkeit to allow
62508         cross-compiling for the Hurd.
62509
62510         * m4/glibc.m4: New file/macro to test for the GNU C Library
62511         versions 1 and 2.  From Gordon Matzigkeit.
62512         Indent.
62513
62514 1998-09-21  Jim Meyering  <meyering@ascend.com>
62515
62516         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
62517
62518 1998-08-18  Paul Eggert  <eggert@twinsun.com>
62519
62520         Port nanosecond-resolution times to UnixWare 2.1.2 and
62521         pedantic Solaris 2.6.
62522
62523         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
62524         AC_STRUCT_ST_MTIM.
62525         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
62526         Generate name of ns member, instead of just 1 or undef.
62527         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
62528
62529 1998-08-15  Jim Meyering  <meyering@ascend.com>
62530
62531         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
62532         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
62533         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
62534         instead of jm_TYPE_SSIZE_T.
62535
62536 1998-08-12  Jim Meyering  <meyering@ascend.com>
62537
62538         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
62539
62540 1998-08-02  Jim Meyering  <meyering@ascend.com>
62541
62542         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
62543         in acconfig.h manually.
62544
62545 1998-07-31  Paul Eggert  <eggert@twinsun.com>
62546
62547         * m4/st_mtim.m4: New file.
62548
62549 1998-07-28  Jim Meyering  <meyering@ascend.com>
62550
62551         * m4/utimes.m4: Undef stat.
62552
62553 1998-07-25  Jim Meyering  <meyering@ascend.com>
62554
62555         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
62556         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
62557
62558 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
62559
62560         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
62561         uid and gid actually remain unchanged.
62562
62563 1998-07-07  Jim Meyering  <meyering@ascend.com>
62564
62565         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
62566
62567 1998-07-04  Jim Meyering  <meyering@ascend.com>
62568
62569         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
62570         to prove that this macro can be used in packages without regex.c.
62571
62572 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
62573
62574         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
62575         is to be used.
62576
62577 1998-07-03  Jim Meyering  <meyering@ascend.com>
62578
62579         * m4/gettext.m4: Add -lintl if it's found to be necessary.
62580
62581         * m4/gettext.m4: New file -- from gettext-0.10.35.
62582         * m4/lcmessage.m4: Likewise.
62583         * m4/progtest.m4: Likewise.
62584
62585         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
62586         * m4/jm-macros.m4: Require the new macro.
62587
62588 1998-06-29  Jim Meyering  <meyering@ascend.com>
62589
62590         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
62591         for the definition of NGROUPS (used in a system header included
62592         by sys/mount.h).
62593
62594 1998-06-28  Jim Meyering  <meyering@ascend.com>
62595
62596         * m4/ls-mntd-fs.m4: New file.
62597         * m4/fstypename.m4: New file.
62598
62599         * m4/jm-macros.m4: Require the new macro.
62600         * m4/jm-glibc-io.m4: New file.
62601
62602 1998-05-19  Jim Meyering  <meyering@ascend.com>
62603
62604         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
62605         * m4/lchown.m4: New file.
62606
62607         * m4/Makefile.am.in: New file.
62608         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
62609
62610 1998-05-14  Jim Meyering  <meyering@ascend.com>
62611
62612         * m4/Makefile.am (EXTRA_DIST): Add them.
62613         * m4/jm-macros.m4: New file.
62614         * m4/utimbuf.m4: New file.
62615
62616 1998-05-12  Jim Meyering  <meyering@ascend.com>
62617
62618         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
62619
62620 1998-05-11  Jim Meyering  <meyering@ascend.com>
62621
62622         * m4/isc-posix.m4: New file.
62623
62624 1998-05-10  Jim Meyering  <meyering@ascend.com>
62625
62626         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
62627
62628 1998-05-09  Jim Meyering  <meyering@ascend.com>
62629
62630         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
62631         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
62632         with automake.
62633
62634         * m4/ssize_t.m4: New file.
62635         * m4/mktime.m4: Remove file -- the new automake has this now.
62636
62637 1998-04-26  Jim Meyering  <meyering@ascend.com>
62638
62639         * m4/assert.m4: New file.
62640         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
62641
62642 1998-04-05  Jim Meyering  <meyering@ascend.com>
62643
62644         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
62645         (jm_PREREQ): Use it here.
62646
62647 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
62648
62649         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
62650         in acconfig.h.
62651
62652 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
62653
62654         * m4/prereq.m4: New file.
62655         * m4/error.m4: New file.
62656         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
62657
62658 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
62659
62660         * m4/getline.m4: Don't set am_cv_func_working_getline before the
62661         cache-check for the same variable -- that defeated the purpose of
62662         the test; the test program was never run.  This was a problem only
62663         on systems with losing getline functions -- HP-UX 10.20 is one.
62664         Reported by Bjorn Helgaas.
62665
62666 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
62667
62668         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
62669
62670 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
62671
62672         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
62673
62674         * m4/const.m4: New file.  Use an initializer in this declaration
62675         typedef int charset[2]; const charset x;
62676         Reported by Bob Glickstein.
62677
62678 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
62679
62680         * m4/chown.m4: Fix reversed types on -1 args to chown.
62681         From Kaveh Ghazi.
62682
62683 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
62684
62685         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
62686         Add lseek and memchr.
62687
62688         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
62689         T.E.Dickey <dickey@clark.net> said that some older preprocessors
62690         have a 20-character limit on names.
62691
62692 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
62693
62694         * m4/inttypes_h.m4: New file.
62695         * m4/uintmax_t.m4: New file.
62696         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
62697
62698
62699         -----
62700
62701         Local Variables:
62702         coding: utf-8
62703         End:
62704
62705         Copyright (C) 1997-2010 Free Software Foundation, Inc.
62706
62707         Copying and distribution of this file, with or without
62708         modification, are permitted provided the copyright notice
62709         and this notice are preserved.